blob: d020de1f73c5c12da8bb323873d9617157b6c997 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
/**
* @file
*
* PIT - Programmable Interval Timer
*
* config out timer on channel 0 : mode 2 (sys timer)
* * http://en.wikipedia.org/wiki/Intel_8253#Control_Word_Register
* * http://www.brokenthorn.com/Resources/OSDevPit.html
* int0 will be triggered ~25 times a second.
*
* The most magic is performed in pit_interrupt_handler which calls
* the c function responsible for task switching doing vary bad ass
* magic...
*/
#include <stdint.h>
/** Init PIT - 25 times a second*/
void asm_pit_init();
/** install this interrupt handler to your Interrupt Vector Table */
void asm_pit_tick();
/** get number of ticks */
uint32_t asm_pit_get_ticks();
|