[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <cover.1749734094.git.michal.gorlas@9elements.com>
Date: Thu, 12 Jun 2025 16:05:47 +0200
From: Michal Gorlas <michal.gorlas@...ements.com>
To: Tzung-Bi Shih <tzungbi@...nel.org>,
Brian Norris <briannorris@...omium.org>,
Julius Werner <jwerner@...omium.org>
Cc: marcello.bauer@...ements.com,
Michal Gorlas <michal.gorlas@...ements.com>,
chrome-platform@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: [PATCH v1 0/3] firmware: coreboot: Support for System Management Interrupt (SMI) handling in coreboot payload (MM payload concept)
Hi,
This patchset adds support for MM payload when Linux is used as
coreboot's payload. The main idea is to delegate higher-level SMM
functions to the payload, limiting the coreboot's System Management
Mode (SMM) related responsibilities to the minimum of basic SMM setup [1]. This is
done by loading a blob with SMI handler to the shared buffer, from
which it is copied to SMRAM [2].
The MM payload is still in a Proof of Concept stage, and we are still
working on getting the patches needed for coreboot upstreamed, but I would
appreciate any feedback that you may have.
Thanks,
Michal
[1]: https://github.com/9elements/LinuxBootSMM/wiki/Proposed-design#current-design-approach---mm-payload
[2]: https://github.com/9elements/LinuxBootSMM/wiki/Proof-of-Concept-(PoC)
Michal Gorlas (3):
firmware: coreboot: support for parsing SMM related informations from
coreboot tables
firmware: coreboot: loader for Linux-owned SMI handler
firmware: coreboot: Linux-owned SMI handler to be loaded by coreboot
drivers/firmware/google/Kconfig | 12 +
drivers/firmware/google/Makefile | 12 +
drivers/firmware/google/coreboot_table.h | 34 +-
drivers/firmware/google/mm_blob.S | 20 +
drivers/firmware/google/mm_handler/Makefile | 51 ++
.../firmware/google/mm_handler/handler.lds.S | 46 ++
.../firmware/google/mm_handler/mm_handler.S | 510 ++++++++++++++++++
.../firmware/google/mm_handler/mm_handler.h | 21 +
.../firmware/google/mm_handler/mm_header.S | 19 +
drivers/firmware/google/mm_info.c | 63 +++
drivers/firmware/google/mm_loader.c | 186 +++++++
drivers/firmware/google/mm_payload.h | 58 ++
12 files changed, 1020 insertions(+), 12 deletions(-)
create mode 100644 drivers/firmware/google/mm_blob.S
create mode 100644 drivers/firmware/google/mm_handler/Makefile
create mode 100644 drivers/firmware/google/mm_handler/handler.lds.S
create mode 100644 drivers/firmware/google/mm_handler/mm_handler.S
create mode 100644 drivers/firmware/google/mm_handler/mm_handler.h
create mode 100644 drivers/firmware/google/mm_handler/mm_header.S
create mode 100644 drivers/firmware/google/mm_info.c
create mode 100644 drivers/firmware/google/mm_loader.c
create mode 100644 drivers/firmware/google/mm_payload.h
--
2.49.0
Powered by blists - more mailing lists