Messages in this thread | | | Date | Tue, 6 Jun 2023 21:43:29 +0800 | Subject | Re: [PATCH 1/9] x86/hyperv: Add sev-snp enlightened guest static key | From | Tianyu Lan <> |
| |
On 6/5/2023 8:09 PM, Vitaly Kuznetsov wrote: >> --- a/arch/x86/kernel/cpu/mshyperv.c >> +++ b/arch/x86/kernel/cpu/mshyperv.c >> @@ -402,8 +402,12 @@ static void __init ms_hyperv_init_platform(void) >> pr_info("Hyper-V: Isolation Config: Group A 0x%x, Group B 0x%x\n", >> ms_hyperv.isolation_config_a, ms_hyperv.isolation_config_b); >> >> - if (hv_get_isolation_type() == HV_ISOLATION_TYPE_SNP) >> + >> + if (cc_platform_has(CC_ATTR_GUEST_SEV_SNP)) { >> + static_branch_enable(&isolation_type_en_snp); >> + } else if (hv_get_isolation_type() == HV_ISOLATION_TYPE_SNP) { >> static_branch_enable(&isolation_type_snp); > Nitpick: In case 'isolation_type_snp' and 'isolation_type_en_snp' are > mutually exclusive, I'd suggest we rename the former: it is quite > un-intuitive that for an enlightened SNP guest '&isolation_type_snp' is > NOT enabled. E.g. we can use > > 'isol_type_snp_paravisor' > and > 'isol_type_snp_enlightened' > > (I also don't like 'isolation_type_en_snp' name as 'en' normally stands > for 'enabled')
Hi Vitaly: Thanks for your review. Agree. Will rename them.
> >> --- a/include/asm-generic/mshyperv.h >> +++ b/include/asm-generic/mshyperv.h >> @@ -36,15 +36,21 @@ struct ms_hyperv_info { >> u32 nested_features; >> u32 max_vp_index; >> u32 max_lp_index; >> - u32 isolation_config_a; >> + union { >> + u32 isolation_config_a; >> + struct { >> + u32 paravisor_present : 1; >> + u32 reserved1 : 31; >> + }; >> + }; >> union { >> u32 isolation_config_b; >> struct { >> u32 cvm_type : 4; >> - u32 reserved1 : 1; >> + u32 reserved2 : 1; >> u32 shared_gpa_boundary_active : 1; >> u32 shared_gpa_boundary_bits : 6; >> - u32 reserved2 : 20; >> + u32 reserved3 : 20; > Maybe use 'reserved_a1', 'reserved_b1', 'reserved_b2',... to avoid the > need to rename in the future when more bits from isolation_config_a get > used? >
Good suggestion. will update.
| |