summaryrefslogtreecommitdiffstats
path: root/private/ntos/nthals/halx86/i386/ixfirm.c
diff options
context:
space:
mode:
authorAdam <you@example.com>2020-05-17 05:51:50 +0200
committerAdam <you@example.com>2020-05-17 05:51:50 +0200
commite611b132f9b8abe35b362e5870b74bce94a1e58e (patch)
treea5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/ntos/nthals/halx86/i386/ixfirm.c
downloadNT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip
Diffstat (limited to 'private/ntos/nthals/halx86/i386/ixfirm.c')
-rw-r--r--private/ntos/nthals/halx86/i386/ixfirm.c79
1 files changed, 79 insertions, 0 deletions
diff --git a/private/ntos/nthals/halx86/i386/ixfirm.c b/private/ntos/nthals/halx86/i386/ixfirm.c
new file mode 100644
index 000000000..1ebf1032a
--- /dev/null
+++ b/private/ntos/nthals/halx86/i386/ixfirm.c
@@ -0,0 +1,79 @@
+/*++
+
+Copyright (c) 1991 Microsoft Corporation
+
+Module Name:
+
+ ixreboot.c
+
+Abstract:
+
+ Provides the interface to the firmware for x86. Since there is no
+ firmware to speak of on x86, this is just reboot support.
+
+Author:
+
+ John Vert (jvert) 12-Aug-1991
+
+Revision History:
+
+--*/
+#include "halp.h"
+
+//
+// Defines to let us diddle the CMOS clock and the keyboard
+//
+
+#define CMOS_CTRL (PUCHAR )0x70
+#define CMOS_DATA (PUCHAR )0x71
+
+#define RESET 0xfe
+#define KEYBPORT (PUCHAR )0x64
+
+VOID HalpVideoReboot(VOID);
+VOID HalpReboot(VOID);
+
+
+VOID
+HalReturnToFirmware(
+ IN FIRMWARE_ENTRY Routine
+ )
+
+/*++
+
+Routine Description:
+
+ Returns control to the firmware routine specified. Since the x86 has
+ no useful firmware, it just stops the system.
+
+Arguments:
+
+ Routine - Supplies a value indicating which firmware routine to invoke.
+
+Return Value:
+
+ Does not return.
+
+--*/
+
+{
+ switch (Routine) {
+ case HalHaltRoutine:
+ case HalPowerDownRoutine:
+ case HalRestartRoutine:
+ case HalRebootRoutine:
+
+ HalpVideoReboot();
+
+ //
+ // Never returns
+ //
+
+ HalpReboot();
+ break;
+ default:
+ DbgPrint("HalReturnToFirmware called\n");
+ DbgBreakPoint();
+ break;
+ }
+}