Author: fireball Date: Fri Sep 10 13:15:51 2010 New Revision: 48731
URL: http://svn.reactos.org/svn/reactos?rev=48731&view=rev Log: [HAL] - Stub support for future timer latency watchdog. - Change older-style comments to standard ReactOS commenting style.
Modified: trunk/reactos/hal/halx86/generic/i386/systimer.S trunk/reactos/hal/halx86/generic/timer.c
Modified: trunk/reactos/hal/halx86/generic/i386/systimer.S URL: http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/generic/i386/sys... ============================================================================== --- trunk/reactos/hal/halx86/generic/i386/systimer.S [iso-8859-1] (original) +++ trunk/reactos/hal/halx86/generic/i386/systimer.S [iso-8859-1] Fri Sep 10 13:15:51 2010 @@ -20,9 +20,6 @@ _HalpPerfCounterHigh: .long 0 _HalpSystemHardwareFlags: .long 0
-_UnhandledMsg: - .asciz "\n\x7\x7!!! Unhandled or Unexpected Code at line: %lx!!!\n" - /* FUNCTIONS *****************************************************************/
.global _HalpCalibrateStallExecution@0 @@ -389,6 +386,9 @@ /* Read 8254 timer */ mov al, 0 out 0x43, al + in al, 0x92 + or al, _HalpPerfCounterCutoff + out 0x92, al jmp $+2 in al, 0x40 jmp $+2
Modified: trunk/reactos/hal/halx86/generic/timer.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/generic/timer.c?... ============================================================================== --- trunk/reactos/hal/halx86/generic/timer.c [iso-8859-1] (original) +++ trunk/reactos/hal/halx86/generic/timer.c [iso-8859-1] Fri Sep 10 13:15:51 2010 @@ -14,6 +14,7 @@
/* GLOBALS *******************************************************************/
+ULONG HalpPerfCounterCutoff; BOOLEAN HalpClockSetMSRate; ULONG HalpCurrentTimeIncrement; ULONG HalpCurrentRollOver; @@ -71,34 +72,26 @@ Flags = __readeflags(); _disable();
- // - // Program the PIT for binary mode - // + /* Program the PIT for binary mode */ TimerControl.BcdMode = FALSE;
- // - // Program the PIT to generate a normal rate wave (Mode 3) on channel 0. - // Channel 0 is used for the IRQ0 clock interval timer, and channel - // 1 is used for DRAM refresh. - // - // Mode 2 gives much better accuracy than Mode 3. - // + /* + * Program the PIT to generate a normal rate wave (Mode 3) on channel 0. + * Channel 0 is used for the IRQ0 clock interval timer, and channel + * 1 is used for DRAM refresh. + * + * Mode 2 gives much better accuracy than Mode 3. + */ TimerControl.OperatingMode = PitOperatingMode2; TimerControl.Channel = PitChannel0;
- // - // Set the access mode that we'll use to program the reload value. - // + /* Set the access mode that we'll use to program the reload value */ TimerControl.AccessMode = PitAccessModeLowHigh;
- // - // Now write the programming bits - // + /* Now write the programming bits */ __outbyte(TIMER_CONTROL_PORT, TimerControl.Bits);
- // - // Next we write the reload value for channel 0 - // + /* Next we write the reload value for channel 0 */ __outbyte(TIMER_CHANNEL0_DATA_PORT, RollOver & 0xFF); __outbyte(TIMER_CHANNEL0_DATA_PORT, RollOver >> 8);
@@ -125,6 +118,7 @@ { /* Update the performance counter */ HalpPerfCounter.QuadPart += HalpCurrentRollOver; + HalpPerfCounterCutoff = KiEnableTimerWatchdog;
/* Check if someone changed the time rate */ if (HalpClockSetMSRate)