diff options
author | Matt Fleming <matt.fleming@intel.com> | 2011-11-15 07:56:50 -0500 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2011-12-09 20:35:42 -0500 |
commit | 8e84f345e2f2189a37492c77c566c7494b7b6b23 (patch) | |
tree | b97fc637fa2485b54367d3b9294e398c0443ddac /include/linux/efi.h | |
parent | f30ca6ba0bb2b7d050f24682bb8639c939c79859 (diff) |
efi.h: Add efi_image_loaded_t
Add the EFI loaded image structure and protocol guid which are
required by the x86 EFI boot stub. The EFI boot stub uses the
structure to figure out where it was loaded in memory and to pass
command line arguments to the kernel.
Cc: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Link: http://lkml.kernel.org/r/1318848017-12301-1-git-send-email-matt@console-pimps.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'include/linux/efi.h')
-rw-r--r-- | include/linux/efi.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/linux/efi.h b/include/linux/efi.h index 9547597ad6be..e35005f451db 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h | |||
@@ -287,6 +287,9 @@ typedef efi_status_t efi_query_capsule_caps_t(efi_capsule_header_t **capsules, | |||
287 | #define LINUX_EFI_CRASH_GUID \ | 287 | #define LINUX_EFI_CRASH_GUID \ |
288 | EFI_GUID( 0xcfc8fc79, 0xbe2e, 0x4ddc, 0x97, 0xf0, 0x9f, 0x98, 0xbf, 0xe2, 0x98, 0xa0 ) | 288 | EFI_GUID( 0xcfc8fc79, 0xbe2e, 0x4ddc, 0x97, 0xf0, 0x9f, 0x98, 0xbf, 0xe2, 0x98, 0xa0 ) |
289 | 289 | ||
290 | #define LOADED_IMAGE_PROTOCOL_GUID \ | ||
291 | EFI_GUID( 0x5b1b31a1, 0x9562, 0x11d2, 0x8e, 0x3f, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b ) | ||
292 | |||
290 | typedef struct { | 293 | typedef struct { |
291 | efi_guid_t guid; | 294 | efi_guid_t guid; |
292 | unsigned long table; | 295 | unsigned long table; |
@@ -326,6 +329,22 @@ struct efi_memory_map { | |||
326 | unsigned long desc_size; | 329 | unsigned long desc_size; |
327 | }; | 330 | }; |
328 | 331 | ||
332 | typedef struct { | ||
333 | u32 revision; | ||
334 | void *parent_handle; | ||
335 | efi_system_table_t *system_table; | ||
336 | void *device_handle; | ||
337 | void *file_path; | ||
338 | void *reserved; | ||
339 | u32 load_options_size; | ||
340 | void *load_options; | ||
341 | void *image_base; | ||
342 | __aligned_u64 image_size; | ||
343 | unsigned int image_code_type; | ||
344 | unsigned int image_data_type; | ||
345 | unsigned long unload; | ||
346 | } efi_loaded_image_t; | ||
347 | |||
329 | #define EFI_INVALID_TABLE_ADDR (~0UL) | 348 | #define EFI_INVALID_TABLE_ADDR (~0UL) |
330 | 349 | ||
331 | /* | 350 | /* |