Re: [PATCH Part1 RFC v3 06/22] x86/sev: check SEV-SNP features support

From: Brijesh Singh
Date: Thu Jun 17 2021 - 14:46:25 EST


Hi Boris,


On 6/7/2021 9:54 AM, Borislav Petkov wrote:
> On Wed, Jun 02, 2021 at 09:04:00AM -0500, Brijesh Singh wrote:
>> static bool early_setup_sev_es(void)
>
> This function is doing SNP init now too, so it should be called
> something generic like
>
> do_early_sev_setup()
>
> or so.
>
>> #define GHCB_SEV_ES_GEN_REQ 0
>> #define GHCB_SEV_ES_PROT_UNSUPPORTED 1
>> +#define GHCB_SEV_ES_SNP_UNSUPPORTED 2
>
> GHCB_SNP_UNSUPPORTED
>
>> +static bool __init sev_snp_check_hypervisor_features(void)
>
> check_hv_features()
>

Based on your feedback on AP creation patch to not use the accessors, I am inclined to
remove this helper and have the caller directly check the feature bit, is that okay ?

something like:

if (sev_snp_enabled() && !(hv_features & GHCB_HV_FT_SNP))
sev_es_terminate(GHCB_SNP_UNSUPPORTED);

Let me know if you think I should still keep the accessors.

-Brijesh

> is nice and short.
>
>> diff --git a/arch/x86/kernel/sev.c b/arch/x86/kernel/sev.c
>> index 77a754365ba9..9b70b7332614 100644
>> --- a/arch/x86/kernel/sev.c
>> +++ b/arch/x86/kernel/sev.c
>> @@ -609,6 +609,10 @@ static bool __init sev_es_setup_ghcb(void)
>
> Ditto for this one: setup_ghcb()
>
> Thx.
>