mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 22:23:05 +00:00
- 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. svn path=/trunk/; revision=24962
This commit is contained in:
parent
9b7daac048
commit
7cd2e3f498
3 changed files with 4 additions and 9 deletions
|
@ -14,7 +14,6 @@
|
||||||
|
|
||||||
/* GLOBALS *******************************************************************/
|
/* GLOBALS *******************************************************************/
|
||||||
|
|
||||||
PVOID HalpZeroPageMapping = NULL;
|
|
||||||
HALP_HOOKS HalpHooks;
|
HALP_HOOKS HalpHooks;
|
||||||
BOOLEAN HalpPciLockSettings;
|
BOOLEAN HalpPciLockSettings;
|
||||||
|
|
||||||
|
@ -50,7 +49,6 @@ NTAPI
|
||||||
HalInitSystem(IN ULONG BootPhase,
|
HalInitSystem(IN ULONG BootPhase,
|
||||||
IN PLOADER_PARAMETER_BLOCK LoaderBlock)
|
IN PLOADER_PARAMETER_BLOCK LoaderBlock)
|
||||||
{
|
{
|
||||||
PHYSICAL_ADDRESS Null = {{0}};
|
|
||||||
PKPRCB Prcb = KeGetCurrentPrcb();
|
PKPRCB Prcb = KeGetCurrentPrcb();
|
||||||
|
|
||||||
/* Check the boot phase */
|
/* Check the boot phase */
|
||||||
|
@ -118,10 +116,6 @@ HalInitSystem(IN ULONG BootPhase,
|
||||||
/* Initialize DMA. NT does this in Phase 0 */
|
/* Initialize DMA. NT does this in Phase 0 */
|
||||||
HalpInitDma();
|
HalpInitDma();
|
||||||
}
|
}
|
||||||
else if (BootPhase == 2)
|
|
||||||
{
|
|
||||||
HalpZeroPageMapping = MmMapIoSpace(Null, PAGE_SIZE, MmNonCached);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* All done, return */
|
/* All done, return */
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
|
@ -28,10 +28,12 @@ NTAPI
|
||||||
HalpReboot(VOID)
|
HalpReboot(VOID)
|
||||||
{
|
{
|
||||||
UCHAR Data;
|
UCHAR Data;
|
||||||
extern PVOID HalpZeroPageMapping;
|
PVOID HalpZeroPageMapping;
|
||||||
|
PHYSICAL_ADDRESS Null = {{0}};
|
||||||
|
|
||||||
/* Enable warm reboot */
|
/* Enable warm reboot */
|
||||||
((PUSHORT)HalpZeroPageMapping)[0x472] = 0x1234;
|
HalpZeroPageMapping = MmMapIoSpace(Null, PAGE_SIZE, MmNonCached);
|
||||||
|
((PUSHORT)HalpZeroPageMapping)[0x239] = 0x1234;
|
||||||
|
|
||||||
/* FIXME: Lock CMOS Access */
|
/* FIXME: Lock CMOS Access */
|
||||||
|
|
||||||
|
|
|
@ -840,7 +840,6 @@ ExPhase2Init(PVOID Context)
|
||||||
if (!NoGuiBoot) InbvDisplayBootLogo();
|
if (!NoGuiBoot) InbvDisplayBootLogo();
|
||||||
|
|
||||||
/* Clear the screen to blue and display the boot notice and debug status */
|
/* Clear the screen to blue and display the boot notice and debug status */
|
||||||
HalInitSystem(2, KeLoaderBlock);
|
|
||||||
if (NoGuiBoot) ExpDisplayNotice();
|
if (NoGuiBoot) ExpDisplayNotice();
|
||||||
KdInitSystem(2, KeLoaderBlock);
|
KdInitSystem(2, KeLoaderBlock);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue