[ros-diffs] [ros-arm-bringup] 34487: - Force a 5 second wait before loading drivers, on ARM. - Context switching doesn't really work -- but we've been lucky since we're stuck on a priority 31 thread. - Instead of worrying about this later when the system will be fully operational, this forces us to expose these bugs, and to make sure everything works. - This will stress our context switching, waiting, unwaiting and scheduling code on ARM but once it all works well, after 5 seconds we'll be back on track.

ros-arm-bringup at svn.reactos.org ros-arm-bringup at svn.reactos.org
Mon Jul 14 03:41:44 CEST 2008


Author: ros-arm-bringup
Date: Sun Jul 13 20:41:44 2008
New Revision: 34487

URL: http://svn.reactos.org/svn/reactos?rev=34487&view=rev
Log:
- Force a 5 second wait before loading drivers, on ARM.
- Context switching doesn't really work -- but we've been lucky since we're stuck on a priority 31 thread.
- Instead of worrying about this later when the system will be fully operational, this forces us to expose these bugs, and to make sure everything works.
- This will stress our context switching, waiting, unwaiting and scheduling code on ARM but once it all works well, after 5 seconds we'll be back on track.

Modified:
    trunk/reactos/ntoskrnl/ex/init.c

Modified: trunk/reactos/ntoskrnl/ex/init.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ex/init.c?rev=34487&r1=34486&r2=34487&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/ex/init.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ex/init.c [iso-8859-1] Sun Jul 13 20:41:44 2008
@@ -1703,6 +1703,17 @@
 
     /* Initialize in-place execution support */
     XIPInit(LoaderBlock);
+    
+#ifdef _M_ARM
+    //
+    // ARM: Force a wait so we can test thread scheduling, timing and context switching
+    //
+    DPRINT1("Beginning 5 second wait...\n");
+    Timeout.QuadPart = Int32x32To64(5, -10000000);
+    KeDelayExecutionThread(KernelMode, FALSE, &Timeout);
+    DPRINT1("Wait complete\n");
+    while (TRUE);
+#endif
 
     /* Set maximum update to 75% */
     InbvSetProgressBarSubset(25, 75);



More information about the Ros-diffs mailing list