mirror of
https://github.com/reactos/reactos.git
synced 2025-03-27 15:40:45 +00:00
[NTVDM]: Merge Bios32 ResetBop with POST function.
svn path=/trunk/; revision=67602
This commit is contained in:
parent
b86604cdde
commit
410c54e5f9
1 changed files with 10 additions and 18 deletions
|
@ -635,8 +635,9 @@ static VOID InitializeBiosInfo(VOID)
|
||||||
/*
|
/*
|
||||||
* The BIOS POST (Power On-Self Test)
|
* The BIOS POST (Power On-Self Test)
|
||||||
*/
|
*/
|
||||||
VOID
|
static VOID
|
||||||
Bios32Post(VOID)
|
WINAPI
|
||||||
|
Bios32Post(LPWORD Stack)
|
||||||
{
|
{
|
||||||
#if 0
|
#if 0
|
||||||
BOOLEAN Success;
|
BOOLEAN Success;
|
||||||
|
@ -645,6 +646,9 @@ Bios32Post(VOID)
|
||||||
|
|
||||||
DPRINT("Bios32Post\n");
|
DPRINT("Bios32Post\n");
|
||||||
|
|
||||||
|
/* Disable interrupts */
|
||||||
|
setIF(0);
|
||||||
|
|
||||||
/* Initialize the stack */
|
/* Initialize the stack */
|
||||||
// That's what says IBM... (stack at 30:00FF going downwards)
|
// That's what says IBM... (stack at 30:00FF going downwards)
|
||||||
// setSS(0x0000);
|
// setSS(0x0000);
|
||||||
|
@ -686,7 +690,7 @@ Bios32Post(VOID)
|
||||||
case 0x04:
|
case 0x04:
|
||||||
{
|
{
|
||||||
DPRINT1("Fast restart to Bootstrap Loader...\n");
|
DPRINT1("Fast restart to Bootstrap Loader...\n");
|
||||||
return;
|
goto Quit; // Reenable interrupts and exit.
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Flush keyboard, issue an EOI... */
|
/* Flush keyboard, issue an EOI... */
|
||||||
|
@ -711,7 +715,7 @@ Bios32Post(VOID)
|
||||||
HIWORD(Bda->ResumeEntryPoint),
|
HIWORD(Bda->ResumeEntryPoint),
|
||||||
LOWORD(Bda->ResumeEntryPoint));
|
LOWORD(Bda->ResumeEntryPoint));
|
||||||
|
|
||||||
/* Position execution pointers to Bda->ResumeEntryPoint and return */
|
/* Position execution pointers and return with interrupts disabled */
|
||||||
setCS(HIWORD(Bda->ResumeEntryPoint));
|
setCS(HIWORD(Bda->ResumeEntryPoint));
|
||||||
setIP(LOWORD(Bda->ResumeEntryPoint));
|
setIP(LOWORD(Bda->ResumeEntryPoint));
|
||||||
return;
|
return;
|
||||||
|
@ -764,8 +768,6 @@ Bios32Post(VOID)
|
||||||
/* Initialize the Keyboard, Video and Mouse BIOS */
|
/* Initialize the Keyboard, Video and Mouse BIOS */
|
||||||
if (!KbdBios32Initialize() || !VidBios32Initialize() || !MouseBios32Initialize())
|
if (!KbdBios32Initialize() || !VidBios32Initialize() || !MouseBios32Initialize())
|
||||||
{
|
{
|
||||||
// return FALSE;
|
|
||||||
|
|
||||||
/* Stop the VDM */
|
/* Stop the VDM */
|
||||||
EmulatorTerminate();
|
EmulatorTerminate();
|
||||||
return;
|
return;
|
||||||
|
@ -796,18 +798,8 @@ Bios32Post(VOID)
|
||||||
* the rest of the POST code is executed, typically calling INT 19h
|
* the rest of the POST code is executed, typically calling INT 19h
|
||||||
* to boot up the OS.
|
* to boot up the OS.
|
||||||
*/
|
*/
|
||||||
}
|
|
||||||
|
|
||||||
static VOID WINAPI Bios32ResetBop(LPWORD Stack)
|
|
||||||
{
|
|
||||||
DPRINT("Bios32ResetBop\n");
|
|
||||||
|
|
||||||
/* Disable interrupts */
|
|
||||||
setIF(0);
|
|
||||||
|
|
||||||
/* Do the POST */
|
|
||||||
Bios32Post();
|
|
||||||
|
|
||||||
|
Quit:
|
||||||
/* Enable interrupts */
|
/* Enable interrupts */
|
||||||
setIF(1);
|
setIF(1);
|
||||||
}
|
}
|
||||||
|
@ -839,7 +831,7 @@ BOOLEAN Bios32Initialize(VOID)
|
||||||
*(PBYTE)(SEG_OFF_TO_PTR(0xF000, 0xFFFE)) = BIOS_MODEL;
|
*(PBYTE)(SEG_OFF_TO_PTR(0xF000, 0xFFFE)) = BIOS_MODEL;
|
||||||
|
|
||||||
/* Redefine our POST function */
|
/* Redefine our POST function */
|
||||||
RegisterBop(BOP_RESET, Bios32ResetBop);
|
RegisterBop(BOP_RESET, Bios32Post);
|
||||||
|
|
||||||
/* We are done */
|
/* We are done */
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
Loading…
Reference in a new issue