This patch series adds EFI stub support for the ARM architecture. Some code that was previously only used by x86/x86_64 is now shared and has been made more general. The stub for ARM is implemented in a similar manner to x86 in that it is a shim layer between EFI and the normal zImage/bzImage boot process, and that an image with the stub configured is bootable as both a zImage and EFI application. This patchset depends (trivially) on a separately submitted bugfix to the EFI stub: "correct call to free_pages" http://git.kernel.org/cgit/linux/kernel/git/tip/tip.git/commit/?id=df981edcb9bce00b9c5e4f3cc33f3f98bc9a2394 Changes since V1: * Updated head.S based on feedback from Dave Martin. ARM/THUMB switches now much cleaner. * Broke up changes to x86 and common code into more patches. 10 more patches in this series. Roy Franz (17): EFI stub documentation updates Move common EFI stub code from x86 arch code to common location Add system pointer argument to shared EFI stub related functions so they no longer use global system table pointer as they did when part of eboot.c. Rename memory allocation/free functions Add minimum address parameter to efi_low_alloc() rename __get_map() to efi_get_memory_map(), add parameter to optionally return mmap key. The mmap key is required to exit EFI boot services, and allows efi_get_memory_map() to be used for getting final memory map. Enforce minimum alignment of 1 page on allocations. The efi_high_alloc() and efi_low_alloc() functions use the EFI_ALLOCATE_ADDRESS option to the EFI function allocate_pages(), which requires a minimum of page alignment, and rejects all other requests. Allow efi_free() to be called with size of 0, and do nothing in that case. Generalize handle_ramdisks() and rename to handle_cmdline_files(). Renames in handle_cmdline_files() to complete generalization. Move EFI_READ_CHUNK_SIZE define to shared location. Add proper definitions for some EFI function pointers. Fix types in EFI calls to match EFI function definitions. resolve warnings found on ARM compile Add strstr to compressed string.c for ARM. Add EFI stub for ARM Add config EFI_STUB for ARM to Kconfig Documentation/efi-stub.txt | 78 +++++ Documentation/x86/efi-stub.txt | 65 ---- arch/arm/Kconfig | 10 + arch/arm/boot/compressed/Makefile | 18 +- arch/arm/boot/compressed/efi-header.S | 114 +++++++ arch/arm/boot/compressed/efi-stub.c | 514 ++++++++++++++++++++++++++++++++ arch/arm/boot/compressed/head.S | 90 +++++- arch/arm/boot/compressed/string.c | 21 ++ arch/x86/Kconfig | 2 +- arch/x86/boot/compressed/eboot.c | 490 ++---------------------------- arch/x86/boot/compressed/eboot.h | 7 - drivers/firmware/efi/efi-stub-helper.c | 505 +++++++++++++++++++++++++++++++ include/linux/efi.h | 48 ++- 13 files changed, 1405 insertions(+), 557 deletions(-) create mode 100644 Documentation/efi-stub.txt delete mode 100644 Documentation/x86/efi-stub.txt create mode 100644 arch/arm/boot/compressed/efi-header.S create mode 100644 arch/arm/boot/compressed/efi-stub.c create mode 100644 drivers/firmware/efi/efi-stub-helper.c -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html