summaryrefslogtreecommitdiffstats
path: root/src/arch/x86/include
diff options
context:
space:
mode:
authorMichael Brown2016-07-10 20:25:26 +0200
committerMichael Brown2016-07-11 15:05:18 +0200
commite19c0a8fd2bc8c2331c5fabe17ea56e7c35d1900 (patch)
tree0aba5ee1c1274ff613d786c18b0d004cce7b9dc4 /src/arch/x86/include
parent[rng] Check for functioning RTC interrupt (diff)
downloadipxe-e19c0a8fd2bc8c2331c5fabe17ea56e7c35d1900.tar.gz
ipxe-e19c0a8fd2bc8c2331c5fabe17ea56e7c35d1900.tar.xz
ipxe-e19c0a8fd2bc8c2331c5fabe17ea56e7c35d1900.zip
[acpi] Add support for ACPI power off
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/arch/x86/include')
-rw-r--r--src/arch/x86/include/bios.h1
-rw-r--r--src/arch/x86/include/bits/errfile.h1
-rw-r--r--src/arch/x86/include/ipxe/acpipwr.h14
-rw-r--r--src/arch/x86/include/ipxe/apm.h14
4 files changed, 30 insertions, 0 deletions
diff --git a/src/arch/x86/include/bios.h b/src/arch/x86/include/bios.h
index 988bbc62b..a5a5d887c 100644
--- a/src/arch/x86/include/bios.h
+++ b/src/arch/x86/include/bios.h
@@ -4,6 +4,7 @@
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#define BDA_SEG 0x0040
+#define BDA_EBDA 0x000e
#define BDA_EQUIPMENT_WORD 0x0010
#define BDA_FBMS 0x0013
#define BDA_REBOOT 0x0072
diff --git a/src/arch/x86/include/bits/errfile.h b/src/arch/x86/include/bits/errfile.h
index 79b6f882e..f4816e62a 100644
--- a/src/arch/x86/include/bits/errfile.h
+++ b/src/arch/x86/include/bits/errfile.h
@@ -24,6 +24,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#define ERRFILE_int13con ( ERRFILE_ARCH | ERRFILE_CORE | 0x000d0000 )
#define ERRFILE_gdbmach ( ERRFILE_ARCH | ERRFILE_CORE | 0x000e0000 )
#define ERRFILE_rtc_entropy ( ERRFILE_ARCH | ERRFILE_CORE | 0x000f0000 )
+#define ERRFILE_acpipwr ( ERRFILE_ARCH | ERRFILE_CORE | 0x00100000 )
#define ERRFILE_bootsector ( ERRFILE_ARCH | ERRFILE_IMAGE | 0x00000000 )
#define ERRFILE_bzimage ( ERRFILE_ARCH | ERRFILE_IMAGE | 0x00010000 )
diff --git a/src/arch/x86/include/ipxe/acpipwr.h b/src/arch/x86/include/ipxe/acpipwr.h
new file mode 100644
index 000000000..93da09429
--- /dev/null
+++ b/src/arch/x86/include/ipxe/acpipwr.h
@@ -0,0 +1,14 @@
+#ifndef _IPXE_ACPIPWR_H
+#define _IPXE_ACPIPWR_H
+
+/** @file
+ *
+ * ACPI power off
+ *
+ */
+
+FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
+
+extern int acpi_poweroff ( void );
+
+#endif /* _IPXE_ACPIPWR_H */
diff --git a/src/arch/x86/include/ipxe/apm.h b/src/arch/x86/include/ipxe/apm.h
new file mode 100644
index 000000000..21d913ac4
--- /dev/null
+++ b/src/arch/x86/include/ipxe/apm.h
@@ -0,0 +1,14 @@
+#ifndef _IPXE_APM_H
+#define _IPXE_APM_H
+
+/** @file
+ *
+ * Advanced Power Management
+ *
+ */
+
+FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
+
+extern int apm_poweroff ( void );
+
+#endif /* _IPXE_APM_H */