mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-31 08:28:13 +00:00
29dcc60f6a
Add the first handler for #VC exceptions. At stage 1 there is no GHCB yet because the kernel might still be running on the EFI page table. The stage 1 handler is limited to the MSR-based protocol to talk to the hypervisor and can only support CPUID exit-codes, but that is enough to get to stage 2. [ bp: Zap superfluous newlines after rd/wrmsr instruction mnemonics. ] Signed-off-by: Joerg Roedel <jroedel@suse.de> Signed-off-by: Borislav Petkov <bp@suse.de> Link: https://lkml.kernel.org/r/20200907131613.12703-20-joro@8bytes.org
32 lines
1.3 KiB
C
32 lines
1.3 KiB
C
/* 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_VC 29 /* VMM Communication Exception */
|
|
#define X86_TRAP_IRET 32 /* IRET Exception */
|
|
|
|
#endif
|