[ros-diffs] [pschweitzer] 49044: [NTOSKRNL] On boot, while loading drivers, make starting Loader Block available to the whole kernel to let drivers calling on-boot functions that may need it. One of them will ...

pschweitzer at svn.reactos.org pschweitzer at svn.reactos.org
Thu Oct 7 20:20:11 UTC 2010


Author: pschweitzer
Date: Thu Oct  7 20:20:10 2010
New Revision: 49044

URL: http://svn.reactos.org/svn/reactos?rev=49044&view=rev
Log:
[NTOSKRNL]
On boot, while loading drivers, make starting Loader Block available to the whole kernel to let drivers calling on-boot functions that may need it.
One of them will be implemented later.

Modified:
    trunk/reactos/ntoskrnl/io/iomgr/iomgr.c

Modified: trunk/reactos/ntoskrnl/io/iomgr/iomgr.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/iomgr.c?rev=49044&r1=49043&r2=49044&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/io/iomgr/iomgr.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/io/iomgr/iomgr.c [iso-8859-1] Thu Oct  7 20:20:10 2010
@@ -82,6 +82,8 @@
 GENERAL_LOOKASIDE IopMdlLookasideList;
 extern GENERAL_LOOKASIDE IoCompletionPacketLookaside;
 
+PLOADER_PARAMETER_BLOCK IopLoaderBlock;
+
 #if defined (ALLOC_PRAGMA)
 #pragma alloc_text(INIT, IoInitSystem)
 #endif
@@ -493,6 +495,9 @@
     /* Initialize HAL Root Bus Driver */
     HalInitPnpDriver();
 
+    /* Make loader block available for the whole kernel */
+    IopLoaderBlock = LoaderBlock;
+
     /* Load boot start drivers */
     IopInitializeBootDrivers();
 
@@ -506,6 +511,9 @@
         IopStartRamdisk(LoaderBlock);
     }
 
+    /* No one should need loader block any longer */
+    IopLoaderBlock = NULL;
+
     /* Create ARC names for boot devices */
     if (!NT_SUCCESS(IopCreateArcNames(LoaderBlock))) return FALSE;
 




More information about the Ros-diffs mailing list