From: Ard Biesheuvel <ardb@kernel.org>
To: linux-efi@vger.kernel.org
Cc: linux-acpi@vger.kernel.org, rafael@kernel.org, lenb@kernel.org,
Ard Biesheuvel <ardb@kernel.org>
Subject: [PATCH 0/4] efi: Clean up runtime wrapper and wire it up for PRM
Date: Fri, 4 Aug 2023 18:03:55 +0200 [thread overview]
Message-ID: <20230804160359.228901-1-ardb@kernel.org> (raw)
ACPI PRM uses the EFI runtime services infrastructure, but currently, it
issues the firmware calls directly, instead of going through the
wrappers and handing off the call to the EFI workqueue.
Given that ACPI PRM is used for vendor code rather than core EFI runtime
services, it would be nice if these calls get sandboxed in the same way
as EFI runtime services calls are. This ensures that any faults
occurring in the firmware are handled gracefully and don't bring down
the kernel.
Another reason for using the work queue is the fact that on some
platforms, the EFI memory regions are remapping into the lower address
space, and this means that sampling the instruction pointer in a perf
interrupt may cause confusion about whether the task is running in user
space or in the firmware.
So let's move the ACPI PRM calls into the EFI runtime wrapper
infrastructure. Before that, let's clean it up a bit.
Ard Biesheuvel (4):
efi/runtime-wrappers: Use type safe encapsulation of call arguments
efi/runtime-wrapper: Move workqueue manipulation out of line
efi/runtime-wrappers: Remove duplicated macro for service returning
void
acpi/prmt: Use EFI runtime sandbox to invoke PRM handlers
drivers/acpi/prmt.c | 8 +-
drivers/firmware/efi/runtime-wrappers.c | 201 +++++++++++---------
include/linux/efi.h | 110 ++++++++---
3 files changed, 198 insertions(+), 121 deletions(-)
--
2.39.2
next reply other threads:[~2023-08-04 16:04 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-04 16:03 Ard Biesheuvel [this message]
2023-08-04 16:03 ` [PATCH 1/4] efi/runtime-wrappers: Use type safe encapsulation of call arguments Ard Biesheuvel
2023-08-04 16:03 ` [PATCH 2/4] efi/runtime-wrapper: Move workqueue manipulation out of line Ard Biesheuvel
2023-08-04 16:03 ` [PATCH 3/4] efi/runtime-wrappers: Remove duplicated macro for service returning void Ard Biesheuvel
2023-08-04 16:03 ` [PATCH 4/4] acpi/prmt: Use EFI runtime sandbox to invoke PRM handlers Ard Biesheuvel
2023-08-17 17:55 ` Rafael J. Wysocki
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=20230804160359.228901-1-ardb@kernel.org \
--to=ardb@kernel.org \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-efi@vger.kernel.org \
--cc=rafael@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