[ros-diffs] [ion] 24962: - There's no such thing as Phase 2 HAL init. - Only map the 0x0 physical address in HalpReboot when enabling warm-reboot, there's no need to map it during init and keep it allocated during the whole time.

ion at svn.reactos.org ion at svn.reactos.org
Wed Nov 29 08:32:28 CET 2006


Author: ion
Date: Wed Nov 29 10:32:27 2006
New Revision: 24962

URL: http://svn.reactos.org/svn/reactos?rev=24962&view=rev
Log:
- There's no such thing as Phase 2 HAL init.
- Only map the 0x0 physical address in HalpReboot when enabling warm-reboot, there's no need to map it during init and keep it allocated during the whole time.

Modified:
    trunk/reactos/hal/halx86/generic/halinit.c
    trunk/reactos/hal/halx86/generic/reboot.c
    trunk/reactos/ntoskrnl/ex/init.c

Modified: trunk/reactos/hal/halx86/generic/halinit.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/generic/halinit.c?rev=24962&r1=24961&r2=24962&view=diff
==============================================================================
--- trunk/reactos/hal/halx86/generic/halinit.c (original)
+++ trunk/reactos/hal/halx86/generic/halinit.c Wed Nov 29 10:32:27 2006
@@ -14,7 +14,6 @@
 
 /* GLOBALS *******************************************************************/
 
-PVOID HalpZeroPageMapping = NULL;
 HALP_HOOKS HalpHooks;
 BOOLEAN HalpPciLockSettings;
 
@@ -50,7 +49,6 @@
 HalInitSystem(IN ULONG BootPhase,
               IN PLOADER_PARAMETER_BLOCK LoaderBlock)
 {
-    PHYSICAL_ADDRESS Null = {{0}};
     PKPRCB Prcb = KeGetCurrentPrcb();
 
     /* Check the boot phase */
@@ -118,10 +116,6 @@
         /* Initialize DMA. NT does this in Phase 0 */
         HalpInitDma();
     }
-    else if (BootPhase == 2)
-    {
-        HalpZeroPageMapping = MmMapIoSpace(Null, PAGE_SIZE, MmNonCached);
-    }
 
     /* All done, return */
     return TRUE;

Modified: trunk/reactos/hal/halx86/generic/reboot.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/generic/reboot.c?rev=24962&r1=24961&r2=24962&view=diff
==============================================================================
--- trunk/reactos/hal/halx86/generic/reboot.c (original)
+++ trunk/reactos/hal/halx86/generic/reboot.c Wed Nov 29 10:32:27 2006
@@ -28,10 +28,12 @@
 HalpReboot(VOID)
 {
     UCHAR Data;
-    extern PVOID HalpZeroPageMapping;
+    PVOID HalpZeroPageMapping;
+    PHYSICAL_ADDRESS Null = {{0}};
 
     /* Enable warm reboot */
-    ((PUSHORT)HalpZeroPageMapping)[0x472] = 0x1234;
+    HalpZeroPageMapping = MmMapIoSpace(Null, PAGE_SIZE, MmNonCached);
+    ((PUSHORT)HalpZeroPageMapping)[0x239] = 0x1234;
 
     /* FIXME: Lock CMOS Access */
 

Modified: trunk/reactos/ntoskrnl/ex/init.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ex/init.c?rev=24962&r1=24961&r2=24962&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/ex/init.c (original)
+++ trunk/reactos/ntoskrnl/ex/init.c Wed Nov 29 10:32:27 2006
@@ -840,7 +840,6 @@
     if (!NoGuiBoot) InbvDisplayBootLogo();
 
     /* Clear the screen to blue and display the boot notice and debug status */
-    HalInitSystem(2, KeLoaderBlock);
     if (NoGuiBoot) ExpDisplayNotice();
     KdInitSystem(2, KeLoaderBlock);
 




More information about the Ros-diffs mailing list