Re: [PATCH v9 10/43] x86/sev: Check SEV-SNP features support

From: Brijesh Singh
Date: Wed Feb 02 2022 - 09:28:28 EST




On 2/1/22 1:59 PM, Borislav Petkov wrote:
...


diff --git a/arch/x86/kernel/sev.c b/arch/x86/kernel/sev.c
index 19ad09712902..24df739c9c05 100644
--- a/arch/x86/kernel/sev.c
+++ b/arch/x86/kernel/sev.c
@@ -43,6 +43,9 @@ static struct ghcb boot_ghcb_page __bss_decrypted __aligned(PAGE_SIZE);
*/
static struct ghcb __initdata *boot_ghcb;
+/* Bitmap of SEV features supported by the hypervisor */
+static u64 sev_hv_features __ro_after_init;
+
/* #VC handler runtime per-CPU data */
struct sev_es_runtime_data {
struct ghcb ghcb_page;
@@ -766,6 +769,18 @@ void __init sev_es_init_vc_handling(void)
if (!sev_es_check_cpu_features())
panic("SEV-ES CPU Features missing");
+ /*
+ * SEV-SNP is supported in v2 of the GHCB spec which mandates support for HV
+ * features. If SEV-SNP is enabled, then check if the hypervisor supports
+ * the SEV-SNP features.

You guys have been completely brainwashed by marketing. I say:

"s/SEV-SNP/SNP/g

And please do that everywhere in sev-specific files."

Yeah, most of the documentation explicitly calls SEV-SNP, I was unsure about the trademark, so I used it in the comments/logs. I am okay with the SEV prefix removed; I am not in the marketing team, and hopefully, they will *never* see kernel code ;)

~ Brijesh