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=344…
==============================================================================
--- 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);