All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/8] x86/irq: trap and interrupt cleanups
@ 2021-05-15  1:43 H. Peter Anvin
  2021-05-15  1:43 ` [PATCH v2 1/9] x86/traps: add X86_NR_HW_TRAPS to <asm/trapnr.h> H. Peter Anvin
                   ` (7 more replies)
  0 siblings, 8 replies; 14+ messages in thread
From: H. Peter Anvin @ 2021-05-15  1:43 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, Andy Lutomirski, Borislav Petkov,
	H. Peter Anvin
  Cc: Linux Kernel Mailing List

From: "H. Peter Anvin (Intel)" <hpa@zytor.com>

A collection of trap/interrupt-related patches, almost all
cleanups. It does remove a modest amount of code (39 lines.) The only
patches that should have any possible effect at all are:

7/8 - x86/irq: WARN_ONCE() if irq_move_cleanup is called on a pending interrupt

	This condition is believed to be impossible after many
	improvements to the IRQ vector allocation code since this
	function was written. Per discussion with tglx, add a
	WARN_ONCE() if this happens as a first step towards excising
	this hack.

8/8 - x86/irq: merge and functonalize common code in DECLARE/DEFINE_IDTENTRY_*

	This patch reverses kvm_set_cpu_l1tf_flush_l1d() and
	__irq_enter_raw() in DEFINE_IDTENTRY_SYSVEC_SIMPLE() in order
	to be able to unify the code with DEFINE_IDTENTRY_SYSVEC().

	This replaces a lot of macros with inline functions, which
	required some amount of adjusting types in various places,
	they should have no effect.
	
	The reason for unification is mainly to avoid the possibility
	of inadvertent divergence rather than the rather modest amount
	of code, but it does remove 25 lines of code.

--- 
 1/8 x86/irq: merge and functionalize common code in DECLARE/DEFINE_IDTENTRY_*
 2/8 x86/irq: WARN_ONCE() if irq_move_cleanup is called on a pending interrupt
 3/8 x86/kexec: set_[gi]dt() -> native_[gi]dt_invalidate() in machine_kexec_*.c
 4/8 x86/desc: add native_[ig]dt_invalidate() to <asm/desc.h>
 5/8 x86/idt: remove address argument to idt_invalidate()
 6/8 x86/irq: remove unused vectors from <asm/irq_vectors.h>
 7/8 x86/irqvector: add NR_EXTERNAL_VECTORS and NR_SYSTEM_VECTORS
 8/8 x86/traps: add X86_NR_HW_TRAPS to <asm/trapnr.h>

 arch/x86/entry/common.c                  |   5 +-
 arch/x86/include/asm/desc.h              |  17 ++-
 arch/x86/include/asm/idtentry.h          | 174 +++++++++++++++----------------
 arch/x86/include/asm/irq_stack.h         |  73 +++++--------
 arch/x86/include/asm/irq_vectors.h       |   7 +-
 arch/x86/include/asm/trapnr.h            |   1 +
 arch/x86/kernel/apic/apic.c              |   2 +-
 arch/x86/kernel/apic/vector.c            |   5 +
 arch/x86/kernel/idt.c                    |   5 +-
 arch/x86/kernel/irq.c                    |   1 +
 arch/x86/kernel/machine_kexec_32.c       |  15 +--
 arch/x86/kernel/machine_kexec_64.c       |  33 +-----
 arch/x86/kernel/reboot.c                 |   2 +-
 arch/x86/kernel/sev-es.c                 |   6 +-
 arch/x86/kernel/traps.c                  |   2 +-
 tools/arch/x86/include/asm/irq_vectors.h |   7 +-
 16 files changed, 158 insertions(+), 197 deletions(-)

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2021-05-15 15:30 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-15  1:43 [PATCH v2 0/8] x86/irq: trap and interrupt cleanups H. Peter Anvin
2021-05-15  1:43 ` [PATCH v2 1/9] x86/traps: add X86_NR_HW_TRAPS to <asm/trapnr.h> H. Peter Anvin
2021-05-15  1:43 ` [PATCH v2 2/9] x86/irqvector: add NR_EXTERNAL_VECTORS and NR_SYSTEM_VECTORS H. Peter Anvin
2021-05-15  1:43 ` [PATCH v2 3/9] x86/irq: remove unused vectors from <asm/irq_vectors.h> H. Peter Anvin
2021-05-15  1:43 ` [PATCH v2 4/9] x86/idt: remove address argument to idt_invalidate() H. Peter Anvin
2021-05-15 15:27   ` Andy Lutomirski
2021-05-15  1:43 ` [PATCH v2 5/9] x86/desc: add native_[ig]dt_invalidate() to <asm/desc.h> H. Peter Anvin
2021-05-15 15:29   ` Andy Lutomirski
2021-05-15  1:43 ` [PATCH v2 6/9] x86/kexec: set_[gi]dt() -> native_[gi]dt_invalidate() in machine_kexec_*.c H. Peter Anvin
2021-05-15 15:30   ` Andy Lutomirski
2021-05-15  1:43 ` [PATCH v2 7/9] x86/irq: WARN_ONCE() if irq_move_cleanup is called on a pending interrupt H. Peter Anvin
2021-05-15  6:24   ` H. Peter Anvin
2021-05-15  9:59   ` [PATCH v2.1 7/8] " H. Peter Anvin
2021-05-15  1:44 ` [PATCH v2 8/9] x86/irq: merge and functionalize common code in DECLARE/DEFINE_IDTENTRY_* H. Peter Anvin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.