3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS kernel
5 * FILE: ntoskrnl/hal/x86/reboot.c
6 * PURPOSE: Reboot functions.
7 * PROGRAMMER: Eric Kohl (ekohl@abo.rhein-zeitung.de)
13 #include <ddk/ntddk.h>
23 /* enable warm reboot */
24 mem = (BYTE *)(0xd0000000 + 0x0000);
25 // mem = HalMapPhysicalMemory (0, 1);
29 /* disable interrupts */
32 /* disable periodic interrupt (RTC) */
33 WRITE_PORT_UCHAR((PUCHAR)0x70, 0x0b);
34 data = READ_PORT_UCHAR((PUCHAR)0x71);
35 WRITE_PORT_UCHAR((PUCHAR)0x71, data & 0xbf);
38 WRITE_PORT_UCHAR((PUCHAR)0x70, 0x0a);
39 data = READ_PORT_UCHAR((PUCHAR)0x71);
40 WRITE_PORT_UCHAR((PUCHAR)0x71, (data & 0xf0) | 0x06);
43 WRITE_PORT_UCHAR((PUCHAR)0x70, 0x15);
45 /* generate RESET signal via keyboard controller */
46 WRITE_PORT_UCHAR((PUCHAR)0x64, 0xfe);
48 /* stop the processor */
62 if (Action == FIRMWARE_HALT)
64 DbgPrint ("HalReturnToFirmware called!\n");
67 else if (Action == FIRMWARE_REBOOT)