mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
x86/traps: Move pf error codes to <asm/trap_pf.h>
Move the definition of the x86 page-fault error code bits to a new header file asm/trap_pf.h. This makes it easier to include them into pre-decompression boot code. No functional changes. Signed-off-by: Joerg Roedel <jroedel@suse.de> Signed-off-by: Borislav Petkov <bp@suse.de> Link: https://lkml.kernel.org/r/20200907131613.12703-7-joro@8bytes.org
This commit is contained in:
parent
360e7c5c4c
commit
05a2fdf323
24
arch/x86/include/asm/trap_pf.h
Normal file
24
arch/x86/include/asm/trap_pf.h
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
/* SPDX-License-Identifier: GPL-2.0 */
|
||||||
|
#ifndef _ASM_X86_TRAP_PF_H
|
||||||
|
#define _ASM_X86_TRAP_PF_H
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Page fault error code bits:
|
||||||
|
*
|
||||||
|
* bit 0 == 0: no page found 1: protection fault
|
||||||
|
* bit 1 == 0: read access 1: write access
|
||||||
|
* bit 2 == 0: kernel-mode access 1: user-mode access
|
||||||
|
* bit 3 == 1: use of reserved bit detected
|
||||||
|
* bit 4 == 1: fault was an instruction fetch
|
||||||
|
* bit 5 == 1: protection keys block access
|
||||||
|
*/
|
||||||
|
enum x86_pf_error_code {
|
||||||
|
X86_PF_PROT = 1 << 0,
|
||||||
|
X86_PF_WRITE = 1 << 1,
|
||||||
|
X86_PF_USER = 1 << 2,
|
||||||
|
X86_PF_RSVD = 1 << 3,
|
||||||
|
X86_PF_INSTR = 1 << 4,
|
||||||
|
X86_PF_PK = 1 << 5,
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* _ASM_X86_TRAP_PF_H */
|
@ -8,6 +8,7 @@
|
|||||||
#include <asm/debugreg.h>
|
#include <asm/debugreg.h>
|
||||||
#include <asm/idtentry.h>
|
#include <asm/idtentry.h>
|
||||||
#include <asm/siginfo.h> /* TRAP_TRACE, ... */
|
#include <asm/siginfo.h> /* TRAP_TRACE, ... */
|
||||||
|
#include <asm/trap_pf.h>
|
||||||
|
|
||||||
#ifdef CONFIG_X86_64
|
#ifdef CONFIG_X86_64
|
||||||
asmlinkage __visible notrace struct pt_regs *sync_regs(struct pt_regs *eregs);
|
asmlinkage __visible notrace struct pt_regs *sync_regs(struct pt_regs *eregs);
|
||||||
@ -41,22 +42,4 @@ void __noreturn handle_stack_overflow(const char *message,
|
|||||||
unsigned long fault_address);
|
unsigned long fault_address);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
|
||||||
* Page fault error code bits:
|
|
||||||
*
|
|
||||||
* bit 0 == 0: no page found 1: protection fault
|
|
||||||
* bit 1 == 0: read access 1: write access
|
|
||||||
* bit 2 == 0: kernel-mode access 1: user-mode access
|
|
||||||
* bit 3 == 1: use of reserved bit detected
|
|
||||||
* bit 4 == 1: fault was an instruction fetch
|
|
||||||
* bit 5 == 1: protection keys block access
|
|
||||||
*/
|
|
||||||
enum x86_pf_error_code {
|
|
||||||
X86_PF_PROT = 1 << 0,
|
|
||||||
X86_PF_WRITE = 1 << 1,
|
|
||||||
X86_PF_USER = 1 << 2,
|
|
||||||
X86_PF_RSVD = 1 << 3,
|
|
||||||
X86_PF_INSTR = 1 << 4,
|
|
||||||
X86_PF_PK = 1 << 5,
|
|
||||||
};
|
|
||||||
#endif /* _ASM_X86_TRAPS_H */
|
#endif /* _ASM_X86_TRAPS_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user