Subversion Repositories HelenOS

Rev

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

Rev 2089 Rev 2107
Line 111... Line 111...
111
        drift -= cp0_compare_value;
111
        drift -= cp0_compare_value;
112
        CPU->missed_clock_ticks++;
112
        CPU->missed_clock_ticks++;
113
    }
113
    }
114
    nextcount = cp0_count_read() + cp0_compare_value - drift;
114
    nextcount = cp0_count_read() + cp0_compare_value - drift;
115
    cp0_compare_write(nextcount);
115
    cp0_compare_write(nextcount);
-
 
116
 
-
 
117
    /*
-
 
118
     * We are holding a lock which prevents preemption.
-
 
119
     * Release the lock, call clock() and reacquire the lock again.
-
 
120
     */
-
 
121
    spinlock_unlock(&irq->lock);
116
    clock();
122
    clock();
-
 
123
    spinlock_lock(&irq->lock);
117
   
124
   
118
    if (virtual_timer_fnc != NULL)
125
    if (virtual_timer_fnc != NULL)
119
        virtual_timer_fnc();
126
        virtual_timer_fnc();
120
}
127
}
121
 
128