Subversion Repositories HelenOS

Rev

Rev 2633 | Rev 3228 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2633 Rev 2634
Line 108... Line 108...
108
 
108
 
109
static void timer_irq_handler(irq_t *irq, void *arg, ...)
109
static void timer_irq_handler(irq_t *irq, void *arg, ...)
110
{
110
{
111
    unsigned long drift;
111
    unsigned long drift;
112
   
112
   
113
    if (cp0_count_read() < lastcount) {
113
    if (cp0_count_read() < lastcount)
114
        /* Count overflow detection */
114
        /* Count overflow detected */
115
        count_hi++;
115
        count_hi++;
116
        lastcount = cp0_count_read();
116
    lastcount = cp0_count_read();
117
    }
-
 
118
   
117
   
119
    drift = cp0_count_read() - nextcount;
118
    drift = cp0_count_read() - nextcount;
120
    while (drift > cp0_compare_value) {
119
    while (drift > cp0_compare_value) {
121
        drift -= cp0_compare_value;
120
        drift -= cp0_compare_value;
122
        CPU->missed_clock_ticks++;
121
        CPU->missed_clock_ticks++;