mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
735 B
34 lines
735 B
/* SPDX-License-Identifier: GPL-2.0 */ |
|
#ifndef __ARCH_ARM_FAULT_H |
|
#define __ARCH_ARM_FAULT_H |
|
|
|
/* |
|
* Fault status register encodings. We steal bit 31 for our own purposes. |
|
*/ |
|
#define FSR_LNX_PF (1 << 31) |
|
#define FSR_CM (1 << 13) |
|
#define FSR_WRITE (1 << 11) |
|
#define FSR_FS4 (1 << 10) |
|
#define FSR_FS3_0 (15) |
|
#define FSR_FS5_0 (0x3f) |
|
|
|
#ifdef CONFIG_ARM_LPAE |
|
#define FSR_FS_AEA 17 |
|
|
|
static inline int fsr_fs(unsigned int fsr) |
|
{ |
|
return fsr & FSR_FS5_0; |
|
} |
|
#else |
|
#define FSR_FS_AEA 22 |
|
|
|
static inline int fsr_fs(unsigned int fsr) |
|
{ |
|
return (fsr & FSR_FS3_0) | (fsr & FSR_FS4) >> 6; |
|
} |
|
#endif |
|
|
|
void do_bad_area(unsigned long addr, unsigned int fsr, struct pt_regs *regs); |
|
void early_abt_enable(void); |
|
|
|
#endif /* __ARCH_ARM_FAULT_H */
|
|
|