trap_pf.h (861B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef _ASM_X86_TRAP_PF_H 3#define _ASM_X86_TRAP_PF_H 4 5#include <linux/bits.h> /* BIT() macro */ 6 7/* 8 * Page fault error code bits: 9 * 10 * bit 0 == 0: no page found 1: protection fault 11 * bit 1 == 0: read access 1: write access 12 * bit 2 == 0: kernel-mode access 1: user-mode access 13 * bit 3 == 1: use of reserved bit detected 14 * bit 4 == 1: fault was an instruction fetch 15 * bit 5 == 1: protection keys block access 16 * bit 15 == 1: SGX MMU page-fault 17 * bit 31 == 1: fault was due to RMP violation 18 */ 19enum x86_pf_error_code { 20 X86_PF_PROT = BIT_ULL(0), 21 X86_PF_WRITE = BIT_ULL(1), 22 X86_PF_USER = BIT_ULL(2), 23 X86_PF_RSVD = BIT_ULL(3), 24 X86_PF_INSTR = BIT_ULL(4), 25 X86_PF_PK = BIT_ULL(5), 26 X86_PF_SGX = BIT_ULL(15), 27 X86_PF_RMP = BIT_ULL(31), 28}; 29 30#endif /* _ASM_X86_TRAP_PF_H */