mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Kalra, Ashish" <ashish.kalra@amd.com>
To: Borislav Petkov <bp@alien8.de>, Michael Roth <michael.roth@amd.com>
Cc: kvm@vger.kernel.org, linux-coco@lists.linux.dev,
	linux-mm@kvack.org, linux-crypto@vger.kernel.org, x86@kernel.org,
	linux-kernel@vger.kernel.org, tglx@linutronix.de,
	mingo@redhat.com, jroedel@suse.de, thomas.lendacky@amd.com,
	hpa@zytor.com, ardb@kernel.org, pbonzini@redhat.com,
	seanjc@google.com, vkuznets@redhat.com, jmattson@google.com,
	luto@kernel.org, dave.hansen@linux.intel.com, slp@redhat.com,
	pgonda@google.com, peterz@infradead.org,
	srinivas.pandruvada@linux.intel.com, rientjes@google.com,
	dovmurik@linux.ibm.com, tobin@ibm.com, vbabka@suse.cz,
	kirill@shutemov.name, ak@linux.intel.com, tony.luck@intel.com,
	marcorr@google.com, sathyanarayanan.kuppuswamy@linux.intel.com,
	alpergun@google.com, jarkko@kernel.org, nikunj.dadhania@amd.com,
	pankaj.gupta@amd.com, liam.merwick@oracle.com,
	zhi.a.wang@intel.com, Brijesh Singh <brijesh.singh@amd.com>
Subject: Re: [PATCH v10 06/50] x86/sev: Add the host SEV-SNP initialization support
Date: Tue, 7 Nov 2023 13:00:00 -0600	[thread overview]
Message-ID: <4a2016d6-dc1f-ff68-9827-0b72b7c8eac2@amd.com> (raw)
In-Reply-To: <20231107163142.GAZUpmbt/i3himIf+E@fat_crate.local>

Hello Boris,

Addressing of some of the remaining comments:

On 11/7/2023 10:31 AM, Borislav Petkov wrote:
> On Mon, Oct 16, 2023 at 08:27:35AM -0500, Michael Roth wrote:
>> +static bool early_rmptable_check(void)
>> +{
>> +	u64 rmp_base, rmp_size;
>> +
>> +	/*
>> +	 * For early BSP initialization, max_pfn won't be set up yet, wait until
>> +	 * it is set before performing the RMP table calculations.
>> +	 */
>> +	if (!max_pfn)
>> +		return true;
> 
> This already says that this is called at the wrong point during init.
> 
> Right now we have
> 
> early_identify_cpu -> early_init_amd -> early_detect_mem_encrypt
> 
> which runs only on the BSP but then early_init_amd() is called in
> init_amd() too so that it takes care of the APs too.
> 
> Which ends up doing a lot of unnecessary work on each AP in
> early_detect_mem_encrypt() like calculating the RMP size on each AP
> unnecessarily where this needs to happen exactly once.
> 
> Is there any reason why this function cannot be moved to init_amd()
> where it'll do the normal, per-AP init?
> 
> And the stuff that needs to happen once, needs to be called once too.
> 
>> +
>> +	return snp_get_rmptable_info(&rmp_base, &rmp_size);
>> +}
>> +
>>   static void early_detect_mem_encrypt(struct cpuinfo_x86 *c)
>>   {
>>   	u64 msr;
>> @@ -659,6 +674,9 @@ static void early_detect_mem_encrypt(struct cpuinfo_x86 *c)
>>   		if (!(msr & MSR_K7_HWCR_SMMLOCK))
>>   			goto clear_sev;
>>   
>> +		if (cpu_has(c, X86_FEATURE_SEV_SNP) && !early_rmptable_check())
>> +			goto clear_snp;
>> +
>>   		return;
>>   
>>   clear_all:
>> @@ -666,6 +684,7 @@ static void early_detect_mem_encrypt(struct cpuinfo_x86 *c)
>>   clear_sev:
>>   		setup_clear_cpu_cap(X86_FEATURE_SEV);
>>   		setup_clear_cpu_cap(X86_FEATURE_SEV_ES);
>> +clear_snp:
>>   		setup_clear_cpu_cap(X86_FEATURE_SEV_SNP);
>>   	}
>>   }
> 
> ...
> 
>> +bool snp_get_rmptable_info(u64 *start, u64 *len)
>> +{
>> +	u64 max_rmp_pfn, calc_rmp_sz, rmp_sz, rmp_base, rmp_end;
>> +
>> +	rdmsrl(MSR_AMD64_RMP_BASE, rmp_base);
>> +	rdmsrl(MSR_AMD64_RMP_END, rmp_end);
>> +
>> +	if (!(rmp_base & RMP_ADDR_MASK) || !(rmp_end & RMP_ADDR_MASK)) {
>> +		pr_err("Memory for the RMP table has not been reserved by BIOS\n");
>> +		return false;
>> +	}
> 
> If you're masking off bits 0-12 above...
> 
>> +
>> +	if (rmp_base > rmp_end) {
> 
> ... why aren't you using the masked out vars further on?
> 
> I know, the hw will say, yeah, those bits are 0 but still. IOW, do:
> 
> 	rmp_base &= RMP_ADDR_MASK;
> 	rmp_end  &= RMP_ADDR_MASK;
> 
> after reading them.
> 
>> +		pr_err("RMP configuration not valid: base=%#llx, end=%#llx\n", rmp_base, rmp_end);
>> +		return false;
>> +	}
>> +
>> +	rmp_sz = rmp_end - rmp_base + 1;
>> +
>> +	/*
>> +	 * Calculate the amount the memory that must be reserved by the BIOS to
>> +	 * address the whole RAM, including the bookkeeping area. The RMP itself
>> +	 * must also be covered.
>> +	 */
>> +	max_rmp_pfn = max_pfn;
>> +	if (PHYS_PFN(rmp_end) > max_pfn)
>> +		max_rmp_pfn = PHYS_PFN(rmp_end);
>> +
>> +	calc_rmp_sz = (max_rmp_pfn << 4) + RMPTABLE_CPU_BOOKKEEPING_SZ;
>> +
>> +	if (calc_rmp_sz > rmp_sz) {
>> +		pr_err("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;
>> +
>> +	return true;
>> +}
>> +
>> +static __init int __snp_rmptable_init(void)
>> +{
>> +	u64 rmp_base, rmp_size;
>> +	void *rmp_start;
>> +	u64 val;
>> +
>> +	if (!snp_get_rmptable_info(&rmp_base, &rmp_size))
>> +		return 1;
>> +
>> +	pr_info("RMP table physical address [0x%016llx - 0x%016llx]\n",
> 
> That's "RMP table physical range"
> 
>> +		rmp_base, rmp_base + rmp_size - 1);
>> +
>> +	rmp_start = memremap(rmp_base, rmp_size, MEMREMAP_WB);
>> +	if (!rmp_start) {
>> +		pr_err("Failed to map RMP table addr 0x%llx size 0x%llx\n", rmp_base, rmp_size);
> 
> No need to dump rmp_base and rmp_size again here - you're dumping them
> above.
> 
>> +		return 1;
>> +	}
>> +
>> +	/*
>> +	 * Check if SEV-SNP is already enabled, this can happen in case of
>> +	 * kexec boot.
>> +	 */
>> +	rdmsrl(MSR_AMD64_SYSCFG, val);
>> +	if (val & MSR_AMD64_SYSCFG_SNP_EN)
>> +		goto skip_enable;
>> +
>> +	/* Initialize the RMP table to zero */
> 
> Again: useless comment.
> 
>> +	memset(rmp_start, 0, rmp_size);
>> +
>> +	/* Flush the caches to ensure that data is written before SNP is enabled. */
>> +	wbinvd_on_all_cpus();
>> +
>> +	/* MFDM must be enabled on all the CPUs prior to enabling SNP. */
> 
> First of all, use the APM bit name here pls: MtrrFixDramModEn.
> 
> And then, for the life of me, I can't find any mention in the APM why
> this bit is needed. Neither in "15.36.2 Enabling SEV-SNP" nor in
> "15.34.3 Enabling SEV".
> 
> Looking at the bit defintions of WrMem an RdMem - read and write
> requests get directed to system memory instead of MMIO so I guess you
> don't want to be able to write MMIO for certain physical ranges when SNP
> is enabled but it'll be good to have this properly explained instead of
> a "this must happen" information-less sentence.

This is a per-requisite for SNP_INIT as per the SNP Firmware ABI 
specifications, section 8.8.2:

 From the SNP FW ABI specs:

If INIT_RMP is 1, then the firmware ensures the following system 
requirements are met:
• SYSCFG[MemoryEncryptionModEn] must be set to 1 across all cores. (SEV 
must be
enabled.)
• SYSCFG[SecureNestedPagingEn] must be set to 1 across all cores.
• SYSCFG[VMPLEn] must be set to 1 across all cores.
• SYSCFG[MFDM] must be set to 1 across all cores.
• VM_HSAVE_PA (MSR C001_0117) must be set to 0h across all cores.
• HWCR[SmmLock] (MSR C001_0015) must be set to 1 across all cores.

So, this platform enabling code for SNP needs to ensure that these 
conditions are met before SNP_INIT is called.

> 
>> +	on_each_cpu(mfd_enable, NULL, 1);
>> +
>> +	/* Enable SNP on all CPUs. */
> 
> Useless comment.
> 
>> +	on_each_cpu(snp_enable, NULL, 1);
>> +
>> +skip_enable:
>> +	rmp_start += RMPTABLE_CPU_BOOKKEEPING_SZ;
>> +	rmp_size -= RMPTABLE_CPU_BOOKKEEPING_SZ;
>> +
>> +	rmptable_start = (struct rmpentry *)rmp_start;
>> +	rmptable_max_pfn = rmp_size / sizeof(struct rmpentry) - 1;
>> +
>> +	return 0;
>> +}
>> +
>> +static int __init snp_rmptable_init(void)
>> +{
>> +	int family, model;
>> +
>> +	if (!cpu_feature_enabled(X86_FEATURE_SEV_SNP))
>> +		return 0;
>> +
>> +	family = boot_cpu_data.x86;
>> +	model  = boot_cpu_data.x86_model;
> 
> Looks useless - just use boot_cpu_data directly below.
> 
> As mentioned here already https://lore.kernel.org/all/Y9ubi0i4Z750gdMm@zn.tnic/
> 
> And I already mentioned that for v9:
> 
> https://lore.kernel.org/r/20230621094236.GZZJLGDAicp1guNPvD@fat_crate.local
> 
> Next time I'm NAKing this patch until you incorporate all review
> comments or you give a technical reason why you disagree with them.
> 
>> +	/*
>> +	 * RMP table entry format is not architectural and it can vary by processor and
>> +	 * is defined by the per-processor PPR. Restrict SNP support on the known CPU
>> +	 * model and family for which the RMP table entry format is currently defined for.
>> +	 */
>> +	if (family != 0x19 || model > 0xaf)
>> +		goto nosnp;
>> +
>> +	if (amd_iommu_snp_enable())
>> +		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 -ENOSYS;
>> +}
>> +
>> +/*
>> + * This must be called after the PCI subsystem. This is because amd_iommu_snp_enable()
>> + * is called to ensure the IOMMU supports the SEV-SNP feature, which can only be
>> + * called after subsys_initcall().
>> + *
>> + * NOTE: IOMMU is enforced by SNP to ensure that hypervisor cannot program DMA
>> + * directly into guest private memory. In case of SNP, the IOMMU ensures that
>> + * the page(s) used for DMA are hypervisor owned.
>> + */
>> +fs_initcall(snp_rmptable_init);
> 
> This looks backwards. AFAICT, the IOMMU code should call arch code to
> enable SNP at the right time, not the other way around - arch code
> calling driver code.
> 
> Especially if the SNP table enablement depends on some exact IOMMU
> init_state:
> 
>          if (init_state > IOMMU_ENABLED) {
> 		pr_err("SNP: Too late to enable SNP for IOMMU.\n");
> 
> 

This is again as per SNP_INIT requirements, that SNP support is enabled 
in the IOMMU before SNP_INIT is done. The above function 
snp_rmptable_init() only calls the IOMMU driver to enable SNP support 
when it has detected and enabled platform support for SNP.

It is not that IOMMU driver has to call the arch code to enable SNP at 
the right time but it is the other way around that once platform support 
for SNP is enabled then the IOMMU driver has to be called to enable the 
same for the IOMMU and this needs to be done before the CCP driver is 
loaded and does SNP_INIT.

Thanks,
Ashish

  parent reply	other threads:[~2023-11-07 19:00 UTC|newest]

Thread overview: 158+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-16 13:27 [PATCH v10 00/50] Add AMD Secure Nested Paging (SEV-SNP) Hypervisor Support Michael Roth
2023-10-16 13:27 ` [PATCH v10 01/50] KVM: SVM: INTERCEPT_RDTSCP is never intercepted anyway Michael Roth
2023-10-16 15:12   ` Greg KH
2023-10-16 15:14     ` Paolo Bonzini
2023-10-16 15:21       ` Michael Roth
2023-10-16 13:27 ` [PATCH v10 02/50] KVM: SVM: Fix TSC_AUX virtualization setup Michael Roth
2023-10-16 13:27 ` [PATCH v10 03/50] KVM: SEV: Do not intercept accesses to MSR_IA32_XSS for SEV-ES guests Michael Roth
2023-12-13 12:50   ` Paolo Bonzini
2023-12-13 17:30     ` Sean Christopherson
2023-12-13 17:40       ` Paolo Bonzini
2023-10-16 13:27 ` [PATCH v10 04/50] x86/cpufeatures: Add SEV-SNP CPU feature Michael Roth
2023-12-13 12:51   ` Paolo Bonzini
2023-12-13 13:13     ` Borislav Petkov
2023-12-13 13:31       ` Paolo Bonzini
2023-12-13 13:36         ` Borislav Petkov
2023-12-13 13:40           ` Paolo Bonzini
2023-12-13 13:49             ` Borislav Petkov
2023-12-13 14:18               ` Paolo Bonzini
2023-12-13 15:41                 ` Borislav Petkov
2023-12-13 17:35                   ` Paolo Bonzini
2023-12-13 18:53                     ` Borislav Petkov
2023-10-16 13:27 ` [PATCH v10 05/50] x86/speculation: Do not enable Automatic IBRS if SEV SNP is enabled Michael Roth
2023-10-25 17:33   ` Borislav Petkov
2023-10-27 21:50   ` Dave Hansen
2023-12-13 12:52   ` Paolo Bonzini
2023-10-16 13:27 ` [PATCH v10 06/50] x86/sev: Add the host SEV-SNP initialization support Michael Roth
2023-10-25 18:19   ` Tom Lendacky
2023-11-07 16:31   ` Borislav Petkov
2023-11-07 18:32     ` Tom Lendacky
2023-11-07 19:13       ` Borislav Petkov
2023-11-08  8:21       ` Jeremi Piotrowski
2023-11-08 15:19         ` Tom Lendacky
2023-11-07 19:00     ` Kalra, Ashish [this message]
2023-11-07 19:19       ` Borislav Petkov
2023-11-07 20:27         ` Borislav Petkov
2023-11-07 21:21           ` Kalra, Ashish
2023-11-07 21:27             ` Borislav Petkov
2023-11-07 22:08               ` Borislav Petkov
2023-11-07 22:33                 ` Kalra, Ashish
2023-11-08  6:14                   ` Borislav Petkov
2023-11-08  9:11                     ` Jeremi Piotrowski
2023-11-08 19:53                     ` Kalra, Ashish
2023-12-08 17:09       ` Jeremi Piotrowski
2023-12-08 23:21         ` Kalra, Ashish
2023-12-20  7:07     ` Michael Roth
2023-10-16 13:27 ` [PATCH v10 07/50] x86/sev: Add RMP entry lookup helpers Michael Roth
2023-11-14 14:24   ` Borislav Petkov
2023-12-19  3:31     ` Michael Roth
2024-01-09 22:07       ` Borislav Petkov
2023-10-16 13:27 ` [PATCH v10 08/50] x86/fault: Add helper for dumping RMP entries Michael Roth
2023-11-15 16:08   ` Borislav Petkov
2023-12-19  6:08     ` Michael Roth
2023-10-16 13:27 ` [PATCH v10 09/50] x86/traps: Define RMP violation #PF error code Michael Roth
2023-10-16 14:14   ` Dave Hansen
2023-10-16 14:55     ` Michael Roth
2023-10-16 13:27 ` [PATCH v10 10/50] x86/fault: Report RMP page faults for kernel addresses Michael Roth
2023-11-21 15:23   ` Borislav Petkov
2023-10-16 13:27 ` [PATCH v10 11/50] x86/sev: Add helper functions for RMPUPDATE and PSMASH instruction Michael Roth
2023-11-21 16:21   ` Borislav Petkov
2023-12-19 16:20     ` Michael Roth
2023-10-16 13:27 ` [PATCH v10 12/50] x86/sev: Invalidate pages from the direct map when adding them to the RMP table Michael Roth
2023-11-24 14:20   ` Borislav Petkov
2023-10-16 13:27 ` [PATCH v10 13/50] crypto: ccp: Define the SEV-SNP commands Michael Roth
2023-11-24 14:36   ` Borislav Petkov
2023-10-16 13:27 ` [PATCH v10 14/50] crypto: ccp: Add support to initialize the AMD-SP for SEV-SNP Michael Roth
2023-11-27  9:59   ` Borislav Petkov
2023-11-30  2:13     ` Kalra, Ashish
2023-12-06 17:08       ` Borislav Petkov
2023-12-06 20:35         ` Kalra, Ashish
2023-12-09 16:20           ` Borislav Petkov
2023-12-11 21:11             ` Kalra, Ashish
2023-12-12  6:52               ` Borislav Petkov
2023-10-16 13:27 ` [PATCH v10 15/50] crypto: ccp: Provide API to issue SEV and SNP commands Michael Roth
2023-12-06 20:21   ` Borislav Petkov
2023-10-16 13:27 ` [PATCH v10 16/50] x86/sev: Introduce snp leaked pages list Michael Roth
2023-12-06 20:42   ` Borislav Petkov
2023-12-08 20:54     ` Kalra, Ashish
2023-12-07 16:20   ` Vlastimil Babka
2023-12-08 22:10     ` Kalra, Ashish
2023-12-11 13:08       ` Vlastimil Babka
2023-12-12 23:26         ` Kalra, Ashish
2023-10-16 13:27 ` [PATCH v10 17/50] crypto: ccp: Handle the legacy TMR allocation when SNP is enabled Michael Roth
2023-12-08 13:05   ` Borislav Petkov
2023-12-19 23:46     ` Michael Roth
2023-10-16 13:27 ` [PATCH v10 18/50] crypto: ccp: Handle the legacy SEV command " Michael Roth
2023-12-09 15:36   ` Borislav Petkov
2023-12-29 21:38     ` Michael Roth
2023-10-16 13:27 ` [PATCH v10 19/50] crypto: ccp: Add the SNP_PLATFORM_STATUS command Michael Roth
2023-12-12 16:45   ` Borislav Petkov
2023-10-16 13:27 ` [PATCH v10 20/50] KVM: SEV: Select CONFIG_KVM_SW_PROTECTED_VM when CONFIG_KVM_AMD_SEV=y Michael Roth
2023-12-13 12:54   ` Paolo Bonzini
2023-12-29 21:41     ` Michael Roth
2023-12-18 10:13   ` Borislav Petkov
2023-12-29 21:40     ` Michael Roth
2023-10-16 13:27 ` [PATCH v10 21/50] KVM: SEV: Add support to handle AP reset MSR protocol Michael Roth
2023-12-12 17:02   ` Borislav Petkov
2023-10-16 13:27 ` [PATCH v10 22/50] KVM: SEV: Add GHCB handling for Hypervisor Feature Support requests Michael Roth
2023-12-18 10:23   ` Borislav Petkov
2023-10-16 13:27 ` [PATCH v10 23/50] KVM: SEV: Make AVIC backing, VMSA and VMCB memory allocation SNP safe Michael Roth
2023-12-11 13:24   ` Vlastimil Babka
2023-12-12  0:00     ` Kalra, Ashish
2023-12-13 13:31   ` Paolo Bonzini
2023-12-13 18:45   ` Paolo Bonzini
2023-12-18 14:57   ` Borislav Petkov
2023-10-16 13:27 ` [PATCH v10 24/50] KVM: SEV: Add initial SEV-SNP support Michael Roth
2023-12-18 17:43   ` Borislav Petkov
2023-10-16 13:27 ` [PATCH v10 25/50] KVM: SEV: Add KVM_SNP_INIT command Michael Roth
2023-10-16 13:27 ` [PATCH v10 26/50] KVM: SEV: Add KVM_SEV_SNP_LAUNCH_START command Michael Roth
2023-10-16 13:27 ` [PATCH v10 27/50] KVM: Add HVA range operator Michael Roth
2023-10-16 13:27 ` [PATCH v10 28/50] KVM: SEV: Add KVM_SEV_SNP_LAUNCH_UPDATE command Michael Roth
2023-10-16 13:27 ` [PATCH v10 29/50] KVM: SEV: Add KVM_SEV_SNP_LAUNCH_FINISH command Michael Roth
2023-10-16 13:27 ` [PATCH v10 30/50] KVM: SEV: Add support to handle GHCB GPA register VMGEXIT Michael Roth
2023-10-16 13:28 ` [PATCH v10 31/50] KVM: SEV: Add KVM_EXIT_VMGEXIT Michael Roth
2023-10-16 13:28 ` [PATCH v10 32/50] KVM: SEV: Add support to handle MSR based Page State Change VMGEXIT Michael Roth
2023-10-16 13:28 ` [PATCH v10 33/50] KVM: SEV: Add support to handle " Michael Roth
2023-10-16 13:28 ` [PATCH v10 34/50] KVM: x86: Export the kvm_zap_gfn_range() for the SNP use Michael Roth
2023-10-16 13:28 ` [PATCH v10 35/50] KVM: SEV: Add support to handle RMP nested page faults Michael Roth
2023-10-16 13:28 ` [PATCH v10 36/50] KVM: SEV: Use a VMSA physical address variable for populating VMCB Michael Roth
2023-10-16 13:28 ` [PATCH v10 37/50] KVM: SEV: Support SEV-SNP AP Creation NAE event Michael Roth
2023-10-16 13:28 ` [PATCH v10 38/50] KVM: SEV: Add support for GHCB-based termination requests Michael Roth
2023-10-19 12:20   ` Liam Merwick
2023-10-16 13:28 ` [PATCH v10 39/50] KVM: SEV: Implement gmem hook for initializing private pages Michael Roth
2023-10-16 13:28 ` [PATCH v10 40/50] KVM: SEV: Implement gmem hook for invalidating " Michael Roth
2023-10-16 13:28 ` [PATCH v10 41/50] KVM: x86: Add gmem hook for determining max NPT mapping level Michael Roth
2023-10-16 13:28 ` [PATCH v10 42/50] KVM: SEV: Avoid WBINVD for HVA-based MMU notifications for SNP Michael Roth
2023-10-16 13:28 ` [PATCH v10 43/50] KVM: SVM: Add module parameter to enable the SEV-SNP Michael Roth
2023-10-16 13:28 ` [PATCH v10 44/50] iommu/amd: Add IOMMU_SNP_SHUTDOWN support Michael Roth
2023-10-16 13:28 ` [PATCH v10 45/50] iommu/amd: Report all cases inhibiting SNP enablement Michael Roth
2023-10-16 13:28 ` [PATCH v10 46/50] crypto: ccp: Add the SNP_{SET,GET}_EXT_CONFIG command Michael Roth
2023-10-16 23:11   ` Dionna Amalie Glaze
2023-10-16 13:28 ` [PATCH v10 47/50] x86/sev: Add KVM commands for per-instance certs Michael Roth
2023-10-16 13:28 ` [PATCH v10 48/50] KVM: SEV: Provide support for SNP_GUEST_REQUEST NAE event Michael Roth
2023-10-16 23:18   ` Dionna Amalie Glaze
2023-10-17 16:27     ` Sean Christopherson
2023-10-18  2:28       ` Alexey Kardashevskiy
2023-10-18 13:48         ` Sean Christopherson
2023-10-18 20:27           ` Kalra, Ashish
2023-10-18 20:38             ` Sean Christopherson
2023-10-18 21:27               ` Kalra, Ashish
2023-10-18 21:43                 ` Sean Christopherson
2023-10-19  2:48           ` Alexey Kardashevskiy
2023-10-19 14:57             ` Sean Christopherson
2023-10-19 23:55               ` Alexey Kardashevskiy
2023-10-20  0:13                 ` Sean Christopherson
2023-10-20  0:43                   ` Alexey Kardashevskiy
2023-10-20 15:13                     ` Sean Christopherson
2023-10-20 18:37             ` Tom Lendacky
2023-11-10 22:07           ` Michael Roth
2023-11-10 22:47             ` Sean Christopherson
2023-11-16  5:31               ` Dionna Amalie Glaze
2023-12-05  0:30                 ` Dan Williams
2023-12-05  0:48                   ` Dionna Amalie Glaze
2023-12-05 20:06                     ` Dan Williams
2023-12-05 22:04                       ` Dionna Amalie Glaze
2023-12-05 23:11                         ` Dan Williams
2023-12-06  0:43                           ` Dionna Amalie Glaze
2023-10-16 13:28 ` [PATCH v10 49/50] crypto: ccp: Add debug support for decrypting pages Michael Roth
2023-10-16 13:28 ` [PATCH v10 50/50] crypto: ccp: Add panic notifier for SEV/SNP firmware shutdown on kdump Michael Roth

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=4a2016d6-dc1f-ff68-9827-0b72b7c8eac2@amd.com \
    --to=ashish.kalra@amd.com \
    --cc=ak@linux.intel.com \
    --cc=alpergun@google.com \
    --cc=ardb@kernel.org \
    --cc=bp@alien8.de \
    --cc=brijesh.singh@amd.com \
    --cc=dave.hansen@linux.intel.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=liam.merwick@oracle.com \
    --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=marcorr@google.com \
    --cc=michael.roth@amd.com \
    --cc=mingo@redhat.com \
    --cc=nikunj.dadhania@amd.com \
    --cc=pankaj.gupta@amd.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 \
    --cc=zhi.a.wang@intel.com \
    /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

Powered by JetHome