[PATCH v2 0/3] efi: Remove __efistub_global annotation

From: Arvind Sankar
Date: Thu Apr 16 2020 - 11:13:03 EST


This patch series removes the need for annotating global data in the EFI
stub with __efistub_global for ARM32 and X86.

This is done by renaming the .data and .bss sections in the object files
linked into the EFI stub to .data.efistub and .bss.efistub respectively,
and including those sections into the compressed kernel's .data section
using its linker script.

Changes from v1:
- drop patch 2 and squash patches 3 and 5 for x86
- fix R_X86 -> R_386
- only check native relocation size (32-bit for R386 and 64-bit for
RX86_64)

The series is based on efi/next, rebased onto v5.7-rc1, plus two earlier
fixes for x86 EFI that are queued for v5.7.

Patches on top of v5.7-rc1:
In efi/next:

Ard Biesheuvel (2):
efi: clean up config table description arrays
efi: move arch_tables check to caller

Arvind Sankar (19):
efi/gop: Remove redundant current_fb_base
efi/gop: Move check for framebuffer before con_out
efi/gop: Get mode information outside the loop
efi/gop: Factor out locating the gop into a function
efi/gop: Slightly re-arrange logic of find_gop
efi/gop: Move variable declarations into loop block
efi/gop: Use helper macros for populating lfb_base
efi/gop: Use helper macros for find_bits
efi/gop: Remove unreachable code from setup_pixel_info
efi/gop: Add prototypes for query_mode and set_mode
efi/gop: Allow specifying mode number on command line
efi/gop: Allow specifying mode by <xres>x<yres>
efi/gop: Allow specifying depth as well as resolution
efi/gop: Allow automatically choosing the best mode

Additional:
Arvind Sankar (2):
efi/x86: Move efi stub globals from .bss to .data
efi/x86: Always relocate the kernel for EFI handover entry

Arvind Sankar (3):
efi/arm: Remove __efistub_global annotation
efi/x86: Remove __efistub_global and add relocation check
efi: Kill __efistub_global

arch/arm/boot/compressed/vmlinux.lds.S | 2 +-
arch/x86/boot/compressed/vmlinux.lds.S | 1 +
drivers/firmware/efi/libstub/Makefile | 31 +++++++++++++------
drivers/firmware/efi/libstub/arm-stub.c | 4 +--
.../firmware/efi/libstub/efi-stub-helper.c | 15 +++++----
drivers/firmware/efi/libstub/efistub.h | 6 ----
drivers/firmware/efi/libstub/gop.c | 2 +-
drivers/firmware/efi/libstub/x86-stub.c | 2 +-
8 files changed, 34 insertions(+), 29 deletions(-)

--
2.25.3