lkml.org 
[lkml]   [2023]   [Jan]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[RFC PATCH v1 0/6] Support nested SNP KVM guests on Hyper-V
    Date
    This patch series enables SNP-host support when running on Hyper-V, which
    allows launching nested SNP guests. No guest or qemu changes are necessary
    for this to work.

    Patch 1 deals with allocating an RMP table which is not provided by
    firmware/hypervisor. Patch 2 implements MSR-based rmpupdate/psmash instructions
    which are meant for virtualized environments. Patch 3 maintains the rmptable
    for internal kernel page tracking. Patch 4 makes sure that the kernel does not
    disable SNP support during early CPU init. Patch 5 allows SNP initialization to
    proceed when no iommus are available. Patch 6 adds a quirk in psp command
    buffer handling, because of differences in SNP firmware spec interpretation.

    This series depends on

    - "Add AMD Secure Nested Paging (SEV-SNP) Hypervisor Support" (applies on top of RFC v7)
    https://lore.kernel.org/lkml/20221214194056.161492-1-michael.roth@amd.com/
    - "Support ACPI PSP on Hyper-V"
    https://lore.kernel.org/lkml/20230123152250.26413-1-jpiotrowski@linux.microsoft.com/

    Jeremi Piotrowski (6):
    x86/hyperv: Allocate RMP table during boot
    x86/sev: Add support for NestedVirtSnpMsr
    x86/sev: Maintain shadow rmptable on Hyper-V
    x86/amd: Configure necessary MSRs for SNP during CPU init when running
    as a guest
    iommu/amd: Don't fail snp_enable when running virtualized
    crypto: ccp - Introduce quirk to always reclaim pages after SEV-legacy
    commands

    arch/x86/hyperv/hv_init.c | 5 ++
    arch/x86/include/asm/cpufeatures.h | 1 +
    arch/x86/include/asm/hyperv-tlfs.h | 3 +
    arch/x86/include/asm/mshyperv.h | 3 +
    arch/x86/include/asm/msr-index.h | 2 +
    arch/x86/include/asm/sev.h | 2 +
    arch/x86/kernel/cpu/amd.c | 8 +-
    arch/x86/kernel/cpu/mshyperv.c | 41 ++++++++++
    arch/x86/kernel/sev.c | 122 ++++++++++++++++++++++++++---
    drivers/crypto/ccp/sev-dev.c | 6 +-
    drivers/crypto/ccp/sp-dev.h | 4 +
    drivers/crypto/ccp/sp-platform.c | 1 +
    drivers/iommu/amd/init.c | 6 ++
    13 files changed, 191 insertions(+), 13 deletions(-)

    --
    2.25.1

    \
     
     \ /
      Last update: 2023-03-26 23:52    [W:3.077 / U:0.472 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site