aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxc/xc_efi.h
diff options
context:
space:
mode:
authorAlex Williamson <alex.williamson@hp.com>2007-05-21 13:59:38 -0600
committerAlex Williamson <alex.williamson@hp.com>2007-05-21 13:59:38 -0600
commit6c11e429e55950d74ad1331e36e4f82586234307 (patch)
treea87f95d1efa76fa4ea00be46c87825f58a7f6ed6 /tools/libxc/xc_efi.h
parente7161cadcdf5d57dd9280d614074a94d01d09b90 (diff)
downloadxen-6c11e429e55950d74ad1331e36e4f82586234307.tar.gz
xen-6c11e429e55950d74ad1331e36e4f82586234307.tar.bz2
xen-6c11e429e55950d74ad1331e36e4f82586234307.zip
[IA64] memmap: add necessary definitions
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Diffstat (limited to 'tools/libxc/xc_efi.h')
-rw-r--r--tools/libxc/xc_efi.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/tools/libxc/xc_efi.h b/tools/libxc/xc_efi.h
index 95873173e2..d538b8763a 100644
--- a/tools/libxc/xc_efi.h
+++ b/tools/libxc/xc_efi.h
@@ -14,6 +14,28 @@
* Stephane Eranian <eranian@hpl.hp.com>
*/
+typedef struct {
+ uint8_t b[16];
+} efi_guid_t;
+
+#define EFI_GUID(a,b,c,d0,d1,d2,d3,d4,d5,d6,d7) \
+((efi_guid_t) \
+{{ (a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff, \
+ (b) & 0xff, ((b) >> 8) & 0xff, \
+ (c) & 0xff, ((c) >> 8) & 0xff, \
+ (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }})
+
+/*
+ * Generic EFI table header
+ */
+typedef struct {
+ uint64_t signature;
+ uint32_t revision;
+ uint32_t headersize;
+ uint32_t crc32;
+ uint32_t reserved;
+} efi_table_hdr_t;
+
/*
* Memory map descriptor:
*/
@@ -65,4 +87,59 @@ typedef struct {
#endif
} efi_memory_desc_t;
+/*
+ * EFI Runtime Services table
+ */
+#define EFI_RUNTIME_SERVICES_SIGNATURE ((uint64_t)0x5652453544e5552ULL)
+#define EFI_RUNTIME_SERVICES_REVISION 0x00010000
+
+typedef struct {
+ efi_table_hdr_t hdr;
+ unsigned long get_time;
+ unsigned long set_time;
+ unsigned long get_wakeup_time;
+ unsigned long set_wakeup_time;
+ unsigned long set_virtual_address_map;
+ unsigned long convert_pointer;
+ unsigned long get_variable;
+ unsigned long get_next_variable;
+ unsigned long set_variable;
+ unsigned long get_next_high_mono_count;
+ unsigned long reset_system;
+} efi_runtime_services_t;
+
+/*
+ * EFI Configuration Table and GUID definitions
+ */
+#define NULL_GUID \
+ EFI_GUID( 0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 )
+#define ACPI_20_TABLE_GUID \
+ EFI_GUID( 0x8868e871, 0xe4f1, 0x11d3, 0xbc, 0x22, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 )
+#define SAL_SYSTEM_TABLE_GUID \
+ EFI_GUID( 0xeb9d2d32, 0x2d88, 0x11d3, 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d )
+
+typedef struct {
+ efi_guid_t guid;
+ unsigned long table;
+} efi_config_table_t;
+
+#define EFI_SYSTEM_TABLE_SIGNATURE ((uint64_t)0x5453595320494249ULL)
+#define EFI_SYSTEM_TABLE_REVISION ((1 << 16) | 00)
+
+typedef struct {
+ efi_table_hdr_t hdr;
+ unsigned long fw_vendor; /* physical addr of CHAR16 vendor string */
+ uint32_t fw_revision;
+ unsigned long con_in_handle;
+ unsigned long con_in;
+ unsigned long con_out_handle;
+ unsigned long con_out;
+ unsigned long stderr_handle;
+ unsigned long stderr;
+ efi_runtime_services_t *runtime;
+ unsigned long boottime;
+ unsigned long nr_tables;
+ unsigned long tables;
+} efi_system_table_t;
+
#endif /* XC_EFI_H */