diff options
author | Alex Williamson <alex.williamson@hp.com> | 2007-05-21 13:59:38 -0600 |
---|---|---|
committer | Alex Williamson <alex.williamson@hp.com> | 2007-05-21 13:59:38 -0600 |
commit | 6c11e429e55950d74ad1331e36e4f82586234307 (patch) | |
tree | a87f95d1efa76fa4ea00be46c87825f58a7f6ed6 /tools/libxc/xc_efi.h | |
parent | e7161cadcdf5d57dd9280d614074a94d01d09b90 (diff) | |
download | xen-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.h | 77 |
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 */ |