Re: [PATCH v13 01/13] x86/sev: Carve out and export SNP guest messaging init routines

From: Christophe JAILLET
Date: Mon Oct 21 2024 - 03:50:21 EST


Le 21/10/2024 à 07:51, Nikunj A Dadhania a écrit :
Currently, the SEV guest driver is the only user of SNP guest messaging.
All routines for initializing SNP guest messaging are implemented within
the SEV guest driver. To add Secure TSC guest support, these initialization
routines need to be available during early boot.

Carve out common SNP guest messaging buffer allocations and message
initialization routines to core/sev.c and export them. These newly added
APIs set up the SNP message context (snp_msg_desc), which contains all the
necessary details for sending SNP guest messages.

At present, the SEV guest platform data structure is used to pass the
secrets page physical address to SEV guest driver. Since the secrets page
address is locally available to the initialization routine, use the cached
address. Remove the unused SEV guest platform data structure.

Signed-off-by: Nikunj A Dadhania <nikunj@xxxxxxx>
Reviewed-by: Tom Lendacky <thomas.lendacky@xxxxxxx>
---

...

+static inline bool is_vmpck_empty(struct snp_msg_desc *mdesc)
+{
+ char zero_key[VMPCK_KEY_LEN] = {0};

Nitpick: I think this could be a static const.

+
+ if (mdesc->vmpck)
+ return !memcmp(mdesc->vmpck, zero_key, VMPCK_KEY_LEN);
+
+ return true;
+}

...