[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YVQnnerXMGO6PPDZ@hirez.programming.kicks-ass.net>
Date: Wed, 29 Sep 2021 10:45:17 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Brian Gerst <brgerst@...il.com>
Cc: Lai Jiangshan <jiangshanlai@...il.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Lai Jiangshan <laijs@...ux.alibaba.com>,
Andy Lutomirski <luto@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
the arch/x86 maintainers <x86@...nel.org>,
"H. Peter Anvin" <hpa@...or.com>,
Youquan Song <youquan.song@...el.com>,
Tony Luck <tony.luck@...el.com>
Subject: Re: [PATCH V2 16/41] x86/entry: Implement the whole error_entry() as
C code
On Tue, Sep 28, 2021 at 05:34:02PM -0400, Brian Gerst wrote:
> On Sun, Sep 26, 2021 at 11:13 AM Lai Jiangshan <jiangshanlai@...il.com> wrote:
> > +asmlinkage __visible __entry_text
> > +struct pt_regs *error_entry(struct pt_regs *eregs)
> > +{
> > + unsigned long iret_ip = (unsigned long)native_irq_return_iret;
> > +
> > + asm volatile ("cld");
>
> The C ABI states that the direction flag must be clear on function
> entry and exit, so the CLD instruction needs to remain in the asm
> code.
Right, also, one of my pet peeves with out entry code is that CLD and
CLAC are not next to one another.
Powered by blists - more mailing lists