* Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> wrote: > Folks, please queue up the following patches for v4.9. There's more > work on refactoring EFI code to be architecture independent and the > largest number of patches is spent cleaning up the EFI memory map code > and allowing drivers on x86 to reserve EFI boot services for all of > runtime. > > The architecture independent quest is going pretty well and it was > only a couple of lines to get the esrt driver working on arm64. > > Other than that there's some cleanups and fixes, and a merge of the > out of tree EFI runtime driver from the FWTS project. > > The following changes since commit c6935931c1894ff857616ff8549b61236a19148f: > > Linux 4.8-rc5 (2016-09-04 14:31:46 -0700) > > are available in the git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi.git tags/efi-next > > for you to fetch changes up to 0a637ee61247bd4bed9b2a07568ef7a1cfc76187: > > x86/efi: Allow invocation of arbitrary boot services (2016-09-09 16:08:57 +0100) > > ---------------------------------------------------------------- > * Refactor the EFI memory map code into architecture neutral files > and allow drivers to permanently reserve EFI boot services regions > on x86, as well as ARM/arm64 - Matt Fleming > > * Add ARM support for the EFI esrt driver - Ard Biesheuvel > > * Make the EFI runtime services and efivar API interruptible by > swapping spinlocks for semaphores - Sylvain Chouleur > > * Provide the EFI identity mapping for kexec which allows kexec to > work on SGI/UV platforms with requiring the "noefi" kernel command > line parameter - Alex Thorlton > > * Add debugfs node to dump EFI page tables on arm64 - Ard Biesheuvel > > * Merge the EFI test driver being carried out of tree until now in > the FWTS project - Ivan Hu > > * Expand the list of flags for classifying EFI regions as "RAM" on > arm64 so we align with the UEFI spec - Ard Biesheuvel > > * Optimise out the EFI mixed mode if it's unsupported (CONFIG_X86_32) > or disabled (CONFIG_EFI_MIXED=n) and switch the early EFI boot > services function table for direct calls, alleviating us from > having to maintain the custom function table - Lukas Wunner > > * Miscellaneous cleanups and fixes > > ---------------------------------------------------------------- > Alex Thorlton (1): > x86/efi: Map in physical addresses in efi_map_region_fixed > > Ard Biesheuvel (5): > efi/esrt: Use memremap not ioremap to access ESRT table in memory > efi/arm*: esrt: Add missing call to efi_esrt_init() > efi: Replace runtime services spinlock with semaphore > efi/arm64: Add debugfs node to dump UEFI runtime page tables > efi/arm64: Treat regions with WT/WC set but WB cleared as memory > > Colin Ian King (1): > x86/efi: Initialize status to ensure garbage is not returned on small size > > Ivan Hu (1): > efi: Add efi_test driver for exporting UEFI runtime service interfaces > > Lukas Wunner (4): > lib/ucs2_string: Speed up ucs2_utf8size() > x86/efi: Remove unused find_bits() function > x86/efi: Optimize away setup_gop32/64 if unused > x86/efi: Allow invocation of arbitrary boot services > > Markus Elfring (2): > firmware-gsmi: Delete an unnecessary check before the function call "dma_pool_destroy" > x86/efi: Use kmalloc_array() in efi_call_phys_prolog() > > Matt Fleming (12): > x86/efi: Test for EFI_MEMMAP functionality when iterating EFI memmap > x86/efi: Consolidate region mapping logic > efi: Refactor efi_memmap_init_early() into arch-neutral code > efi: Add efi_memmap_init_late() for permanent EFI memmap > efi/fake_mem: Refactor main two code chunks into functions > efi: Split out EFI memory map functions into new file > efi: Add efi_memmap_install() for installing new EFI memory maps > efi: Allow drivers to reserve boot services forever > efi/runtime-map: Use efi.memmap directly instead of a copy > efi/esrt: Use efi_mem_reserve() and avoid a kmalloc() > x86/efi-bgrt: Use efi_mem_reserve() to avoid copying image data > fs/efivarfs: Fix double kfree() in error path > > Ricardo Neri (1): > x86/efi: Defer efi_esrt_init until after memblock_x86_fill > > Sylvain Chouleur (2): > efi: Use a file local lock for efivars > efi: Don't use spinlocks for efi vars > > MAINTAINERS | 7 + > arch/x86/boot/compressed/eboot.c | 40 +- > arch/x86/boot/compressed/head_32.S | 6 +- > arch/x86/boot/compressed/head_64.S | 8 +- > arch/x86/include/asm/efi.h | 29 +- > arch/x86/kernel/setup.c | 18 +- > arch/x86/platform/efi/efi-bgrt.c | 13 +- > arch/x86/platform/efi/efi.c | 198 ++++----- > arch/x86/platform/efi/efi_64.c | 23 +- > arch/x86/platform/efi/quirks.c | 123 +++++- > drivers/firmware/efi/Kconfig | 17 + > drivers/firmware/efi/Makefile | 3 +- > drivers/firmware/efi/arm-init.c | 50 ++- > drivers/firmware/efi/arm-runtime.c | 26 +- > drivers/firmware/efi/efi-pstore.c | 36 +- > drivers/firmware/efi/efi.c | 67 +-- > drivers/firmware/efi/efivars.c | 22 +- > drivers/firmware/efi/esrt.c | 23 +- > drivers/firmware/efi/fake_mem.c | 125 +----- > drivers/firmware/efi/memmap.c | 292 +++++++++++++ > drivers/firmware/efi/runtime-map.c | 35 +- > drivers/firmware/efi/runtime-wrappers.c | 81 ++-- > drivers/firmware/efi/test/Makefile | 1 + > drivers/firmware/efi/test/efi_test.c | 749 ++++++++++++++++++++++++++++++++ > drivers/firmware/efi/test/efi_test.h | 110 +++++ > drivers/firmware/efi/vars.c | 142 +++--- > drivers/firmware/google/gsmi.c | 3 +- > fs/efivarfs/inode.c | 5 +- > fs/efivarfs/super.c | 13 +- > include/linux/efi.h | 47 +- > lib/ucs2_string.c | 2 +- > 31 files changed, 1767 insertions(+), 547 deletions(-) > create mode 100644 drivers/firmware/efi/memmap.c > create mode 100644 drivers/firmware/efi/test/Makefile > create mode 100644 drivers/firmware/efi/test/efi_test.c > create mode 100644 drivers/firmware/efi/test/efi_test.h Pulled into tip:efi/core, thanks a lot Matt! Ingo -- 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