Author: ros-arm-bringup Date: Sun Jul 13 22:17:57 2008 New Revision: 34491
URL: http://svn.reactos.org/svn/reactos?rev=34491&view=rev Log: - Enable timer expiration code. - Timers now work, along with full scheduling, dispatching and context switching, so our 5 second wait in init.c allows other threads to runs, then completes appropriately.
Modified: trunk/reactos/ntoskrnl/ke/arm/time.c
Modified: trunk/reactos/ntoskrnl/ke/arm/time.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/arm/time.c?rev=... ============================================================================== --- trunk/reactos/ntoskrnl/ke/arm/time.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ke/arm/time.c [iso-8859-1] Sun Jul 13 22:17:57 2008 @@ -109,13 +109,17 @@ if (KiTimerTableListHead[Hand].Time.QuadPart <= InterruptTime.QuadPart) { // - // Timer has expired! - // - DPRINT1("hand: %d\n", Hand); - DPRINT1("Interrupt time: %I64x\n", InterruptTime.QuadPart); - DPRINT1("TIMER EXPIRATION: %I64x!!!\n", - KiTimerTableListHead[Hand].Time.QuadPart); - while (TRUE); + // Check if we are already doing expiration + // + if (!Prcb->TimerRequest) + { + // + // Request a DPC to handle this + // + Prcb->TimerRequest = TrapFrame->SvcSp; + Prcb->TimerHand = Hand; + HalRequestSoftwareInterrupt(DISPATCH_LEVEL); + } }
//