43 #ifndef __ARCH_ARM_MISCREGS_HH__
44 #define __ARCH_ARM_MISCREGS_HH__
724 unsigned crm,
unsigned opc2);
726 unsigned crn,
unsigned crm,
733 unsigned crm,
unsigned opc2);
769 "pmxevtyper_pmccfiltr",
1105 "dbgauthstatus_el1",
1246 "tlbi_ipas2e1is_xt",
1247 "tlbi_ipas2le1is_xt",
1252 "tlbi_vmalls12e1is",
1361 "The miscRegName array and NUM_MISCREGS are inconsistent.");
1391 static const uint32_t CondCodesMask = 0xF00F0000;
1486 Bitfield<20> nstrcdis;
1586 Bitfield<11, 10> cp5;
1587 Bitfield<13, 12> cp6;
1588 Bitfield<15, 14> cp7;
1589 Bitfield<17, 16> cp8;
1590 Bitfield<19, 18> cp9;
1591 Bitfield<21, 20> cp10;
1593 Bitfield<23, 22> cp11;
1594 Bitfield<25, 24> cp12;
1595 Bitfield<27, 26> cp13;
1641 static const uint32_t FpCondCodesMask = 0xF0000000;
1708 Bitfield<5, 0>
t0sz;
1710 Bitfield<9, 8>
irgn0;
1711 Bitfield<11, 10>
orgn0;
1712 Bitfield<13, 12>
sh0;
1713 Bitfield<15, 14> tg0;
1714 Bitfield<18, 16>
ps;
1716 Bitfield<21, 16>
t1sz;
1719 Bitfield<25, 24>
irgn1;
1720 Bitfield<27, 26>
orgn1;
1721 Bitfield<29, 28>
sh1;
1722 Bitfield<31, 30> tg1;
1723 Bitfield<34, 32>
ips;
1730 Bitfield<2, 0> t0sz;
1731 Bitfield<9, 8>
irgn0;
1732 Bitfield<11, 10>
orgn0;
1733 Bitfield<13, 12>
sh0;
1737 Bitfield<3, 0> t0sz;
1741 Bitfield<9, 8>
irgn0;
1742 Bitfield<11, 10>
orgn0;
1743 Bitfield<13, 12>
sh0;
1744 Bitfield<15, 14> tg0;
1913 #endif // __ARCH_ARM_MISCREGS_HH__
std::tuple< bool, bool > canReadCoprocReg(MiscRegIndex reg, SCR scr, CPSR cpsr)
bitset< NUM_MISCREG_INFOS > miscRegInfo[NUM_MISCREGS]
Bitfield< 20, 13 > reserved_20_13
Bitfield< 31, 28 > roundingModes
Bitfield< 9 > tagRAMSetup
Bitfield< 15, 14 > l1IndexPolicy
Bitfield< 21, 20 > stride
Bitfield< 27, 24 > shortVectors
Bitfield< 15, 12 > advSimdInteger
const char *const miscRegName[]
Bitfield< 23, 22 > res0_23_22
Bitfield< 19, 16 > divide
Bitfield< 5 > dataRAMSetup
ThreadContext is the external interface to all thread state for anything outside of the CPU...
Bitfield< 11, 8 > doublePrecision
Bitfield< 23 > interptCtrlPresent
MiscRegIndex decodeCP15Reg64(unsigned crm, unsigned opc1)
Bitfield< 22 > reserved_22
BitUnion32(CPSR) Bitfield< 31
Bitfield< 21 > eccandParityEnable
int unflattenMiscReg(int reg)
MiscRegIndex decodeAArch64SysReg(unsigned op0, unsigned op1, unsigned crn, unsigned crm, unsigned op2)
Bitfield< 11, 8 > advSimdLoadStore
Bitfield< 13, 12 > res1_13_12_el2
Bitfield< 7, 4 > singlePrecision
static const uint32_t CpsrMaskQ
bool canReadAArch64SysReg(MiscRegIndex reg, SCR scr, CPSR cpsr, ThreadContext *tc)
Bitfield< 23, 20 > squareRoot
bool canWriteAArch64SysReg(MiscRegIndex reg, SCR scr, CPSR cpsr, ThreadContext *tc)
Bitfield< 13, 4 > raz_13_4
Bitfield< 7, 4 > defaultNaN
Bitfield< 25, 24 > numCPUs
Bitfield< 19, 16 > dCacheLineSize
EndBitUnion(CPSR) static const uint32_t CondCodesMask=0xF00F0000
Bitfield< 30, 26 > reserved_30_26
Bitfield< 4, 3 > reserved_4_3
Bitfield< 31, 29 > format
Bitfield< 19, 16 > advSimdSinglePrecision
Bitfield< 23, 20 > advSimdHalfPrecision
Bitfield< 15, 12 > vfpExceptionTrapping
std::tuple< bool, bool > canWriteCoprocReg(MiscRegIndex reg, SCR scr, CPSR cpsr)
Check for permission to read coprocessor registers.
Bitfield< 8, 6 > tagRAMLatency
bool aarch64SysRegReadOnly(MiscRegIndex miscReg)
Bitfield< 27, 24 > vfpHalfPrecision
static const uint32_t FpscrExcMask
Bitfield< 11, 10 > dataRAMSlice
Bitfield< 9, 0 > res1_9_0_el2
int flattenMiscRegNsBanked(MiscRegIndex reg, ThreadContext *tc)
MiscRegIndex decodeCP15Reg(unsigned crn, unsigned opc1, unsigned crm, unsigned opc2)
Bitfield< 31 > l2rstDISABLE_monitor
MiscRegIndex decodeCP14Reg(unsigned crn, unsigned opc1, unsigned crm, unsigned opc2)
Bitfield< 29, 0 > subArchDefined
Bitfield< 12 > tagRAMSlice
static const uint32_t FpscrQcMask