]> rtime.felk.cvut.cz Git - l4.git/blob - kernel/fiasco/src/kern/ia32/timer-pit.cpp
55217b36a23fb1218117ee9bf162de1a34dd3953
[l4.git] / kernel / fiasco / src / kern / ia32 / timer-pit.cpp
1 IMPLEMENTATION[{ia32,amd64}-pit_timer]:
2
3 #include "irq_chip.h"
4 #include "pit.h"
5
6 #include <cstdio>
7
8 IMPLEMENT
9 void
10 Timer::init(unsigned)
11 {
12   printf("Using the PIT (i8254) on IRQ %d for scheduling\n", irq());
13
14   // set up timer interrupt (~ 1ms)
15   Pit::init();
16 }
17
18 PUBLIC static inline
19 unsigned Timer::irq() { return 0; }
20
21 PUBLIC static inline NEEDS["irq_chip.h"]
22 unsigned Timer::irq_mode()
23 { return Irq_base::Trigger_edge | Irq_base::Polarity_high; }
24
25 PUBLIC static inline
26 void
27 Timer::acknowledge()
28 {}
29
30 IMPLEMENT inline
31 void
32 Timer::update_timer(Unsigned64)
33 {
34   // does nothing in periodic mode
35 }