x86/eficross changes for v3.4
Linus,
Please pull the latest x86-eficross-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-eficross-for-linus
HEAD: 1adbfa3511ee1c1118e16a9a0246870f12fef4e6 x86, efi: Allow basic init with mixed 32/64-bit efi/kernel
Thanks,
Ingo
------------------>
Olof Johansson (5):
x86, efi: Refactor efi_init() a bit
x86, efi: Convert printk to pr_*()
x86, efi: Cleanup config table walking
x86, efi: Add basic error handling
x86, efi: Allow basic init with mixed 32/64-bit efi/kernel
arch/x86/include/asm/efi.h | 2 +- arch/x86/kernel/setup.c | 10 +- arch/x86/platform/efi/efi.c | 377 +++++++++++++++++++++++++++++++------------ include/linux/efi.h | 45 +++++ 4 files changed, 324 insertions(+), 110 deletions(-)
arch/x86/include/asm/efi.h +1 -1
@@ -95,7 +95,7 @@ extern void __iomem *efi_ioremap(unsigned long addr, unsigned long size,extern int add_efi_memmap;extern void efi_set_executable (efi_memory_desc_t *md,bool executable); -extern void efi_memblock_x86_reserve_range (void ); +extern int efi_memblock_x86_reserve_range (void );extern void efi_call_phys_prelog (void );extern void efi_call_phys_epilog (void );
arch/x86/kernel/setup.c +8 -2
@@ -749,10 +749,16 @@ void __init setup_arch(char **cmdline_p)#endif #ifdef CONFIG_EFI if (!strncmp ((char *)&boot_params.efi_info.efi_loader_signature, -EFI_LOADER_SIGNATURE ,4 )) { +"EL32" ,4 )) { efi_enabled =1 ; -efi_memblock_x86_reserve_range (); + efi_64bit = false; + }else if (!strncmp ((char *)&boot_params.efi_info.efi_loader_signature, +"EL64" ,4 )) { + efi_enabled =1 ; + efi_64bit = true; } +if (efi_enabled &&efi_memblock_x86_reserve_range ()) + efi_enabled =0 ;#endif x86_init.oem.arch_setup ();
arch/x86/platform/efi/efi.c +270 -107
514 lines not on this page · raw message
include/linux/efi.h +45 -0
63 lines not on this page · raw message