lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 08 Apr 2021 13:06:53 +0200 From: Vitaly Kuznetsov <vkuznets@...hat.com> To: Vineeth Pillai <viremana@...ux.microsoft.com> Cc: "H. Peter Anvin" <hpa@...or.com>, Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>, "K. Y. Srinivasan" <kys@...rosoft.com>, x86@...nel.org, kvm@...r.kernel.org, linux-kernel@...r.kernel.org, linux-hyperv@...r.kernel.org, Lan Tianyu <Tianyu.Lan@...rosoft.com>, Michael Kelley <mikelley@...rosoft.com>, Paolo Bonzini <pbonzini@...hat.com>, Sean Christopherson <seanjc@...gle.com>, Wanpeng Li <wanpengli@...cent.com>, Jim Mattson <jmattson@...gle.com>, Joerg Roedel <joro@...tes.org>, Wei Liu <wei.liu@...nel.org>, Stephen Hemminger <sthemmin@...rosoft.com>, Haiyang Zhang <haiyangz@...rosoft.com> Subject: Re: [PATCH 1/7] hyperv: Detect Nested virtualization support for SVM Vineeth Pillai <viremana@...ux.microsoft.com> writes: > Detect nested features exposed by Hyper-V if SVM is enabled. > > Signed-off-by: Vineeth Pillai <viremana@...ux.microsoft.com> > --- > arch/x86/kernel/cpu/mshyperv.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c > index 3546d3e21787..4d364acfe95d 100644 > --- a/arch/x86/kernel/cpu/mshyperv.c > +++ b/arch/x86/kernel/cpu/mshyperv.c > @@ -325,9 +325,17 @@ static void __init ms_hyperv_init_platform(void) > ms_hyperv.isolation_config_a, ms_hyperv.isolation_config_b); > } > > - if (ms_hyperv.hints & HV_X64_ENLIGHTENED_VMCS_RECOMMENDED) { > + /* > + * AMD does not need enlightened VMCS as VMCB is already a > + * datastructure in memory. Well, VMCS is also a structure in memory, isn't it? It's just that we don't have a 'clean field' concept for it and we can't use normal memory accesses. > We need to get the nested > + * features if SVM is enabled. > + */ > + if (boot_cpu_has(X86_FEATURE_SVM) || > + ms_hyperv.hints & HV_X64_ENLIGHTENED_VMCS_RECOMMENDED) { Do I understand correctly that we can just look at CPUID.0x40000000.EAX and in case it is >= 0x4000000A we can read HYPERV_CPUID_NESTED_FEATURES leaf? I'd suggest we do that intead then. > ms_hyperv.nested_features = > cpuid_eax(HYPERV_CPUID_NESTED_FEATURES); > + pr_info("Hyper-V nested_features: 0x%x\n", > + ms_hyperv.nested_features); > } > > /* -- Vitaly
Powered by blists - more mailing lists