[PATCH v2 00/14] efi: more fixes and general cleanups for v5.6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a combined v2 followup to the v1s of

efi: more fixes and general cleanups for v5.6 [0]
efi/x86: clean up and simplify runtime call wrappers [1]

sent out last week. I have some other changes pending regarding the
mapping of EFI runtime memory with restricted permissions [2], but
I will get back to those after finishing up with the changes below.

Changes since v1:
- Fix logic in #3 for running 64-bit kernels on 32-bit firmware when mixed
  mode support is not compiled in. In this case, we can still boot but we
  will not have access to runtime services.
- Refactor the C wrappers involved in calling SetVirtualAddressMap, which
  were kludgy and hard to follow (#6, #7)
- Incorporate review feedback from Arvind and Andy regarding the asm
  wrappers (#8, #9, #10), and simplify them a bit further,
- Drop efi_runtime_init32/64 entirely since they turned out to be
  unnecessary. (#11)
- Add another pair of cleanup patches for the runtime services code (#13, #14)

Branch can be found here:
https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git/log/?h=efi-more-cleanup-for-v5.6-v2

[0] https://lore.kernel.org/linux-efi/20191228152109.6301-1-ardb@xxxxxxxxxx/
[1] https://lore.kernel.org/linux-efi/20191226151407.29716-1-ardb@xxxxxxxxxx/
[2] https://lore.kernel.org/linux-efi/20191227163418.16139-1-ardb@xxxxxxxxxx/

Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Arvind Sankar <nivedita@xxxxxxxxxxxx>
Cc: Hans de Goede <hdegoede@xxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxx>

Ard Biesheuvel (14):
  efi/libstub: fix boot argument handling in mixed mode entry code
  efi/libstub: use correct system table pointer in mixed mode efi_free()
  efi/x86: re-disable RT services for 32-bit kernels running on 64-bit
    EFI
  efi/x86: map the entire EFI vendor string before copying it
  efi/x86: avoid redundant cast of EFI firmware service pointer
  efi/x86: split off some old memmap handling into separate routines
  efi/x86: split SetVirtualAddresMap() wrappers into 32 and 64 bit
    versions
  efi/x86: simplify i386 efi_call_phys() firmware call wrapper
  efi/x86: simplify 64-bit EFI firmware call wrapper
  efi/x86: simplify mixed mode call wrapper
  efi/x86: drop two near identical versions of efi_runtime_init()
  efi/x86: clean up efi_systab_init() routine for legibility
  efi/x86: don't panic or BUG() on non-critical error conditions
  efi/x86: remove unreachable code in kexec_enter_virtual_mode()

 arch/x86/boot/compressed/eboot.c     |   3 +-
 arch/x86/boot/compressed/head_64.S   |  17 +-
 arch/x86/include/asm/efi.h           |  43 +--
 arch/x86/platform/efi/Makefile       |   1 -
 arch/x86/platform/efi/efi.c          | 354 +++++++-------------
 arch/x86/platform/efi/efi_32.c       |  22 +-
 arch/x86/platform/efi/efi_64.c       | 129 ++++---
 arch/x86/platform/efi/efi_stub_32.S  | 109 +-----
 arch/x86/platform/efi/efi_stub_64.S  |  39 +--
 arch/x86/platform/efi/efi_thunk_64.S | 121 ++-----
 arch/x86/platform/uv/bios_uv.c       |   7 +-
 include/linux/efi.h                  |  23 +-
 12 files changed, 288 insertions(+), 580 deletions(-)

-- 
2.20.1




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux