Messages in this thread Patch in this message | | | From | Lai Jiangshan <> | Subject | [PATCH 1/4] x86/xen/entry: Rename xenpv_exc_nmi to noist_exc_nmi | Date | Tue, 27 Apr 2021 07:09:46 +0800 |
| |
From: Lai Jiangshan <laijs@linux.alibaba.com>
There is no any functionality change intended. Just rename it and move it to arch/x86/kernel/nmi.c so that we can resue it later in next patch for early NMI and kvm.
Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Sean Christopherson <seanjc@google.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Andi Kleen <ak@linux.intel.com> Cc: Andy Lutomirski <luto@kernel.org> Cc: Vitaly Kuznetsov <vkuznets@redhat.com> Cc: Wanpeng Li <wanpengli@tencent.com> Cc: Jim Mattson <jmattson@google.com> Cc: Joerg Roedel <joro@8bytes.org> Cc: kvm@vger.kernel.org Cc: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Uros Bizjak <ubizjak@gmail.com> Cc: Maxim Levitsky <mlevitsk@redhat.com> Signed-off-by: Lai Jiangshan <laijs@linux.alibaba.com> --- arch/x86/include/asm/idtentry.h | 2 +- arch/x86/kernel/nmi.c | 8 ++++++++ arch/x86/xen/enlighten_pv.c | 9 +++------ arch/x86/xen/xen-asm.S | 2 +- 4 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/arch/x86/include/asm/idtentry.h b/arch/x86/include/asm/idtentry.h index e35e342673c7..5b11d2ddbb5c 100644 --- a/arch/x86/include/asm/idtentry.h +++ b/arch/x86/include/asm/idtentry.h @@ -590,7 +590,7 @@ DECLARE_IDTENTRY_RAW(X86_TRAP_MC, xenpv_exc_machine_check); /* NMI */ DECLARE_IDTENTRY_NMI(X86_TRAP_NMI, exc_nmi); #ifdef CONFIG_XEN_PV -DECLARE_IDTENTRY_RAW(X86_TRAP_NMI, xenpv_exc_nmi); +DECLARE_IDTENTRY_RAW(X86_TRAP_NMI, noist_exc_nmi); #endif /* #DB */ diff --git a/arch/x86/kernel/nmi.c b/arch/x86/kernel/nmi.c index bf250a339655..2b907a76d0a1 100644 --- a/arch/x86/kernel/nmi.c +++ b/arch/x86/kernel/nmi.c @@ -524,6 +524,14 @@ DEFINE_IDTENTRY_RAW(exc_nmi) mds_user_clear_cpu_buffers(); } +#ifdef CONFIG_XEN_PV +DEFINE_IDTENTRY_RAW(noist_exc_nmi) +{ + /* On Xen PV, NMI doesn't use IST. The C part is the same as native. */ + exc_nmi(regs); +} +#endif + void stop_nmi(void) { ignore_nmis++; diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c index 4f18cd9eacd8..5efbdb0905b7 100644 --- a/arch/x86/xen/enlighten_pv.c +++ b/arch/x86/xen/enlighten_pv.c @@ -565,12 +565,6 @@ static void xen_write_ldt_entry(struct desc_struct *dt, int entrynum, void noist_exc_debug(struct pt_regs *regs); -DEFINE_IDTENTRY_RAW(xenpv_exc_nmi) -{ - /* On Xen PV, NMI doesn't use IST. The C part is the same as native. */ - exc_nmi(regs); -} - DEFINE_IDTENTRY_RAW_ERRORCODE(xenpv_exc_double_fault) { /* On Xen PV, DF doesn't use IST. The C part is the same as native. */ @@ -626,6 +620,9 @@ struct trap_array_entry { .xen = xen_asm_xenpv_##func, \ .ist_okay = ist_ok } +/* Alias to make TRAP_ENTRY_REDIR() happy for nmi */ +#define xen_asm_xenpv_exc_nmi xen_asm_noist_exc_nmi + static struct trap_array_entry trap_array[] = { TRAP_ENTRY_REDIR(exc_debug, true ), TRAP_ENTRY_REDIR(exc_double_fault, true ), diff --git a/arch/x86/xen/xen-asm.S b/arch/x86/xen/xen-asm.S index 1e626444712b..12e7cbbb2a8d 100644 --- a/arch/x86/xen/xen-asm.S +++ b/arch/x86/xen/xen-asm.S @@ -130,7 +130,7 @@ _ASM_NOKPROBE(xen_\name) xen_pv_trap asm_exc_divide_error xen_pv_trap asm_xenpv_exc_debug xen_pv_trap asm_exc_int3 -xen_pv_trap asm_xenpv_exc_nmi +xen_pv_trap asm_noist_exc_nmi xen_pv_trap asm_exc_overflow xen_pv_trap asm_exc_bounds xen_pv_trap asm_exc_invalid_op -- 2.19.1.6.gb485710b
| |