aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/efi.h
diff options
context:
space:
mode:
authorMatt Fleming <matt.fleming@intel.com>2011-11-15 07:56:50 -0500
committerH. Peter Anvin <hpa@linux.intel.com>2011-12-09 20:35:42 -0500
commit8e84f345e2f2189a37492c77c566c7494b7b6b23 (patch)
treeb97fc637fa2485b54367d3b9294e398c0443ddac /include/linux/efi.h
parentf30ca6ba0bb2b7d050f24682bb8639c939c79859 (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.h19
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
290typedef struct { 293typedef 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
332typedef 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/*