Re: [PATCH v2 3/3] x86/hyperv: Remove ASM_CALL_CONSTRAINT with VMMCALL insn
From: H. Peter Anvin
Date: Tue Feb 10 2026 - 17:53:52 EST
On 2025-11-22 01:33, Uros Bizjak wrote:
>>
>> I think it would be good to have a comment at the point where ASM_CALL_CONSTRAINT is defined explaining its proper use.
>>
>> Specifically, instructions like syscall, vmcall, vmfunc, vmmcall, int xx and VM-specific escape instructions are not "calls" because they either don't modify the stack or create an exception frame (kernel) or signal frame (user space) which is completely special.
>
> The existing comment already mentions CALL instruction only:
>
> /*
> * This output constraint should be used for any inline asm which has a "call"
> * instruction. Otherwise the asm may be inserted before the frame pointer
> * gets set up by the containing function. If you forget to do this, objtool
> * may print a "call without frame pointer save/setup" warning.
> */
>
Yes. Some people seem to have misunderstood it to mean any instruction with
"CALL" in the name.
-hpa