[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87v9knrcg6.fsf@nanos.tec.linutronix.de>
Date: Fri, 22 May 2020 21:34:17 +0200
From: Thomas Gleixner <tglx@...utronix.de>
To: LKML <linux-kernel@...r.kernel.org>
Cc: Andy Lutomirski <luto@...nel.org>,
Andrew Cooper <andrew.cooper3@...rix.com>,
X86 ML <x86@...nel.org>,
"Paul E. McKenney" <paulmck@...nel.org>,
Alexandre Chartre <alexandre.chartre@...cle.com>,
Frederic Weisbecker <frederic@...nel.org>,
Paolo Bonzini <pbonzini@...hat.com>,
Sean Christopherson <sean.j.christopherson@...el.com>,
Masami Hiramatsu <mhiramat@...nel.org>,
Petr Mladek <pmladek@...e.com>,
Steven Rostedt <rostedt@...dmis.org>,
Joel Fernandes <joel@...lfernandes.org>,
Boris Ostrovsky <boris.ostrovsky@...cle.com>,
Juergen Gross <jgross@...e.com>,
Brian Gerst <brgerst@...il.com>,
Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
Josh Poimboeuf <jpoimboe@...hat.com>,
Will Deacon <will@...nel.org>,
Tom Lendacky <thomas.lendacky@....com>,
Wei Liu <wei.liu@...nel.org>,
Michael Kelley <mikelley@...rosoft.com>,
Jason Chen CJ <jason.cj.chen@...el.com>,
Zhao Yakui <yakui.zhao@...el.com>,
"Peter Zijlstra \(Intel\)" <peterz@...radead.org>
Subject: Re: [patch V9 21/39] x86/irq: Convey vector as argument and not in ptregs
Thomas Gleixner <tglx@...utronix.de> writes:
> + .align 8
> +SYM_CODE_START(irq_entries_start)
> + vector=FIRST_EXTERNAL_VECTOR
> + pos = .
> + .rept (FIRST_SYSTEM_VECTOR - FIRST_EXTERNAL_VECTOR)
> + UNWIND_HINT_IRET_REGS
> + .byte 0x6a, vector
> + jmp common_interrupt
> + .nops (pos + 8) - .
Boris pointed out that .nops requires binutils >=2.31 ... Sigh!
The below delta patch works for the purpose.
Thanks,
tglx
--- a/arch/x86/include/asm/idtentry.h
+++ b/arch/x86/include/asm/idtentry.h
@@ -475,7 +475,9 @@ SYM_CODE_START(irq_entries_start)
UNWIND_HINT_IRET_REGS
.byte 0x6a, vector
jmp asm_common_interrupt
- .nops (pos + 8) - .
+ nop
+ /* Ensure that the above is 8 bytes max */
+ . = pos + 8
pos=pos+8
vector=vector+1
.endr
@@ -490,7 +492,9 @@ SYM_CODE_START(spurious_entries_start)
UNWIND_HINT_IRET_REGS
.byte 0x6a, vector
jmp asm_spurious_interrupt
- .nops (pos + 8) - .
+ nop
+ /* Ensure that the above is 8 bytes max */
+ . = pos + 8
pos=pos+8
vector=vector+1
.endr
Powered by blists - more mailing lists