Skip to content

Commit 885e78d

Browse files
ubizjakliuw
authored andcommitted
x86/hyperv: Remove ASM_CALL_CONSTRAINT with VMMCALL insn
Unlike CALL instruction, VMMCALL does not push to the stack, so it's OK to allow the compiler to insert it before the frame pointer gets set up by the containing function. ASM_CALL_CONSTRAINT is for CALLs that must be inserted after the frame pointer is set up, so it is over-constraining here and can be removed. Signed-off-by: Uros Bizjak <[email protected]> Tested-by: Michael Kelley <[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]> Signed-off-by: Wei Liu <[email protected]>
1 parent 834ef6a commit 885e78d

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

arch/x86/hyperv/ivm.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,7 @@ u64 hv_snp_hypercall(u64 control, u64 param1, u64 param2)
392392

393393
register u64 __r8 asm("r8") = param2;
394394
asm volatile("vmmcall"
395-
: "=a" (hv_status), ASM_CALL_CONSTRAINT,
395+
: "=a" (hv_status),
396396
"+c" (control), "+d" (param1), "+r" (__r8)
397397
: : "cc", "memory", "r9", "r10", "r11");
398398

0 commit comments

Comments
 (0)