aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/traps.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/include/asm/traps.h')
-rw-r--r--arch/x86/include/asm/traps.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/arch/x86/include/asm/traps.h b/arch/x86/include/asm/traps.h
index b0cced97a6ce..1fadd310ff68 100644
--- a/arch/x86/include/asm/traps.h
+++ b/arch/x86/include/asm/traps.h
@@ -38,9 +38,9 @@ asmlinkage void simd_coprocessor_error(void);
38 38
39#if defined(CONFIG_X86_64) && defined(CONFIG_XEN_PV) 39#if defined(CONFIG_X86_64) && defined(CONFIG_XEN_PV)
40asmlinkage void xen_divide_error(void); 40asmlinkage void xen_divide_error(void);
41asmlinkage void xen_xennmi(void);
41asmlinkage void xen_xendebug(void); 42asmlinkage void xen_xendebug(void);
42asmlinkage void xen_xenint3(void); 43asmlinkage void xen_xenint3(void);
43asmlinkage void xen_nmi(void);
44asmlinkage void xen_overflow(void); 44asmlinkage void xen_overflow(void);
45asmlinkage void xen_bounds(void); 45asmlinkage void xen_bounds(void);
46asmlinkage void xen_invalid_op(void); 46asmlinkage void xen_invalid_op(void);
@@ -145,4 +145,22 @@ enum {
145 X86_TRAP_IRET = 32, /* 32, IRET Exception */ 145 X86_TRAP_IRET = 32, /* 32, IRET Exception */
146}; 146};
147 147
148/*
149 * Page fault error code bits:
150 *
151 * bit 0 == 0: no page found 1: protection fault
152 * bit 1 == 0: read access 1: write access
153 * bit 2 == 0: kernel-mode access 1: user-mode access
154 * bit 3 == 1: use of reserved bit detected
155 * bit 4 == 1: fault was an instruction fetch
156 * bit 5 == 1: protection keys block access
157 */
158enum x86_pf_error_code {
159 X86_PF_PROT = 1 << 0,
160 X86_PF_WRITE = 1 << 1,
161 X86_PF_USER = 1 << 2,
162 X86_PF_RSVD = 1 << 3,
163 X86_PF_INSTR = 1 << 4,
164 X86_PF_PK = 1 << 5,
165};
148#endif /* _ASM_X86_TRAPS_H */ 166#endif /* _ASM_X86_TRAPS_H */