Rev 435 | Rev 501 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 435 | Rev 456 | ||
---|---|---|---|
Line 43... | Line 43... | ||
43 | /* initialize Interval Timer external interrupt vector */ |
43 | /* initialize Interval Timer external interrupt vector */ |
44 | itv.value = itv_read(); |
44 | itv.value = itv_read(); |
45 | itv.vector = INTERRUPT_TIMER; |
45 | itv.vector = INTERRUPT_TIMER; |
46 | itv.m = 0; |
46 | itv.m = 0; |
47 | itv_write(itv.value); |
47 | itv_write(itv.value); |
48 | srlz_d(); |
- | |
49 | 48 | ||
50 | /* set Interval Timer Counter to zero */ |
49 | /* set Interval Timer Counter to zero */ |
51 | itc_write(0); |
50 | itc_write(0); |
52 | srlz_d(); |
- | |
53 | 51 | ||
54 | /* generate first Interval Timer interrupt in IT_DELTA ticks */ |
52 | /* generate first Interval Timer interrupt in IT_DELTA ticks */ |
55 | itm_write(IT_DELTA); |
53 | itm_write(IT_DELTA); |
- | 54 | ||
- | 55 | /* propagate changes */ |
|
56 | srlz_d(); |
56 | srlz_d(); |
57 | } |
57 | } |
58 | 58 | ||
59 | /** Process Interval Timer interrupt. */ |
59 | /** Process Interval Timer interrupt. */ |
60 | void it_interrupt(void) |
60 | void it_interrupt(void) |
61 | { |
61 | { |
62 | eoi_write(EOI); |
62 | eoi_write(EOI); |
63 | itm_write(itc_read() + IT_DELTA); /* program next interruption */ |
63 | itm_write(itc_read() + IT_DELTA); /* program next interruption */ |
- | 64 | srlz_d(); /* propagate changes */ |
|
64 | clock(); |
65 | clock(); |
65 | } |
66 | } |