x86/entry: Move nmi entry/exit into common code
authorThomas Gleixner <tglx@linutronix.de>
Mon, 2 Nov 2020 20:53:16 +0000 (12:53 -0800)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 4 Nov 2020 21:55:36 +0000 (22:55 +0100)
commitb6be002bcd1dd1dedb926abf3c90c794eacb77dc
tree3682808255845196a21c1542e45efba453fcaa8e
parent01be83eea08d6d9f9209843e2e084505fba4053f
x86/entry: Move nmi entry/exit into common code

Lockdep state handling on NMI enter and exit is nothing specific to X86. It's
not any different on other architectures. Also the extra state type is not
necessary, irqentry_state_t can carry the necessary information as well.

Move it to common code and extend irqentry_state_t to carry lockdep state.

[ Ira: Make exit_rcu and lockdep a union as they are mutually exclusive
  between the IRQ and NMI exceptions, and add kernel documentation for
  struct irqentry_state_t ]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20201102205320.1458656-7-ira.weiny@intel.com
arch/x86/entry/common.c
arch/x86/include/asm/idtentry.h
arch/x86/kernel/cpu/mce/core.c
arch/x86/kernel/nmi.c
arch/x86/kernel/traps.c
include/linux/entry-common.h
kernel/entry/common.c