- Replace broken implementation of HalpCalibrateStallExecution with a new implementat...
authorStefan Ginsberg <stefanginsberg@gmail.com>
Tue, 27 Oct 2009 01:03:41 +0000 (01:03 +0000)
committerStefan Ginsberg <stefanginsberg@gmail.com>
Tue, 27 Oct 2009 01:03:41 +0000 (01:03 +0000)
commit838ed7f31a1b0f0dd6908772a3536bdd75a01ae3
tree606aeac6f6c8d81fafc10e9284832e6cbc6741f6
parent47b50e1e0b4ece2eb2ed5aa193819f8fd21200b0
- Replace broken implementation of HalpCalibrateStallExecution with a new implementation by a mysterious HAL ninja and myself. The old implementation calculated the stall count factor incorrectly and produced bogus results that were off by several thousand, and varied by as much for each boot, and can best be described as "rand() made complicated". The new implementation installs its own RTC interrupt handler to accurately calculate the stall scale factor, all done in assembler instead of broken C. Fixes the hang at boot when initializing Uniata as stalls no longer takes 10 times or more as long to execute then they should.

svn path=/trunk/; revision=43789
reactos/hal/halx86/generic/halinit.c
reactos/hal/halx86/generic/systimer.S
reactos/hal/halx86/generic/timer.c