[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <90543b26-1e09-4a84-802e-aad737265b7a@zytor.com>
Date: Tue, 10 Feb 2026 14:52:36 -0800
From: "H. Peter Anvin" <hpa@...or.com>
To: Uros Bizjak <ubizjak@...il.com>
Cc: linux-hyperv@...r.kernel.org, x86@...nel.org, linux-kernel@...r.kernel.org,
Michael Kelley <mhklinux@...look.com>,
"K. Y. Srinivasan" <kys@...rosoft.com>,
Haiyang Zhang <haiyangz@...rosoft.com>, Wei Liu <wei.liu@...nel.org>,
Dexuan Cui <decui@...rosoft.com>, Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>
Subject: Re: [PATCH v2 3/3] x86/hyperv: Remove ASM_CALL_CONSTRAINT with
VMMCALL insn
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
Powered by blists - more mailing lists