From: Marc Orr <marcorr@google.com>
To: Ashish Kalra <Ashish.Kalra@amd.com>
Cc: x86 <x86@kernel.org>, LKML <linux-kernel@vger.kernel.org>,
kvm list <kvm@vger.kernel.org>,
linux-coco@lists.linux.dev, linux-mm@kvack.org,
Linux Crypto Mailing List <linux-crypto@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Joerg Roedel <jroedel@suse.de>,
"Lendacky, Thomas" <thomas.lendacky@amd.com>,
"H. Peter Anvin" <hpa@zytor.com>,
Ard Biesheuvel <ardb@kernel.org>,
Paolo Bonzini <pbonzini@redhat.com>,
Sean Christopherson <seanjc@google.com>,
Vitaly Kuznetsov <vkuznets@redhat.com>,
Jim Mattson <jmattson@google.com>,
Andy Lutomirski <luto@kernel.org>,
Dave Hansen <dave.hansen@linux.intel.com>,
Sergio Lopez <slp@redhat.com>, Peter Gonda <pgonda@google.com>,
Peter Zijlstra <peterz@infradead.org>,
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>,
David Rientjes <rientjes@google.com>,
Dov Murik <dovmurik@linux.ibm.com>,
Tobin Feldman-Fitzthum <tobin@ibm.com>,
Borislav Petkov <bp@alien8.de>,
"Roth, Michael" <michael.roth@amd.com>,
Vlastimil Babka <vbabka@suse.cz>,
"Kirill A . Shutemov" <kirill@shutemov.name>,
Andi Kleen <ak@linux.intel.com>, Tony Luck <tony.luck@intel.com>,
Sathyanarayanan Kuppuswamy
<sathyanarayanan.kuppuswamy@linux.intel.com>,
Alper Gun <alpergun@google.com>,
"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
jarkko@kernel.org
Subject: Re: [PATCH Part2 v6 03/49] x86/sev: Add the host SEV-SNP initialization support
Date: Thu, 23 Jun 2022 13:48:31 -0700 [thread overview]
Message-ID: <CAA03e5FgfVQbz=pvMeBpOHENe5Rf_7UvE3iAqcgm=9nmwGEEBw@mail.gmail.com> (raw)
In-Reply-To: <8f4eef289aba5067582d0d3535299c22a4e5c4c4.1655761627.git.ashish.kalra@amd.com>
On Mon, Jun 20, 2022 at 4:02 PM Ashish Kalra <Ashish.Kalra@amd.com> wrote:
>
> From: Brijesh Singh <brijesh.singh@amd.com>
>
> The memory integrity guarantees of SEV-SNP are enforced through a new
> structure called the Reverse Map Table (RMP). The RMP is a single data
> structure shared across the system that contains one entry for every 4K
> page of DRAM that may be used by SEV-SNP VMs. The goal of RMP is to
> track the owner of each page of memory. Pages of memory can be owned by
> the hypervisor, owned by a specific VM or owned by the AMD-SP. See APM2
> section 15.36.3 for more detail on RMP.
>
> The RMP table is used to enforce access control to memory. The table itself
> is not directly writable by the software. New CPU instructions (RMPUPDATE,
> PVALIDATE, RMPADJUST) are used to manipulate the RMP entries.
>
> Based on the platform configuration, the BIOS reserves the memory used
> for the RMP table. The start and end address of the RMP table must be
> queried by reading the RMP_BASE and RMP_END MSRs. If the RMP_BASE and
> RMP_END are not set then disable the SEV-SNP feature.
>
> The SEV-SNP feature is enabled only after the RMP table is successfully
> initialized.
>
> Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
> ---
> arch/x86/include/asm/disabled-features.h | 8 +-
> arch/x86/include/asm/msr-index.h | 6 +
> arch/x86/kernel/sev.c | 144 +++++++++++++++++++++++
> 3 files changed, 157 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/include/asm/disabled-features.h b/arch/x86/include/asm/disabled-features.h
> index 36369e76cc63..c1be3091a383 100644
> --- a/arch/x86/include/asm/disabled-features.h
> +++ b/arch/x86/include/asm/disabled-features.h
> @@ -68,6 +68,12 @@
> # define DISABLE_TDX_GUEST (1 << (X86_FEATURE_TDX_GUEST & 31))
> #endif
>
> +#ifdef CONFIG_AMD_MEM_ENCRYPT
> +# define DISABLE_SEV_SNP 0
> +#else
> +# define DISABLE_SEV_SNP (1 << (X86_FEATURE_SEV_SNP & 31))
> +#endif
> +
> /*
> * Make sure to add features to the correct mask
> */
> @@ -91,7 +97,7 @@
> DISABLE_ENQCMD)
> #define DISABLED_MASK17 0
> #define DISABLED_MASK18 0
> -#define DISABLED_MASK19 0
> +#define DISABLED_MASK19 (DISABLE_SEV_SNP)
> #define DISABLED_MASK_CHECK BUILD_BUG_ON_ZERO(NCAPINTS != 20)
>
> #endif /* _ASM_X86_DISABLED_FEATURES_H */
> diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h
> index 9e2e7185fc1d..57a8280e283a 100644
> --- a/arch/x86/include/asm/msr-index.h
> +++ b/arch/x86/include/asm/msr-index.h
> @@ -507,6 +507,8 @@
> #define MSR_AMD64_SEV_ENABLED BIT_ULL(MSR_AMD64_SEV_ENABLED_BIT)
> #define MSR_AMD64_SEV_ES_ENABLED BIT_ULL(MSR_AMD64_SEV_ES_ENABLED_BIT)
> #define MSR_AMD64_SEV_SNP_ENABLED BIT_ULL(MSR_AMD64_SEV_SNP_ENABLED_BIT)
> +#define MSR_AMD64_RMP_BASE 0xc0010132
> +#define MSR_AMD64_RMP_END 0xc0010133
>
> #define MSR_AMD64_VIRT_SPEC_CTRL 0xc001011f
>
> @@ -581,6 +583,10 @@
> #define MSR_AMD64_SYSCFG 0xc0010010
> #define MSR_AMD64_SYSCFG_MEM_ENCRYPT_BIT 23
> #define MSR_AMD64_SYSCFG_MEM_ENCRYPT BIT_ULL(MSR_AMD64_SYSCFG_MEM_ENCRYPT_BIT)
> +#define MSR_AMD64_SYSCFG_SNP_EN_BIT 24
> +#define MSR_AMD64_SYSCFG_SNP_EN BIT_ULL(MSR_AMD64_SYSCFG_SNP_EN_BIT)
> +#define MSR_AMD64_SYSCFG_SNP_VMPL_EN_BIT 25
> +#define MSR_AMD64_SYSCFG_SNP_VMPL_EN BIT_ULL(MSR_AMD64_SYSCFG_SNP_VMPL_EN_BIT)
nit: The alignment here looks off. The rest of the file left-aligns
the macro definition column under a comment header. The bad alignment
can be viewed on the github version of this patch:
https://github.com/AMDESE/linux/commit/5101daef92f448c046207b701c0c420b1fce3eaf
> #define MSR_K8_INT_PENDING_MSG 0xc0010055
> /* C1E active bits in int pending message */
> #define K8_INTP_C1E_ACTIVE_MASK 0x18000000
> diff --git a/arch/x86/kernel/sev.c b/arch/x86/kernel/sev.c
> index f01f4550e2c6..3a233b5d47c5 100644
> --- a/arch/x86/kernel/sev.c
> +++ b/arch/x86/kernel/sev.c
> @@ -22,6 +22,8 @@
> #include <linux/efi.h>
> #include <linux/platform_device.h>
> #include <linux/io.h>
> +#include <linux/cpumask.h>
> +#include <linux/iommu.h>
>
> #include <asm/cpu_entry_area.h>
> #include <asm/stacktrace.h>
> @@ -38,6 +40,7 @@
> #include <asm/apic.h>
> #include <asm/cpuid.h>
> #include <asm/cmdline.h>
> +#include <asm/iommu.h>
>
> #define DR7_RESET_VALUE 0x400
>
> @@ -57,6 +60,12 @@
> #define AP_INIT_CR0_DEFAULT 0x60000010
> #define AP_INIT_MXCSR_DEFAULT 0x1f80
>
> +/*
> + * The first 16KB from the RMP_BASE is used by the processor for the
> + * bookkeeping, the range need to be added during the RMP entry lookup.
> + */
> +#define RMPTABLE_CPU_BOOKKEEPING_SZ 0x4000
> +
> /* For early boot hypervisor communication in SEV-ES enabled guests */
> static struct ghcb boot_ghcb_page __bss_decrypted __aligned(PAGE_SIZE);
>
> @@ -69,6 +78,10 @@ static struct ghcb *boot_ghcb __section(".data");
> /* Bitmap of SEV features supported by the hypervisor */
> static u64 sev_hv_features __ro_after_init;
>
> +static unsigned long rmptable_start __ro_after_init;
> +static unsigned long rmptable_end __ro_after_init;
> +
> +
> /* #VC handler runtime per-CPU data */
> struct sev_es_runtime_data {
> struct ghcb ghcb_page;
> @@ -2218,3 +2231,134 @@ static int __init snp_init_platform_device(void)
> return 0;
> }
> device_initcall(snp_init_platform_device);
> +
> +#undef pr_fmt
> +#define pr_fmt(fmt) "SEV-SNP: " fmt
> +
> +static int __snp_enable(unsigned int cpu)
> +{
> + u64 val;
> +
> + if (!cpu_feature_enabled(X86_FEATURE_SEV_SNP))
> + return 0;
> +
> + rdmsrl(MSR_AMD64_SYSCFG, val);
> +
> + val |= MSR_AMD64_SYSCFG_SNP_EN;
> + val |= MSR_AMD64_SYSCFG_SNP_VMPL_EN;
> +
> + wrmsrl(MSR_AMD64_SYSCFG, val);
> +
> + return 0;
> +}
> +
> +static __init void snp_enable(void *arg)
> +{
> + __snp_enable(smp_processor_id());
> +}
> +
> +static bool get_rmptable_info(u64 *start, u64 *len)
> +{
> + u64 calc_rmp_sz, rmp_sz, rmp_base, rmp_end, nr_pages;
> +
> + rdmsrl(MSR_AMD64_RMP_BASE, rmp_base);
> + rdmsrl(MSR_AMD64_RMP_END, rmp_end);
> +
> + if (!rmp_base || !rmp_end) {
> + pr_info("Memory for the RMP table has not been reserved by BIOS\n");
> + return false;
> + }
> +
> + rmp_sz = rmp_end - rmp_base + 1;
> +
> + /*
> + * Calculate the amount the memory that must be reserved by the BIOS to
> + * address the full system RAM. The reserved memory should also cover the
> + * RMP table itself.
> + *
> + * See PPR Family 19h Model 01h, Revision B1 section 2.1.4.2 for more
> + * information on memory requirement.
> + */
> + nr_pages = totalram_pages();
> + calc_rmp_sz = (((rmp_sz >> PAGE_SHIFT) + nr_pages) << 4) + RMPTABLE_CPU_BOOKKEEPING_SZ;
> +
> + if (calc_rmp_sz > rmp_sz) {
> + pr_info("Memory reserved for the RMP table does not cover full system RAM (expected 0x%llx got 0x%llx)\n",
> + calc_rmp_sz, rmp_sz);
> + return false;
> + }
> +
> + *start = rmp_base;
> + *len = rmp_sz;
> +
> + pr_info("RMP table physical address 0x%016llx - 0x%016llx\n", rmp_base, rmp_end);
> +
> + return true;
> +}
> +
> +static __init int __snp_rmptable_init(void)
> +{
> + u64 rmp_base, sz;
> + void *start;
> + u64 val;
> +
> + if (!get_rmptable_info(&rmp_base, &sz))
> + return 1;
> +
> + start = memremap(rmp_base, sz, MEMREMAP_WB);
> + if (!start) {
> + pr_err("Failed to map RMP table 0x%llx+0x%llx\n", rmp_base, sz);
> + return 1;
> + }
> +
> + /*
> + * Check if SEV-SNP is already enabled, this can happen if we are coming from
> + * kexec boot.
> + */
> + rdmsrl(MSR_AMD64_SYSCFG, val);
> + if (val & MSR_AMD64_SYSCFG_SNP_EN)
> + goto skip_enable;
> +
> + /* Initialize the RMP table to zero */
> + memset(start, 0, sz);
> +
> + /* Flush the caches to ensure that data is written before SNP is enabled. */
> + wbinvd_on_all_cpus();
> +
> + /* Enable SNP on all CPUs. */
> + on_each_cpu(snp_enable, NULL, 1);
> +
> +skip_enable:
> + rmptable_start = (unsigned long)start;
> + rmptable_end = rmptable_start + sz;
> +
> + return 0;
> +}
> +
> +static int __init snp_rmptable_init(void)
> +{
> + if (!boot_cpu_has(X86_FEATURE_SEV_SNP))
> + return 0;
> +
> + if (!iommu_sev_snp_supported())
> + goto nosnp;
> +
> + if (__snp_rmptable_init())
> + goto nosnp;
> +
> + cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "x86/rmptable_init:online", __snp_enable, NULL);
> +
> + return 0;
> +
> +nosnp:
> + setup_clear_cpu_cap(X86_FEATURE_SEV_SNP);
> + return 1;
Seems odd that we're returning 1 here, rather than 0. I tried to
figure out how the initcall return values are used and failed. My
impression was 0 means success and a negative number means failure.
But maybe this is normal.
> +}
> +
> +/*
> + * This must be called after the PCI subsystem. This is because before enabling
> + * the SNP feature we need to ensure that IOMMU supports the SEV-SNP feature.
> + * The iommu_sev_snp_support() is used for checking the feature, and it is
> + * available after subsys_initcall().
> + */
> +fs_initcall(snp_rmptable_init);
> --
> 2.25.1
>
next prev parent reply other threads:[~2022-06-23 20:48 UTC|newest]
Thread overview: 305+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-20 22:56 [PATCH Part2 v6 00/49] Add AMD Secure Nested Paging (SEV-SNP) Ashish Kalra
2022-06-20 22:59 ` [PATCH Part2 v6 01/49] x86/cpufeatures: Add SEV-SNP CPU feature Ashish Kalra
2022-06-21 8:58 ` Borislav Petkov
2022-06-20 22:59 ` [PATCH Part2 v6 02/49] iommu/amd: Introduce function to check SEV-SNP support Ashish Kalra
2022-06-21 15:28 ` Peter Gonda
2022-06-21 17:45 ` Kalra, Ashish
2022-06-21 17:50 ` Peter Gonda
2022-06-22 7:33 ` Suthikulpanit, Suravee
2022-08-25 1:28 ` jarkko
2022-08-25 1:30 ` Jarkko Sakkinen
2022-08-26 18:54 ` Kalra, Ashish
2022-08-28 4:18 ` Jarkko Sakkinen
2022-07-01 10:42 ` Borislav Petkov
2022-07-05 13:56 ` Kalra, Ashish
2022-07-05 14:33 ` Borislav Petkov
2022-07-05 14:53 ` Kalra, Ashish
2022-06-20 23:02 ` [PATCH Part2 v6 03/49] x86/sev: Add the host SEV-SNP initialization support Ashish Kalra
2022-06-21 15:47 ` Peter Gonda
2022-06-21 17:59 ` Kalra, Ashish
2022-06-23 20:48 ` Marc Orr [this message]
2022-06-23 22:22 ` Kalra, Ashish
2022-07-17 10:01 ` Borislav Petkov
2022-07-19 3:56 ` Kalra, Ashish
2022-07-19 8:38 ` Borislav Petkov
2022-07-19 11:34 ` Kalra, Ashish
2022-06-20 23:02 ` [PATCH Part2 v6 04/49] x86/sev: set SYSCFG.MFMD Ashish Kalra
2022-06-23 21:00 ` Marc Orr
2022-07-21 11:29 ` Borislav Petkov
2022-08-01 21:16 ` Kalra, Ashish
2022-06-20 23:02 ` [PATCH Part2 v6 05/49] x86/sev: Add RMP entry lookup helpers Ashish Kalra
2022-06-22 14:13 ` Dave Hansen
2022-06-22 14:22 ` Kalra, Ashish
2022-06-22 14:29 ` Dave Hansen
2022-06-22 18:15 ` Kalra, Ashish
2022-06-22 18:17 ` Dave Hansen
2022-06-22 18:34 ` Kalra, Ashish
2022-06-22 18:42 ` Dave Hansen
2022-06-22 19:43 ` Kalra, Ashish
2022-06-22 19:49 ` Dave Hansen
2022-06-22 20:15 ` Kalra, Ashish
2022-06-22 20:58 ` Kalra, Ashish
2022-06-23 22:36 ` Sean Christopherson
2022-06-23 22:43 ` Kalra, Ashish
2022-07-22 11:35 ` Borislav Petkov
2022-07-22 19:04 ` Sean Christopherson
2022-07-22 19:25 ` Borislav Petkov
2022-07-22 19:38 ` Borislav Petkov
2022-08-01 21:53 ` Kalra, Ashish
2022-07-22 22:16 ` Sean Christopherson
2022-07-22 22:25 ` Borislav Petkov
2022-08-01 21:50 ` Kalra, Ashish
2022-06-23 21:30 ` Marc Orr
2022-07-22 11:43 ` Borislav Petkov
2022-08-01 21:45 ` Kalra, Ashish
2022-07-25 14:32 ` Borislav Petkov
2022-08-01 22:04 ` Kalra, Ashish
2022-06-20 23:02 ` [PATCH Part2 v6 06/49] x86/sev: Add helper functions for RMPUPDATE and PSMASH instruction Ashish Kalra
2022-06-21 16:40 ` Dr. David Alan Gilbert
2022-06-21 17:38 ` Kalra, Ashish
2022-06-22 18:17 ` Kalra, Ashish
2022-06-28 10:50 ` Dr. David Alan Gilbert
2022-06-28 17:57 ` Kalra, Ashish
2022-06-28 18:58 ` Dr. David Alan Gilbert
2022-06-28 19:03 ` Dave Hansen
2022-07-25 13:24 ` Borislav Petkov
2022-08-01 23:32 ` Kalra, Ashish
2022-08-02 14:14 ` Borislav Petkov
2022-06-22 14:26 ` Dave Hansen
2022-06-22 18:04 ` Kalra, Ashish
2022-07-24 17:31 ` Dov Murik
2022-08-02 4:49 ` Kalra, Ashish
2022-07-25 14:36 ` Borislav Petkov
2022-08-01 22:31 ` Kalra, Ashish
2022-08-03 20:26 ` Borislav Petkov
2022-06-20 23:03 ` [PATCH Part2 v6 07/49] x86/sev: Invalid pages from direct map when adding it to RMP table Ashish Kalra
2022-06-24 0:06 ` Marc Orr
2022-07-27 17:01 ` Borislav Petkov
2022-08-01 23:57 ` Kalra, Ashish
2022-08-04 12:11 ` Borislav Petkov
2022-11-02 3:12 ` Kalra, Ashish
2022-11-02 11:27 ` Borislav Petkov
2022-12-19 15:00 ` Michael Roth
2022-12-19 20:08 ` Borislav Petkov
2022-12-27 21:49 ` Kalra, Ashish
2022-12-29 17:09 ` Borislav Petkov
2023-01-05 21:46 ` Kalra, Ashish
2023-01-05 22:08 ` Marc Orr
2023-01-05 22:27 ` Kalra, Ashish
2023-01-05 22:31 ` Marc Orr
2022-12-30 15:19 ` Mike Rapoport
2022-06-20 23:03 ` [PATCH Part2 v6 08/49] x86/traps: Define RMP violation #PF error code Ashish Kalra
2022-08-08 13:13 ` Borislav Petkov
2022-06-20 23:03 ` [PATCH Part2 v6 09/49] x86/fault: Add support to handle the RMP fault for user address Ashish Kalra
2022-06-22 14:29 ` Jeremi Piotrowski
2022-07-12 11:57 ` Jarkko Sakkinen
2022-07-12 14:29 ` Kalra, Ashish
2022-07-12 14:54 ` Jarkko Sakkinen
2022-08-09 16:55 ` Borislav Petkov
2022-08-10 3:59 ` Kalra, Ashish
2022-08-10 9:42 ` Borislav Petkov
2022-08-10 22:00 ` Kalra, Ashish
2022-08-11 14:27 ` Borislav Petkov
2022-09-01 20:32 ` Kalra, Ashish
2022-09-02 6:52 ` Borislav Petkov
2022-09-02 15:33 ` Kalra, Ashish
2022-09-03 4:25 ` Borislav Petkov
2022-09-03 5:51 ` Kalra, Ashish
2022-09-03 6:57 ` Kalra, Ashish
2022-09-03 8:31 ` Boris Petkov
2022-09-03 17:30 ` Kalra, Ashish
2022-09-04 6:37 ` Borislav Petkov
2022-09-06 14:06 ` Kalra, Ashish
2022-09-06 10:25 ` Jarkko Sakkinen
2022-09-06 10:33 ` Jarkko Sakkinen
2022-09-06 13:54 ` Marc Orr
2022-09-06 14:17 ` Kalra, Ashish
2022-09-06 15:06 ` Michael Roth
2022-09-06 16:39 ` Kalra, Ashish
2022-09-07 5:14 ` Marc Orr
2022-09-06 15:44 ` Jarkko Sakkinen
2022-09-08 7:46 ` Jarkko Sakkinen
2022-09-08 7:57 ` Jarkko Sakkinen
2022-08-11 15:15 ` vbabka
2022-09-06 2:30 ` Dave Hansen
2022-06-20 23:03 ` [PATCH Part2 v6 10/49] x86/fault: Add support to dump RMP entry on fault Ashish Kalra
2022-06-22 14:33 ` Jeremi Piotrowski
2022-06-22 14:42 ` Jeremi Piotrowski
2022-06-22 18:08 ` Kalra, Ashish
2022-08-23 13:21 ` Borislav Petkov
2022-06-20 23:04 ` [PATCH Part2 v6 11/49] crypto:ccp: Define the SEV-SNP commands Ashish Kalra
2022-09-20 13:03 ` Borislav Petkov
2022-09-20 13:46 ` Kalra, Ashish
2022-09-20 14:04 ` Borislav Petkov
2022-06-20 23:04 ` [PATCH Part2 v6 12/49] crypto: ccp: Add support to initialize the AMD-SP for SEV-SNP Ashish Kalra
2022-10-01 17:33 ` Borislav Petkov
2022-10-14 21:09 ` Kalra, Ashish
2022-10-14 21:31 ` Kalra, Ashish
2022-10-25 8:56 ` Borislav Petkov
2022-10-19 18:48 ` Kalra, Ashish
2022-10-23 21:17 ` Jarkko Sakkinen
2022-10-25 9:07 ` Borislav Petkov
2022-10-25 8:30 ` Borislav Petkov
2022-06-20 23:04 ` [PATCH Part2 v6 13/49] crypto:ccp: Provide APIs to issue SEV-SNP commands Ashish Kalra
2022-06-21 21:43 ` Peter Gonda
2022-06-22 1:44 ` Kalra, Ashish
2022-08-02 10:52 ` Jarkko Sakkinen
2022-10-01 20:17 ` Borislav Petkov
2022-10-03 14:38 ` Kalra, Ashish
2022-10-03 16:16 ` Borislav Petkov
2022-10-03 17:11 ` Kalra, Ashish
2022-10-03 17:45 ` Borislav Petkov
2022-10-03 18:01 ` Peter Gonda
2022-10-03 18:16 ` Borislav Petkov
2022-10-03 18:43 ` Kalra, Ashish
2022-10-03 18:53 ` Borislav Petkov
2022-06-20 23:05 ` [PATCH Part2 v6 14/49] crypto: ccp: Handle the legacy TMR allocation when SNP is enabled Ashish Kalra
2022-06-21 18:11 ` Peter Gonda
2022-06-21 20:17 ` Kalra, Ashish
2022-06-24 14:19 ` Peter Gonda
2022-08-02 12:17 ` jarkko
2022-08-02 11:17 ` Jarkko Sakkinen
2022-10-13 15:15 ` Borislav Petkov
2022-10-14 20:00 ` Kalra, Ashish
2022-10-25 10:25 ` Borislav Petkov
2022-10-31 20:10 ` Kalra, Ashish
2022-10-31 21:15 ` Borislav Petkov
2022-10-31 21:58 ` Kalra, Ashish
2022-11-02 11:22 ` Borislav Petkov
2022-11-14 23:36 ` Kalra, Ashish
2022-11-15 14:26 ` Borislav Petkov
2022-11-15 15:14 ` Vlastimil Babka
2022-11-15 15:22 ` Borislav Petkov
2022-11-15 16:27 ` Borislav Petkov
2022-11-15 22:44 ` Kalra, Ashish
2022-11-15 17:24 ` Kalra, Ashish
2022-11-15 18:15 ` Kalra, Ashish
2022-11-16 9:08 ` Vlastimil Babka
2022-11-16 10:19 ` Kalra, Ashish
2022-11-16 10:25 ` Vlastimil Babka
2022-11-16 18:01 ` Kalra, Ashish
2022-11-16 18:33 ` Borislav Petkov
2022-11-16 18:53 ` Kalra, Ashish
2022-11-16 19:09 ` Borislav Petkov
2022-11-16 19:23 ` Kalra, Ashish
2022-11-16 18:32 ` Dave Hansen
2022-11-16 5:19 ` HORIGUCHI NAOYA(堀口 直也)
2022-11-16 10:28 ` Kalra, Ashish
2022-11-16 23:41 ` HORIGUCHI NAOYA(堀口 直也)
2022-11-17 20:56 ` Kalra, Ashish
2022-11-20 21:34 ` Borislav Petkov
2022-11-22 0:37 ` Kalra, Ashish
2022-11-22 10:17 ` Borislav Petkov
2022-11-22 10:32 ` Kalra, Ashish
2022-11-22 10:44 ` Borislav Petkov
2022-11-22 11:44 ` Kalra, Ashish
2022-11-23 11:40 ` Borislav Petkov
2022-11-23 18:32 ` Kalra, Ashish
2022-06-20 23:05 ` [PATCH Part2 v6 15/49] crypto: ccp: Handle the legacy SEV command " Ashish Kalra
2022-06-20 23:05 ` [PATCH Part2 v6 16/49] crypto: ccp: Add the SNP_PLATFORM_STATUS command Ashish Kalra
2022-06-20 23:05 ` [PATCH Part2 v6 17/49] crypto: ccp: Add the SNP_{SET,GET}_EXT_CONFIG command Ashish Kalra
2022-06-21 22:13 ` Peter Gonda
2022-06-22 1:58 ` Kalra, Ashish
2022-08-02 12:31 ` Jarkko Sakkinen
2022-08-08 19:27 ` Dionna Amalie Glaze
2022-08-08 21:32 ` Tom Lendacky
2022-08-08 23:25 ` Dionna Amalie Glaze
2022-06-20 23:06 ` [PATCH Part2 v6 18/49] crypto: ccp: Provide APIs to query extended attestation report Ashish Kalra
2022-06-21 22:30 ` Peter Gonda
2022-08-02 12:39 ` Jarkko Sakkinen
2022-06-20 23:06 ` [PATCH Part2 v6 19/49] KVM: SVM: Add support to handle AP reset MSR protocol Ashish Kalra
2022-06-20 23:06 ` [PATCH Part2 v6 20/49] KVM: SVM: Provide the Hypervisor Feature support VMGEXIT Ashish Kalra
2022-06-20 23:06 ` [PATCH Part2 v6 21/49] KVM: SVM: Make AVIC backing, VMSA and VMCB memory allocation SNP safe Ashish Kalra
2022-08-04 11:32 ` Vlastimil Babka
2022-06-20 23:07 ` [PATCH Part2 v6 22/49] KVM: SVM: Add initial SEV-SNP support Ashish Kalra
2022-06-20 23:07 ` [PATCH Part2 v6 23/49] KVM: SVM: Add KVM_SNP_INIT command Ashish Kalra
2022-06-20 23:07 ` [PATCH Part2 v6 24/49] KVM: SVM: Add KVM_SEV_SNP_LAUNCH_START command Ashish Kalra
2022-06-24 14:42 ` Peter Gonda
2022-06-24 18:17 ` Kalra, Ashish
2022-08-02 13:19 ` Jarkko Sakkinen
2022-06-20 23:07 ` [PATCH Part2 v6 25/49] KVM: SVM: Disallow registering memory range from HugeTLB for SNP guest Ashish Kalra
2022-08-04 13:37 ` Vlastimil Babka
2022-06-20 23:08 ` [PATCH Part2 v6 26/49] KVM: SVM: Add KVM_SEV_SNP_LAUNCH_UPDATE command Ashish Kalra
2022-06-24 14:33 ` Peter Gonda
2022-06-29 18:14 ` Kalra, Ashish
2022-08-02 12:50 ` Jarkko Sakkinen
2022-08-09 13:55 ` Sabin Rapan
2022-08-15 23:04 ` Kalra, Ashish
2022-06-20 23:08 ` [PATCH Part2 v6 27/49] KVM: SVM: Mark the private vma unmerable for SEV-SNP guests Ashish Kalra
2022-06-22 10:29 ` Dr. David Alan Gilbert
2022-08-04 10:56 ` Vlastimil Babka
2022-06-20 23:08 ` [PATCH Part2 v6 28/49] KVM: SVM: Add KVM_SEV_SNP_LAUNCH_FINISH command Ashish Kalra
2022-07-11 14:05 ` Peter Gonda
2022-07-11 22:41 ` Kalra, Ashish
2022-07-12 14:45 ` Peter Gonda
2022-07-12 15:22 ` Kalra, Ashish
2022-07-12 16:04 ` Peter Gonda
2022-07-12 17:40 ` Tom Lendacky
2022-07-13 14:59 ` Peter Gonda
2022-08-02 13:28 ` Jarkko Sakkinen
2022-09-08 14:55 ` [[PATCH for v6]] KVM: SEV: fix snp_launch_finish Harald Hoyer
2022-09-08 15:11 ` Sean Christopherson
2022-09-08 20:34 ` Jarkko Sakkinen
2022-09-09 8:04 ` [PATCH Part2 v6 28/49] KVM: SVM: Add KVM_SEV_SNP_LAUNCH_FINISH command Harald Hoyer
2022-06-20 23:08 ` [PATCH Part2 v6 29/49] KVM: X86: Keep the NPT and RMP page level in sync Ashish Kalra
2022-07-12 16:44 ` Jarkko Sakkinen
2022-06-20 23:09 ` [PATCH Part2 v6 30/49] KVM: x86/mmu: Introduce kvm_mmu_map_tdp_page() for use by TDX and SNP Ashish Kalra
2022-06-20 23:09 ` [PATCH Part2 v6 31/49] KVM: x86: Introduce kvm_mmu_get_tdp_walk() for SEV-SNP use Ashish Kalra
2022-09-07 17:45 ` Alper Gun
2022-06-20 23:09 ` [PATCH Part2 v6 32/49] KVM: x86: Define RMP page fault error bits for #NPF Ashish Kalra
2022-06-20 23:10 ` [PATCH Part2 v6 33/49] KVM: x86: Update page-fault trace to log full 64-bit error code Ashish Kalra
2022-07-25 11:19 ` Vlastimil Babka
2022-06-20 23:10 ` [PATCH Part2 v6 34/49] KVM: SVM: Do not use long-lived GHCB map while setting scratch area Ashish Kalra
2022-06-20 23:10 ` [PATCH Part2 v6 35/49] KVM: SVM: Remove the long-lived GHCB host map Ashish Kalra
2022-06-24 15:12 ` Peter Gonda
2022-06-24 20:14 ` Kalra, Ashish
2022-07-07 20:06 ` Peter Gonda
2022-07-07 20:31 ` Kalra, Ashish
2022-07-08 15:54 ` Peter Gonda
2022-07-08 15:59 ` Kalra, Ashish
2022-06-20 23:11 ` [PATCH Part2 v6 36/49] KVM: SVM: Add support to handle GHCB GPA register VMGEXIT Ashish Kalra
2022-06-28 13:28 ` Dr. David Alan Gilbert
2022-06-20 23:11 ` [PATCH Part2 v6 37/49] KVM: SVM: Add support to handle MSR based Page State Change VMGEXIT Ashish Kalra
2022-08-19 16:54 ` Peter Gonda
2022-09-19 17:53 ` Alper Gun
2022-09-19 21:38 ` Tom Lendacky
2022-09-19 22:02 ` Alper Gun
2022-09-19 22:18 ` Tom Lendacky
2022-09-19 23:46 ` Ashish Kalra
2022-09-26 15:19 ` Peter Gonda
2022-10-12 20:15 ` Kalra, Ashish
2022-10-12 22:57 ` Michael Roth
2022-06-20 23:11 ` [PATCH Part2 v6 38/49] KVM: SVM: Add support to handle " Ashish Kalra
2022-06-20 23:12 ` [PATCH Part2 v6 39/49] KVM: SVM: Introduce ops for the post gfn map and unmap Ashish Kalra
2022-08-18 3:47 ` Alper Gun
2022-11-17 20:18 ` Peter Gonda
2022-11-17 20:28 ` Kalra, Ashish
2022-11-17 21:36 ` Kalra, Ashish
2022-06-20 23:12 ` [PATCH Part2 v6 40/49] KVM: x86: Export the kvm_zap_gfn_range() for the SNP use Ashish Kalra
2022-06-20 23:13 ` [PATCH Part2 v6 41/49] KVM: SVM: Add support to handle the RMP nested page fault Ashish Kalra
2022-07-12 12:33 ` Jarkko Sakkinen
2022-07-12 12:45 ` Jarkko Sakkinen
2022-07-12 12:48 ` Jarkko Sakkinen
2022-07-12 15:32 ` Kalra, Ashish
2022-10-10 22:03 ` Alper Gun
2022-10-11 2:32 ` Kalra, Ashish
2022-10-12 22:53 ` Alper Gun
2022-10-13 15:00 ` Kalra, Ashish
2022-06-20 23:13 ` [PATCH Part2 v6 42/49] KVM: SVM: Provide support for SNP_GUEST_REQUEST NAE event Ashish Kalra
2022-06-24 16:25 ` Peter Gonda
2022-06-27 19:03 ` Kalra, Ashish
2022-06-29 19:15 ` Kalra, Ashish
2022-07-08 15:28 ` Peter Gonda
2022-10-21 19:06 ` Tom Lendacky
2022-10-21 21:12 ` Kalra, Ashish
2022-10-21 21:30 ` Tom Lendacky
2022-10-21 21:56 ` Kalra, Ashish
2022-06-20 23:13 ` [PATCH Part2 v6 43/49] KVM: SVM: Use a VMSA physical address variable for populating VMCB Ashish Kalra
2022-06-20 23:14 ` [PATCH Part2 v6 44/49] KVM: SVM: Support SEV-SNP AP Creation NAE event Ashish Kalra
2022-06-20 23:14 ` [PATCH Part2 v6 45/49] KVM: SVM: Add module parameter to enable the SEV-SNP Ashish Kalra
2022-06-20 23:14 ` [PATCH Part2 v6 46/49] ccp: add support to decrypt the page Ashish Kalra
2022-06-20 23:14 ` [PATCH Part2 v6 47/49] *fix for stale per-cpu pointer due to cond_resched during ghcb mapping Ashish Kalra
2022-06-24 16:35 ` Peter Gonda
2022-06-24 16:44 ` Kalra, Ashish
2022-06-20 23:15 ` [PATCH Part2 v6 48/49] *debug: warn and retry failed rmpupdates Ashish Kalra
2022-06-20 23:15 ` [PATCH Part2 v6 49/49] KVM: SVM: Sync the GHCB scratch buffer using already mapped ghcb Ashish Kalra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAA03e5FgfVQbz=pvMeBpOHENe5Rf_7UvE3iAqcgm=9nmwGEEBw@mail.gmail.com' \
--to=marcorr@google.com \
--cc=Ashish.Kalra@amd.com \
--cc=ak@linux.intel.com \
--cc=alpergun@google.com \
--cc=ardb@kernel.org \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=dgilbert@redhat.com \
--cc=dovmurik@linux.ibm.com \
--cc=hpa@zytor.com \
--cc=jarkko@kernel.org \
--cc=jmattson@google.com \
--cc=jroedel@suse.de \
--cc=kirill@shutemov.name \
--cc=kvm@vger.kernel.org \
--cc=linux-coco@lists.linux.dev \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=luto@kernel.org \
--cc=michael.roth@amd.com \
--cc=mingo@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=pgonda@google.com \
--cc=rientjes@google.com \
--cc=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=seanjc@google.com \
--cc=slp@redhat.com \
--cc=srinivas.pandruvada@linux.intel.com \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.com \
--cc=tobin@ibm.com \
--cc=tony.luck@intel.com \
--cc=vbabka@suse.cz \
--cc=vkuznets@redhat.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).