[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1c6ca05f-094e-03e9-b21a-866aaf80cebb@oracle.com>
Date: Tue, 18 Sep 2018 20:04:44 +0800
From: Zhenzhong Duan <zhenzhong.duan@...cle.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: linux-kernel@...r.kernel.org, mingo@...hat.com,
konrad.wilk@...cle.com, x86@...nel.org, dwmw@...zon.co.uk,
tglx@...utronix.de, Srinivas REDDY Eeda <srinivas.eeda@...cle.com>,
bp@...e.de, hpa@...or.com, dhaval.giani@...cle.com
Subject: Re: [PATCH] x86/speculation: Use AMD specific retpoline for inline
asm on AMD
On 2018/9/18 18:59, Peter Zijlstra wrote:
> On Tue, Sep 18, 2018 at 06:31:07PM +0800, Zhenzhong Duan wrote:
>> On 2018/9/18 17:50, Peter Zijlstra wrote:
>>> On Mon, Sep 17, 2018 at 10:17:30PM -0700, Zhenzhong Duan wrote:
>>>> -#elif defined(CONFIG_X86_32) && defined(CONFIG_RETPOLINE)
>>>> +#elif defined(CONFIG_RETPOLINE)
>>>
>>> This doesn't make any sense..
>> This change is used for x86_64 to have minimal Retpoline support when
>> CONFIG_RETPOLINE is defined but RETPOLINE isn't defined, or I missed
>> something?
>
> No it doesn't.
>
> #if defined(X86_64) && defined(RETPOLINE)
>
> /* x86_64 retpoline goes here */
>
> #elif defined(RETPOLINE)
>
> /* !x86_64 retpoline goes here */
>
> #else
>
> /* !retpoline goes here
>
> #endif
Sorry, but I am confused.
So where is 'if defined(x86_64) && !defined(RETPOLINE) &&
defined(CONFIG_RETPOLINE)' go?
In original code, it will go to "call *%[thunk_target]\n" while
we have set SPECTRE_V2_RETPOLINE_MINIMAL or
SPECTRE_V2_RETPOLINE_MINIMAL_AMD. Is this expected?
Thanks
Zhenzhong
Powered by blists - more mailing lists