[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4fba013b-6cce-d81c-dccf-994f56548629@gmail.com>
Date: Thu, 24 Oct 2024 00:08:02 +0200
From: Uros Bizjak <ubizjak@...il.com>
To: "H. Peter Anvin" <hpa@...or.com>, Xin Li <xin3.li@...el.com>,
Xin Li <xin@...or.com>, Andrew Cooper <andrew.cooper3@...rix.com>
Cc: "x86@...nel.org" <x86@...nel.org>, LKML <linux-kernel@...r.kernel.org>,
Peter Zijlstra <peterz@...radead.org>
Subject: Re: RFC, untested: handing of MSR immediates and MSRs on Xen
On 23. 10. 24 23:34, H. Peter Anvin wrote:
> And I of course forgot the include the actual code.
> ALTERNATIVE_2("ds wrmsr",
> "wrmsrns",
> X86_FEATURE_WRMSRNS,
> "call %P[xen]",
> X86_FEATURE_XENPV)
Please use %c asm operand modifier instead of %P. Please see comment in
arch/x86/include/asm/alternative.h for the reason:
--q--
* Use the %c operand modifier which is the generic way to print a bare
* constant expression with all syntax-specific punctuation omitted. %P
* is the x86-specific variant which can handle constants too, for
* historical reasons, but it should be used primarily for PIC
* references: i.e., if used for a function, it would add the PLT
* suffix.
--/q--
Uros.
Powered by blists - more mailing lists