On Mon, 20 Feb 2023 12:38:42 -0600 Michael Roth <michael.roth@xxxxxxx> wrote: > From: Brijesh Singh <brijesh.singh@xxxxxxx> > > Add a module parameter than can be used to enable or disable the SEV-SNP > feature. Now that KVM contains the support for the SNP set the GHCB > hypervisor feature flag to indicate that SNP is supported. > > Signed-off-by: Brijesh Singh <brijesh.singh@xxxxxxx> > Signed-off-by: Ashish Kalra <ashish.kalra@xxxxxxx> > Signed-off-by: Michael Roth <michael.roth@xxxxxxx> > --- > arch/x86/kvm/svm/sev.c | 7 ++++--- > arch/x86/kvm/svm/svm.h | 2 +- > 2 files changed, 5 insertions(+), 4 deletions(-) > > diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c > index bedec90d034f..70d5650d8d95 100644 > --- a/arch/x86/kvm/svm/sev.c > +++ b/arch/x86/kvm/svm/sev.c > @@ -55,14 +55,15 @@ module_param_named(sev, sev_enabled, bool, 0444); > /* enable/disable SEV-ES support */ > static bool sev_es_enabled = true; > module_param_named(sev_es, sev_es_enabled, bool, 0444); > + > +/* enable/disable SEV-SNP support */ > +static bool sev_snp_enabled = true; > +module_param_named(sev_snp, sev_snp_enabled, bool, 0444); > #else > #define sev_enabled false > #define sev_es_enabled false Guess we also need #define sev_snp_enabled false. > #endif /* CONFIG_KVM_AMD_SEV */ > > -/* enable/disable SEV-SNP support */ > -static bool sev_snp_enabled; > - > #define AP_RESET_HOLD_NONE 0 > #define AP_RESET_HOLD_NAE_EVENT 1 > #define AP_RESET_HOLD_MSR_PROTO 2 > diff --git a/arch/x86/kvm/svm/svm.h b/arch/x86/kvm/svm/svm.h > index 857b674e68f0..221b38d3c845 100644 > --- a/arch/x86/kvm/svm/svm.h > +++ b/arch/x86/kvm/svm/svm.h > @@ -694,7 +694,7 @@ void avic_refresh_virtual_apic_mode(struct kvm_vcpu *vcpu); > #define GHCB_VERSION_MAX 2ULL > #define GHCB_VERSION_MIN 1ULL > > -#define GHCB_HV_FT_SUPPORTED 0 > +#define GHCB_HV_FT_SUPPORTED (GHCB_HV_FT_SNP | GHCB_HV_FT_SNP_AP_CREATION) This is not related to the topic of this patch, should be merged into related patches. > > extern unsigned int max_sev_asid; >