diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-22 09:31:31 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-22 09:31:31 -0700 |
commit | f06fc0c0de0b4f01dbad8ec5552e78192c7abbb8 (patch) | |
tree | d31b0639244cbcaca2957b1c0c6c05686d4aeffa /include/linux | |
parent | 4c64616bb51b399886ded8f4f69bad4da2da1817 (diff) | |
parent | 1adbfa3511ee1c1118e16a9a0246870f12fef4e6 (diff) | |
download | linux-3.10-f06fc0c0de0b4f01dbad8ec5552e78192c7abbb8.tar.gz linux-3.10-f06fc0c0de0b4f01dbad8ec5552e78192c7abbb8.tar.bz2 linux-3.10-f06fc0c0de0b4f01dbad8ec5552e78192c7abbb8.zip |
Merge branch 'x86-eficross-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86/eficross (booting 32/64-bit kernel from 64/32-bit EFI) from Ingo Molnar
* 'x86-eficross-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86, efi: Allow basic init with mixed 32/64-bit efi/kernel
x86, efi: Add basic error handling
x86, efi: Cleanup config table walking
x86, efi: Convert printk to pr_*()
x86, efi: Refactor efi_init() a bit
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/efi.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/include/linux/efi.h b/include/linux/efi.h index 37c300712e0..47fbf6b3dc7 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h @@ -315,6 +315,16 @@ typedef efi_status_t efi_query_capsule_caps_t(efi_capsule_header_t **capsules, typedef struct { efi_guid_t guid; + u64 table; +} efi_config_table_64_t; + +typedef struct { + efi_guid_t guid; + u32 table; +} efi_config_table_32_t; + +typedef struct { + efi_guid_t guid; unsigned long table; } efi_config_table_t; @@ -329,6 +339,40 @@ typedef struct { typedef struct { efi_table_hdr_t hdr; + u64 fw_vendor; /* physical addr of CHAR16 vendor string */ + u32 fw_revision; + u32 __pad1; + u64 con_in_handle; + u64 con_in; + u64 con_out_handle; + u64 con_out; + u64 stderr_handle; + u64 stderr; + u64 runtime; + u64 boottime; + u32 nr_tables; + u32 __pad2; + u64 tables; +} efi_system_table_64_t; + +typedef struct { + efi_table_hdr_t hdr; + u32 fw_vendor; /* physical addr of CHAR16 vendor string */ + u32 fw_revision; + u32 con_in_handle; + u32 con_in; + u32 con_out_handle; + u32 con_out; + u32 stderr_handle; + u32 stderr; + u32 runtime; + u32 boottime; + u32 nr_tables; + u32 tables; +} efi_system_table_32_t; + +typedef struct { + efi_table_hdr_t hdr; unsigned long fw_vendor; /* physical addr of CHAR16 vendor string */ u32 fw_revision; unsigned long con_in_handle; @@ -497,6 +541,7 @@ extern int __init efi_setup_pcdp_console(char *); #ifdef CONFIG_EFI # ifdef CONFIG_X86 extern int efi_enabled; + extern bool efi_64bit; # else # define efi_enabled 1 # endif |