1 IMPLEMENTATION[{ia32,amd64}-rtc_timer]:
10 IMPLEMENT inline int Timer::irq_line() { return 8; }
16 Irq_chip *c = Irq_chip::hw_chip;
17 unsigned in = c->legacy_override(8);
18 printf("Using the RTC on IRQ %d (%sHz) for scheduling\n", in,
19 #ifdef CONFIG_SLOW_RTC
26 // set up timer interrupt (~ 1ms)
29 // make sure that PIT does pull its interrupt line
32 // from now we can save energy in getchar()
33 Config::getchar_does_hlt_works_ok = Config::hlt_works_ok;
36 IMPLEMENT inline NEEDS["rtc.h","irq_pin.h"]
40 // periodic scheduling is triggered by irq 8 connected with RTC
41 Rtc::irq->pin()->mask();
43 Rtc::irq->pin()->unmask();
46 IMPLEMENT inline NEEDS["irq_pin.h"]
50 Rtc::irq->pin()->unmask();
53 IMPLEMENT inline NEEDS["irq_pin.h"]
57 Rtc::irq->pin()->mask();
62 Timer::update_timer(Unsigned64)
64 // does nothing in periodic mode