Initial commit
This commit is contained in:
11
code/apictimer_calibrate.cpp
Normal file
11
code/apictimer_calibrate.cpp
Normal file
@ -0,0 +1,11 @@
|
||||
// Excerpt from the ApicTimer::calibrate function
|
||||
uint32_t ApicTimer::calibrate() {
|
||||
// Start the timer with a large counter
|
||||
LocalApic::writeDoubleWord(LocalApic::TIMER_INITIAL, 0xFFFFFFFF);
|
||||
|
||||
// Wait a little
|
||||
Pit::earlyDelay(10'000);
|
||||
|
||||
// Calculate how often the timer ticked in one millisecond
|
||||
return (0xFFFFFFFF - LocalApic::readDoubleWord(LocalApic::TIMER_CURRENT)) / 10;
|
||||
}
|
||||
Reference in New Issue
Block a user