From d2936e6ab03506c003f2053d9a0cfe1605389491 Mon Sep 17 00:00:00 2001
From: Jukka Heinonen <jhei@iki.fi>
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,
-- 
GitLab