[PATCH v1 0/3] firmware: coreboot: Support for System Management Interrupt (SMI) handling in coreboot payload (MM payload concept)

Michal Gorlas posted 3 patches 4 months ago
There is a newer version of this series
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
[PATCH v1 0/3] firmware: coreboot: Support for System Management Interrupt (SMI) handling in coreboot payload (MM payload concept)
Posted by Michal Gorlas 4 months ago
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