Message ID | 20200216182334.8121-1-ardb@kernel.org (mailing list archive) |
---|---|
Headers | show |
Series | efi: clean up contents of struct efi | expand |
(+ Tony and Fenghua) On Sun, 16 Feb 2020 at 19:23, Ard Biesheuvel <ardb@kernel.org> wrote: > > The generic r/w singleton object 'struct efi efi' is currently being used > as a dumping ground for memory addresses of firmware tables that only have > significance for a single architecture, or only at boot time [whereas > struct efi is an object with indefinite lifetime, and which is exported > to modules] > > Since we're expecting a new arrival that does affect all architectures, > which will need to be added to struct efi as well, let's do a cleanup > pass, and move out all the per-arch pieces and other stuff that does not > need to live in a global r/w struct. > > As a side effect, I ran into some other things that can be refactored > so that more code is shared between architectures, or made x86 specific > if it is something that should maybe not have existed in the first place, > and x86 is the only architecture where we cannot remove it for compatibility > reasons. > > Finally, we get rid of the struct efi::systab member, which we only need > at runtime to get at the 'runtime' pointer, so let's store that instead. > This allows us to drop some ugly handling of the remapped systab address, > which we cannot discover as easily as the remapped 'runtime' pointer. > > Cc: nivedita@alum.mit.edu > Cc: x86@kernel.org > Apologies to the IA64 maintainers for forgetting to cc you. The whole series can be found at https://lore.kernel.org/linux-efi/20200216182334.8121-1-ardb@kernel.org/ Please let me know if you need me to resend with the missing cc's added. > Ard Biesheuvel (18): > efi: drop handling of 'boot_info' configuration table > efi/ia64: move HCDP and MPS table handling into IA64 arch code > efi: move UGA and PROP table handling to x86 code > efi: make rng_seed table handling local to efi.c > efi: move mem_attr_table out of struct efi > efi: make memreserve table handling local to efi.c > efi: merge EFI system table revision and vendor checks > efi/ia64: use existing helpers to locate ESI table > efi/ia64: use local variable for EFI system table address > efi/ia64: switch to efi_config_parse_tables() > efi: make efi_config_init() x86 only > efi: clean up config_parse_tables() > efi/x86: remove runtime table address from kexec EFI setup data > efi/x86: make fw_vendor, config_table and runtime sysfs nodes x86 > specific > efi/x86: merge assignments of efi.runtime_version > efi: add 'runtime' pointer to struct efi > efi/arm: drop unnecessary references to efi.systab > efi/x86: drop 'systab' member from struct efi > > arch/ia64/kernel/efi.c | 55 ++-- > arch/ia64/kernel/esi.c | 21 +- > arch/x86/include/asm/efi.h | 6 +- > arch/x86/kernel/asm-offsets_32.c | 5 + > arch/x86/kernel/kexec-bzimage64.c | 5 +- > arch/x86/platform/efi/efi.c | 262 ++++++++++---------- > arch/x86/platform/efi/efi_32.c | 13 +- > arch/x86/platform/efi/efi_64.c | 14 +- > arch/x86/platform/efi/efi_stub_32.S | 21 +- > arch/x86/platform/efi/quirks.c | 2 +- > drivers/firmware/efi/arm-init.c | 68 ++--- > drivers/firmware/efi/arm-runtime.c | 18 -- > drivers/firmware/efi/efi.c | 237 ++++++++---------- > drivers/firmware/efi/memattr.c | 13 +- > drivers/firmware/efi/runtime-wrappers.c | 4 +- > drivers/firmware/pcdp.c | 8 +- > include/linux/efi.h | 76 +++--- > 17 files changed, 379 insertions(+), 449 deletions(-) > > -- > 2.17.1 >
On Sun, Feb 16, 2020 at 07:31:58PM +0100, Ard Biesheuvel wrote: > (+ Tony and Fenghua) > > Apologies to the IA64 maintainers for forgetting to cc you. No worries. > > The whole series can be found at > https://lore.kernel.org/linux-efi/20200216182334.8121-1-ardb@kernel.org/ > > Please let me know if you need me to resend with the missing cc's added. Thanks to get-lore-mbox.py I don't. It picked up all the pieces. It all builds and boots with no issues. Looks like a nice cleanup. Tested-by: Tony Luck <tony.luck@intel.com> # arch/ia64 -Tony
On Tue, 18 Feb 2020 at 20:46, Luck, Tony <tony.luck@intel.com> wrote: > > On Sun, Feb 16, 2020 at 07:31:58PM +0100, Ard Biesheuvel wrote: > > (+ Tony and Fenghua) > > > > Apologies to the IA64 maintainers for forgetting to cc you. > > No worries. > > > > The whole series can be found at > > https://lore.kernel.org/linux-efi/20200216182334.8121-1-ardb@kernel.org/ > > > > Please let me know if you need me to resend with the missing cc's added. > > Thanks to get-lore-mbox.py I don't. It picked up all the pieces. > > It all builds and boots with no issues. > > Looks like a nice cleanup. > > Tested-by: Tony Luck <tony.luck@intel.com> # arch/ia64 > Thanks Tony.