On Thu, Nov 20, 2025 at 02:40:24PM +0100, Uros Bizjak wrote:
> Unlike CALL instruction, VMMCALL does not push to the stack, and may be
> inserted before the frame pointer gets set up by the containing function.
> 
> Signed-off-by: Uros Bizjak <[email protected]>
> Cc: "K. Y. Srinivasan" <[email protected]>
> Cc: Haiyang Zhang <[email protected]>
> Cc: Wei Liu <[email protected]>
> Cc: Dexuan Cui <[email protected]>
> Cc: Thomas Gleixner <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: Borislav Petkov <[email protected]>
> Cc: Dave Hansen <[email protected]>
> Cc: "H. Peter Anvin" <[email protected]>

Dexuan and Tianyu are more qualified than I do to review CVM changes.
I will defer this to them.

Wei

> ---
>  arch/x86/hyperv/ivm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
> index 7365d8f43181..be7fad43a88d 100644
> --- a/arch/x86/hyperv/ivm.c
> +++ b/arch/x86/hyperv/ivm.c
> @@ -392,7 +392,7 @@ u64 hv_snp_hypercall(u64 control, u64 param1, u64 param2)
>  
>       register u64 __r8 asm("r8") = param2;
>       asm volatile("vmmcall"
> -                  : "=a" (hv_status), ASM_CALL_CONSTRAINT,
> +                  : "=a" (hv_status),
>                      "+c" (control), "+d" (param1), "+r" (__r8)
>                    : : "cc", "memory", "r9", "r10", "r11");
>  
> -- 
> 2.51.1
> 

Reply via email to