x86/traps: Split trap numbers out in a separate header
authorThomas Gleixner <tglx@linutronix.de>
Tue, 25 Feb 2020 22:16:07 +0000 (23:16 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 11 Jun 2020 13:14:42 +0000 (15:14 +0200)
So they can be used in ASM code. For this it is also necessary to convert
them to defines. Will be used for the rework of the entry code.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Andy Lutomirski <luto@kernel.org>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200505134903.731004084@linutronix.de
arch/x86/include/asm/trapnr.h [new file with mode: 0644]
arch/x86/include/asm/traps.h

diff --git a/arch/x86/include/asm/trapnr.h b/arch/x86/include/asm/trapnr.h
new file mode 100644 (file)
index 0000000..082f456
--- /dev/null
@@ -0,0 +1,31 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _ASM_X86_TRAPNR_H
+#define _ASM_X86_TRAPNR_H
+
+/* Interrupts/Exceptions */
+
+#define X86_TRAP_DE             0      /* Divide-by-zero */
+#define X86_TRAP_DB             1      /* Debug */
+#define X86_TRAP_NMI            2      /* Non-maskable Interrupt */
+#define X86_TRAP_BP             3      /* Breakpoint */
+#define X86_TRAP_OF             4      /* Overflow */
+#define X86_TRAP_BR             5      /* Bound Range Exceeded */
+#define X86_TRAP_UD             6      /* Invalid Opcode */
+#define X86_TRAP_NM             7      /* Device Not Available */
+#define X86_TRAP_DF             8      /* Double Fault */
+#define X86_TRAP_OLD_MF                 9      /* Coprocessor Segment Overrun */
+#define X86_TRAP_TS            10      /* Invalid TSS */
+#define X86_TRAP_NP            11      /* Segment Not Present */
+#define X86_TRAP_SS            12      /* Stack Segment Fault */
+#define X86_TRAP_GP            13      /* General Protection Fault */
+#define X86_TRAP_PF            14      /* Page Fault */
+#define X86_TRAP_SPURIOUS      15      /* Spurious Interrupt */
+#define X86_TRAP_MF            16      /* x87 Floating-Point Exception */
+#define X86_TRAP_AC            17      /* Alignment Check */
+#define X86_TRAP_MC            18      /* Machine Check */
+#define X86_TRAP_XF            19      /* SIMD Floating-Point Exception */
+#define X86_TRAP_VE            20      /* Virtualization Exception */
+#define X86_TRAP_CP            21      /* Control Protection Exception */
+#define X86_TRAP_IRET          32      /* IRET Exception */
+
+#endif
index 2ae904bf25e423b8627e162c2118b5ea6e8c801e..2376620dc66f3e494489fe3c755b10dda7f46e11 100644 (file)
@@ -7,6 +7,7 @@
 
 #include <asm/debugreg.h>
 #include <asm/siginfo.h>                       /* TRAP_TRACE, ... */
 
 #include <asm/debugreg.h>
 #include <asm/siginfo.h>                       /* TRAP_TRACE, ... */
+#include <asm/trapnr.h>
 
 #define dotraplinkage __visible
 
 
 #define dotraplinkage __visible
 
@@ -122,31 +123,6 @@ void __noreturn handle_stack_overflow(const char *message,
                                      unsigned long fault_address);
 #endif
 
                                      unsigned long fault_address);
 #endif
 
-/* Interrupts/Exceptions */
-enum {
-       X86_TRAP_DE = 0,        /*  0, Divide-by-zero */
-       X86_TRAP_DB,            /*  1, Debug */
-       X86_TRAP_NMI,           /*  2, Non-maskable Interrupt */
-       X86_TRAP_BP,            /*  3, Breakpoint */
-       X86_TRAP_OF,            /*  4, Overflow */
-       X86_TRAP_BR,            /*  5, Bound Range Exceeded */
-       X86_TRAP_UD,            /*  6, Invalid Opcode */
-       X86_TRAP_NM,            /*  7, Device Not Available */
-       X86_TRAP_DF,            /*  8, Double Fault */
-       X86_TRAP_OLD_MF,        /*  9, Coprocessor Segment Overrun */
-       X86_TRAP_TS,            /* 10, Invalid TSS */
-       X86_TRAP_NP,            /* 11, Segment Not Present */
-       X86_TRAP_SS,            /* 12, Stack Segment Fault */
-       X86_TRAP_GP,            /* 13, General Protection Fault */
-       X86_TRAP_PF,            /* 14, Page Fault */
-       X86_TRAP_SPURIOUS,      /* 15, Spurious Interrupt */
-       X86_TRAP_MF,            /* 16, x87 Floating-Point Exception */
-       X86_TRAP_AC,            /* 17, Alignment Check */
-       X86_TRAP_MC,            /* 18, Machine Check */
-       X86_TRAP_XF,            /* 19, SIMD Floating-Point Exception */
-       X86_TRAP_IRET = 32,     /* 32, IRET Exception */
-};
-
 /*
  * Page fault error code bits:
  *
 /*
  * Page fault error code bits:
  *