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.... ============================================================================== --- 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... ============================================================================== --- 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=2496... ============================================================================== --- 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);