109
109
{ 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
112
#define GRUB_EFI_SAL_TABLE_GUID \
113
{ 0xeb9d2d32, 0x2d88, 0x11d3, \
114
{ 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
117
#define GRUB_EFI_HCDP_TABLE_GUID \
118
{ 0xf951938d, 0x620b, 0x42ef, \
119
{ 0x82, 0x79, 0xa8, 0x4b, 0x79, 0x61, 0x78, 0x98 } \
122
struct grub_efi_sal_system_table
124
grub_uint32_t signature;
125
grub_uint32_t total_table_len;
126
grub_uint16_t sal_rev;
127
grub_uint16_t entry_count;
128
grub_uint8_t checksum;
129
grub_uint8_t reserved1[7];
130
grub_uint16_t sal_a_version;
131
grub_uint16_t sal_b_version;
132
grub_uint8_t oem_id[32];
133
grub_uint8_t product_id[32];
134
grub_uint8_t reserved2[8];
135
grub_uint8_t entries[0];
140
GRUB_EFI_SAL_SYSTEM_TABLE_TYPE_ENTRYPOINT_DESCRIPTOR = 0,
141
GRUB_EFI_SAL_SYSTEM_TABLE_TYPE_MEMORY_DESCRIPTOR = 1,
142
GRUB_EFI_SAL_SYSTEM_TABLE_TYPE_PLATFORM_FEATURES = 2,
143
GRUB_EFI_SAL_SYSTEM_TABLE_TYPE_TRANSLATION_REGISTER_DESCRIPTOR = 3,
144
GRUB_EFI_SAL_SYSTEM_TABLE_TYPE_PURGE_TRANSLATION_COHERENCE = 4,
145
GRUB_EFI_SAL_SYSTEM_TABLE_TYPE_AP_WAKEUP = 5
148
struct grub_efi_sal_system_table_entrypoint_descriptor
152
grub_uint64_t pal_proc_addr;
153
grub_uint64_t sal_proc_addr;
154
grub_uint64_t global_data_ptr;
155
grub_uint64_t reserved[2];
158
struct grub_efi_sal_system_table_memory_descriptor
161
grub_uint8_t sal_used;
164
grub_uint8_t attr_mask;
165
grub_uint8_t mem_type;
167
grub_uint8_t unknown;
170
grub_uint64_t unknown2;
173
struct grub_efi_sal_system_table_platform_features
177
grub_uint8_t reserved[14];
180
struct grub_efi_sal_system_table_translation_register_descriptor
183
grub_uint8_t register_type;
184
grub_uint8_t register_number;
185
grub_uint8_t reserved[5];
187
grub_uint64_t page_size;
188
grub_uint64_t reserver;
191
struct grub_efi_sal_system_table_purge_translation_coherence
194
grub_uint8_t reserved[3];
195
grub_uint32_t ndomains;
196
grub_uint64_t coherence;
199
struct grub_efi_sal_system_table_ap_wakeup
202
grub_uint8_t mechanism;
203
grub_uint8_t reserved[6];
204
grub_uint64_t vector;
209
GRUB_EFI_SAL_SYSTEM_TABLE_PLATFORM_FEATURE_BUSLOCK = 1,
210
GRUB_EFI_SAL_SYSTEM_TABLE_PLATFORM_FEATURE_IRQREDIRECT = 2,
211
GRUB_EFI_SAL_SYSTEM_TABLE_PLATFORM_FEATURE_IPIREDIRECT = 4,
212
GRUB_EFI_SAL_SYSTEM_TABLE_PLATFORM_FEATURE_ITCDRIFT = 8,
112
215
/* Enumerations. */
113
216
enum grub_efi_timer_delay