lkml.org 
[lkml]   [2023]   [Feb]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH v2 0/8] Support ACPI PSP on Hyper-V
    From
    On 2/13/23 03:24, Jeremi Piotrowski wrote:
    > 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.
    >

    For the series:

    Acked-by: Tom Lendacky <thomas.lendacky@amd.com>

    Probably want Boris to weigh in on whether he wants the new psp.c file
    located in arch/x86/kernel, though.

    > 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 | 66 +++++++++
    > 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, 548 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
    >

    \
     
     \ /
      Last update: 2023-03-27 00:29    [W:3.894 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site