Re: [PATCH V3 5/9] x86/hyperv: Use vmmcall to implement Hyper-V hypercall in sev-snp enlightened guest

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7/26/2023 11:44 AM, Michael Kelley (LINUX) wrote:
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
index 2fa38e9f6207..025eda129d99 100644
--- a/arch/x86/include/asm/mshyperv.h
+++ b/arch/x86/include/asm/mshyperv.h
@@ -64,12 +64,12 @@ static inline u64 hv_do_hypercall(u64 control, void *input, void *output)
  	if (!hv_hypercall_pg)
  		return U64_MAX;

-	__asm__ __volatile__("mov %4, %%r8\n"
-			     CALL_NOSPEC
+	__asm__ __volatile__("mov %[output], %%r8\n"
+			     ALTERNATIVE("vmmcall", CALL_NOSPEC, X86_FEATURE_SEV_ES)
Since this code is for SEV-SNP, what's the thinking behind using
X86_FEATURE_SEV_ES in the ALTERNATIVE statements?   Don't you need
to use X86_FEATURE_SEV_SNP (which is being added in another patch set that
Boris Petkov pointed out).

Hi Michael:
Thanks for your review. The patch mentioned by Boris has not been merged and so still use X86_FEATURE_SEV_ES here. We may replace the feature flag with X86_FEATURE_SEV_SNP after it's upstreamed.


Also, does this patch depend on Peter Zijlstra's patch to support nested
ALTERNATIVE statements?  If so, that needs to be called out, probably in
the cover letter.  Peter's patch doesn't yet appear in linux-next.


It may work without Peterz's patch. Please see https://lkml.org/lkml/2023/6/27/520. Peterz's patch optimizes ALTERNATIVE_n implementation with nested expression.



[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux