From d2936e6ab03506c003f2053d9a0cfe1605389491 Mon Sep 17 00:00:00 2001 From: Jukka Heinonen Date: Sat, 4 Oct 2003 03:06:18 +0000 Subject: [PATCH] Reboot (int19) under DOS now does ExitProcess. Made BIOS reboot vector call int19. --- dlls/kernel/dosmem.c | 3 +++ dlls/winedos/int19.c | 3 ++- dlls/winedos/interrupts.c | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/dlls/kernel/dosmem.c b/dlls/kernel/dosmem.c index 72ce56b3653..d863fbcfca2 100644 --- a/dlls/kernel/dosmem.c +++ b/dlls/kernel/dosmem.c @@ -265,6 +265,9 @@ static void DOSMEM_FillBiosSegments(void) /* BIOS ID */ *(pBiosSys+0xfffe) = 0xfc; + + /* Reboot vector (f000:fff0 or ffff:0000) */ + *(DWORD*)(pBiosSys + 0xfff0) = VM_STUB(0x19); } /*********************************************************************** diff --git a/dlls/winedos/int19.c b/dlls/winedos/int19.c index 3262f6cb9e8..cca68188c3c 100644 --- a/dlls/winedos/int19.c +++ b/dlls/winedos/int19.c @@ -32,5 +32,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(int); */ void WINAPI DOSVM_Int19Handler( CONTEXT86 *context ) { - WARN("Attempted Reboot\n"); + TRACE( "Attempted Reboot\n" ); + ExitProcess(0); } diff --git a/dlls/winedos/interrupts.c b/dlls/winedos/interrupts.c index f981c6d51f7..64ee72c26d4 100644 --- a/dlls/winedos/interrupts.c +++ b/dlls/winedos/interrupts.c @@ -40,7 +40,7 @@ static const INTPROC DOSVM_VectorsBuiltin[] = /* 0C */ 0, 0, 0, 0, /* 10 */ DOSVM_Int10Handler, DOSVM_Int11Handler, DOSVM_Int12Handler, DOSVM_Int13Handler, /* 14 */ 0, DOSVM_Int15Handler, DOSVM_Int16Handler, DOSVM_Int17Handler, - /* 18 */ 0, 0, DOSVM_Int1aHandler, 0, + /* 18 */ 0, DOSVM_Int19Handler, DOSVM_Int1aHandler, 0, /* 1C */ 0, 0, 0, 0, /* 20 */ DOSVM_Int20Handler, DOSVM_Int21Handler, 0, 0, /* 24 */ 0, DOSVM_Int25Handler, DOSVM_Int26Handler, 0,