Support ACPI PSP on Hyper-V
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v3 Latest8 patches 25 repliesIn review
- v28 patches 3 repliesSuperseded
- v18 patches 15 repliesSuperseded
Changes in v3 from the cover letter
* Added links to ASPT spec and ACPICA commit
* Added acked-by Tom to all commits
Patches in v3 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/8 | include/acpi: add definition of ASPT tableinclude/ | +46 | 0 replies | |
| 2/8 | ACPI: ASPT: Add helper to parse tabledrivers/ drivers/ include/ | +137 | 0 replies | |
| 3/8 | x86/psp: Register PSP platform device when ASP table is presentarch/ arch/ | +43 | 6 replies | |
| 4/8 | x86/psp: Add IRQ supportarch/ | +181 | 4 replies | |
| 5/8 | crypto: cpp - Bind to psp platform device on x86drivers/ drivers/ | +14 | 0 replies | |
| 6/8 | crypto: ccp - Add vdata for platform devicedrivers/ | +57 | 0 replies | |
| 7/8 | crypto: ccp - Skip DMA coherency check for platform pspdrivers/ | +5 | 0 replies | |
| 8/8 | crypto: ccp - Allow platform device to be psp master devicedrivers/ drivers/ drivers/ +1 more | +68 | 0 replies |
Reviews trailers per patch
All 8 patches have a Reviewed-by or Acked-by.
| Patch | Tom Lendacky |
|---|---|
| 1/8 | A-b |
| 2/8 | A-b |
| 3/8 | A-b |
| 4/8 | A-b |
| 5/8 | A-b |
| 6/8 | A-b |
| 7/8 | A-b |
| 8/8 | A-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v3 0/8] Support ACPI PSP on Hyper-V
This patch series introduces support for discovering AMD's PSP from an ACPI table and extends the CCP driver to allow binding to that device on x86. This method of PSP discovery is used on Hyper-V when SNP isolation support is exposed to the guest. There is no ACPI node associated with this PSP, so after parsing the ASPT it is registered with the system as a platform_device.
I thought about putting psp.c in arch/x86/coco, but that directory is meant for the (confidential) guest side of CoCo, not the supporting host side code. It was kept in arch/x86/kernel because configuring the irq for the PSP through the ACPI interface requires poking at bits from the architectural vector domain.
This series is a prerequisite for nested SNP-host support on Hyper-V but is independent of the SNP-host support patch set. Hyper-V only supports nested SEV-SNP (not SEV or SEV-ES) so the PSP only supports a subset of the full PSP command set. Without SNP-host support (which is not upstream yet), the only PSP command that will succeed is SEV_PLATFORM_STATUS.
Changes since v2:
* Added links to ASPT spec and ACPICA commit
* Added acked-by Tom to all commits
Changes since v1:
* move platform_device_add_data() call to commit that introduces psp device
* change psp dependency from CONFIG_AMD_MEM_ENCRYPT to CONFIG_KVM_AMD_SEV
* add blank lines, s/plat/platform/, remove variable initializers before first use, remove masking/shifting where not needed
* dynamically allocate sev_vdata/psp_vdata structs instead of overwriting static variables
Jeremi Piotrowski (8):
include/acpi: add definition of ASPT table
ACPI: ASPT: Add helper to parse table
x86/psp: Register PSP platform device when ASP table is present x86/psp: Add IRQ support
crypto: cpp - Bind to psp platform device on x86
crypto: ccp - Add vdata for platform device
crypto: ccp - Skip DMA coherency check for platform psp
crypto: ccp - Allow platform device to be psp master device
arch/x86/kernel/Makefile | 1 + arch/x86/kernel/psp.c | 219 ++++++++++++++++++++++++++++++ drivers/acpi/Makefile | 1 + drivers/acpi/aspt.c | 104 ++++++++++++++ drivers/crypto/ccp/sp-dev.c | 65 +++++++++ drivers/crypto/ccp/sp-dev.h | 4 + drivers/crypto/ccp/sp-pci.c | 48 ------- drivers/crypto/ccp/sp-platform.c | 76 ++++++++++- include/acpi/actbl1.h | 46 +++++++ include/linux/platform_data/psp.h | 32 +++++ 10 files changed, 547 insertions(+), 49 deletions(-) create mode 100644 arch/x86/kernel/psp.c create mode 100644 drivers/acpi/aspt.c create mode 100644 include/linux/platform_data/psp.h
Signature · 1 line
2.34.1