[PATCH 0/7] efi: more fixes and general cleanups for v5.6

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

 



In addition to two other series that are in flight, regarding the EFI
runtime call assembly wrappers [0], and the use of restricted memory
permissions for mapping EFI runtime service memory regions [1], here's
another batch of fixes and cleanups for the early EFI code.

Patches #1 .. #3 are fixes for the code that is currently queued in
tip/efi/core.

Patch #4 fixes an ancient issue in the EFI boot code where it doesn't
map the memory containing the EFI vendor name string correctly.

Patch #5 redefines the macro __efiapi to __attribute__((regparm(0)))
on 32-bit x86 so we no longer have to cast every function pointer
that requires that annotation.

Patch #6 refactors efi_runtime_init() so we no longer have two mostly
identical copies of the same code for 32-bit and 64-bit.

Patch #7 cleans up efi_systab_init() and also gets rid of the 'efi_phys'
data structure that exists for no good reason.

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

[0] https://lore.kernel.org/linux-efi/20191226151407.29716-1-ardb@xxxxxxxxxx/
[1] 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>

Ard Biesheuvel (7):
  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: merge two near identical versions of efi_runtime_init()
  efi/x86: clean up efi_systab_init() routine for legibility

 arch/x86/boot/compressed/eboot.c   |   3 +-
 arch/x86/boot/compressed/head_64.S |  17 +-
 arch/x86/include/asm/efi.h         |  25 +-
 arch/x86/platform/efi/efi.c        | 262 +++++++++-----------
 arch/x86/platform/efi/efi_64.c     |   5 +
 include/linux/efi.h                |  23 +-
 6 files changed, 135 insertions(+), 200 deletions(-)

-- 
2.17.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