Subversion Repositories HelenOS-historic

Rev

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
}