cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

fault.h (862B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef __ARCH_ARM_FAULT_H
      3#define __ARCH_ARM_FAULT_H
      4
      5/*
      6 * Fault status register encodings.  We steal bit 31 for our own purposes.
      7 */
      8#define FSR_LNX_PF		(1 << 31)
      9#define FSR_CM			(1 << 13)
     10#define FSR_WRITE		(1 << 11)
     11#define FSR_FS4			(1 << 10)
     12#define FSR_FS3_0		(15)
     13#define FSR_FS5_0		(0x3f)
     14
     15#ifdef CONFIG_ARM_LPAE
     16#define FSR_FS_AEA		17
     17#define FS_PERM_NOLL		0xC
     18#define FS_PERM_NOLL_MASK	0x3C
     19
     20static inline int fsr_fs(unsigned int fsr)
     21{
     22	return fsr & FSR_FS5_0;
     23}
     24#else
     25#define FSR_FS_AEA		22
     26#define FS_L1_PERM             0xD
     27#define FS_L2_PERM             0xF
     28
     29static inline int fsr_fs(unsigned int fsr)
     30{
     31	return (fsr & FSR_FS3_0) | (fsr & FSR_FS4) >> 6;
     32}
     33#endif
     34
     35void do_bad_area(unsigned long addr, unsigned int fsr, struct pt_regs *regs);
     36void early_abt_enable(void);
     37
     38#endif	/* __ARCH_ARM_FAULT_H */