From: Ard Biesheuvel <ardb@kernel.org>
To: linux-efi <linux-efi@vger.kernel.org>,
Tony Luck <tony.luck@intel.com>,
"Yu, Fenghua" <fenghua.yu@intel.com>
Cc: linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Arvind Sankar <nivedita@alum.mit.edu>,
"the arch/x86 maintainers" <x86@kernel.org>
Subject: Re: [PATCH 00/18] efi: clean up contents of struct efi
Date: Sun, 16 Feb 2020 19:31:58 +0100 [thread overview]
Message-ID: <CAKv+Gu-4N6B0LPL1fn5C2EAh9y3ECZ=mSi92p0AyJf67mJoWmw@mail.gmail.com> (raw)
In-Reply-To: <20200216182334.8121-1-ardb@kernel.org>
(+ 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
>
next prev parent reply other threads:[~2020-02-16 18:32 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-16 18:23 [PATCH 00/18] efi: clean up contents of struct efi Ard Biesheuvel
2020-02-16 18:23 ` [PATCH 01/18] efi: drop handling of 'boot_info' configuration table Ard Biesheuvel
2020-02-16 18:23 ` [PATCH 02/18] efi/ia64: move HCDP and MPS table handling into IA64 arch code Ard Biesheuvel
2020-02-16 18:23 ` [PATCH 03/18] efi: move UGA and PROP table handling to x86 code Ard Biesheuvel
2020-02-16 18:23 ` [PATCH 04/18] efi: make rng_seed table handling local to efi.c Ard Biesheuvel
2020-02-16 18:23 ` [PATCH 05/18] efi: move mem_attr_table out of struct efi Ard Biesheuvel
2020-02-16 18:23 ` [PATCH 06/18] efi: make memreserve table handling local to efi.c Ard Biesheuvel
2020-02-16 18:23 ` [PATCH 07/18] efi: merge EFI system table revision and vendor checks Ard Biesheuvel
2020-02-16 18:23 ` [PATCH 08/18] efi/ia64: use existing helpers to locate ESI table Ard Biesheuvel
2020-02-16 18:23 ` [PATCH 09/18] efi/ia64: use local variable for EFI system table address Ard Biesheuvel
2020-02-16 18:23 ` [PATCH 10/18] efi/ia64: switch to efi_config_parse_tables() Ard Biesheuvel
2020-02-16 18:23 ` [PATCH 11/18] efi: make efi_config_init() x86 only Ard Biesheuvel
2020-02-16 18:23 ` [PATCH 12/18] efi: clean up config_parse_tables() Ard Biesheuvel
2020-02-16 19:12 ` Arvind Sankar
2020-02-17 8:32 ` Ard Biesheuvel
2020-02-16 18:23 ` [PATCH 13/18] efi/x86: remove runtime table address from kexec EFI setup data Ard Biesheuvel
2020-02-16 18:23 ` [PATCH 14/18] efi/x86: make fw_vendor, config_table and runtime sysfs nodes x86 specific Ard Biesheuvel
2020-02-16 18:23 ` [PATCH 15/18] efi/x86: merge assignments of efi.runtime_version Ard Biesheuvel
2020-02-16 18:23 ` [PATCH 16/18] efi: add 'runtime' pointer to struct efi Ard Biesheuvel
2020-03-03 16:03 ` Guenter Roeck
2020-03-03 16:39 ` Ard Biesheuvel
2020-03-03 17:53 ` Guenter Roeck
2020-03-03 18:01 ` Ard Biesheuvel
2020-03-03 18:14 ` Ard Biesheuvel
2020-03-03 20:30 ` Guenter Roeck
2020-03-03 21:40 ` Ard Biesheuvel
2020-02-16 18:23 ` [PATCH 17/18] efi/arm: drop unnecessary references to efi.systab Ard Biesheuvel
2020-02-16 18:23 ` [PATCH 18/18] efi/x86: drop 'systab' member from struct efi Ard Biesheuvel
2020-02-16 18:31 ` Ard Biesheuvel [this message]
2020-02-18 19:46 ` [PATCH 00/18] efi: clean up contents of " Luck, Tony
2020-02-18 22:08 ` Ard Biesheuvel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAKv+Gu-4N6B0LPL1fn5C2EAh9y3ECZ=mSi92p0AyJf67mJoWmw@mail.gmail.com' \
--to=ardb@kernel.org \
--cc=fenghua.yu@intel.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nivedita@alum.mit.edu \
--cc=tony.luck@intel.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).