| 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
| 2 | #ifndef _ASM_X86_TRAPNR_H |
| 3 | #define _ASM_X86_TRAPNR_H |
| 4 | |
| 5 | /* |
| 6 | * Event type codes used by FRED, Intel VT-x and AMD SVM |
| 7 | */ |
| 8 | #define EVENT_TYPE_EXTINT 0 // External interrupt |
| 9 | #define EVENT_TYPE_RESERVED 1 |
| 10 | #define EVENT_TYPE_NMI 2 // NMI |
| 11 | #define EVENT_TYPE_HWEXC 3 // Hardware originated traps, exceptions |
| 12 | #define EVENT_TYPE_SWINT 4 // INT n |
| 13 | #define EVENT_TYPE_PRIV_SWEXC 5 // INT1 |
| 14 | #define EVENT_TYPE_SWEXC 6 // INTO, INT3 |
| 15 | #define EVENT_TYPE_OTHER 7 // FRED SYSCALL/SYSENTER, VT-x MTF |
| 16 | |
| 17 | /* Interrupts/Exceptions */ |
| 18 | |
| 19 | #define X86_TRAP_DE 0 /* Divide-by-zero */ |
| 20 | #define X86_TRAP_DB 1 /* Debug */ |
| 21 | #define X86_TRAP_NMI 2 /* Non-maskable Interrupt */ |
| 22 | #define X86_TRAP_BP 3 /* Breakpoint */ |
| 23 | #define X86_TRAP_OF 4 /* Overflow */ |
| 24 | #define X86_TRAP_BR 5 /* Bound Range Exceeded */ |
| 25 | #define X86_TRAP_UD 6 /* Invalid Opcode */ |
| 26 | #define X86_TRAP_NM 7 /* Device Not Available */ |
| 27 | #define X86_TRAP_DF 8 /* Double Fault */ |
| 28 | #define X86_TRAP_OLD_MF 9 /* Coprocessor Segment Overrun */ |
| 29 | #define X86_TRAP_TS 10 /* Invalid TSS */ |
| 30 | #define X86_TRAP_NP 11 /* Segment Not Present */ |
| 31 | #define X86_TRAP_SS 12 /* Stack Segment Fault */ |
| 32 | #define X86_TRAP_GP 13 /* General Protection Fault */ |
| 33 | #define X86_TRAP_PF 14 /* Page Fault */ |
| 34 | #define X86_TRAP_SPURIOUS 15 /* Spurious Interrupt */ |
| 35 | #define X86_TRAP_MF 16 /* x87 Floating-Point Exception */ |
| 36 | #define X86_TRAP_AC 17 /* Alignment Check */ |
| 37 | #define X86_TRAP_MC 18 /* Machine Check */ |
| 38 | #define X86_TRAP_XF 19 /* SIMD Floating-Point Exception */ |
| 39 | #define X86_TRAP_VE 20 /* Virtualization Exception */ |
| 40 | #define X86_TRAP_CP 21 /* Control Protection Exception */ |
| 41 | #define X86_TRAP_VC 29 /* VMM Communication Exception */ |
| 42 | #define X86_TRAP_IRET 32 /* IRET Exception */ |
| 43 | |
| 44 | #endif |
| 45 | |