gem5 v23.0.0.1
Loading...
Searching...
No Matches
misc.hh
Go to the documentation of this file.
1/*
2 * Copyright (c) 2010-2023 Arm Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated
11 * unmodified and in its entirety in all distributions of the software,
12 * modified or unmodified, in source code or in binary form.
13 *
14 * Copyright (c) 2009 The Regents of The University of Michigan
15 * All rights reserved.
16 *
17 * Redistribution and use in source and binary forms, with or without
18 * modification, are permitted provided that the following conditions are
19 * met: redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer;
21 * redistributions in binary form must reproduce the above copyright
22 * notice, this list of conditions and the following disclaimer in the
23 * documentation and/or other materials provided with the distribution;
24 * neither the name of the copyright holders nor the names of its
25 * contributors may be used to endorse or promote products derived from
26 * this software without specific prior written permission.
27 *
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
29 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
31 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
32 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
33 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
34 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
35 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
36 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
37 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
38 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 */
40
41#ifndef __ARCH_ARM_REGS_MISC_HH__
42#define __ARCH_ARM_REGS_MISC_HH__
43
44#include <array>
45#include <bitset>
46#include <tuple>
47
49#include "arch/arm/types.hh"
50#include "base/compiler.hh"
51#include "cpu/reg_class.hh"
52#include "debug/MiscRegs.hh"
54
55namespace gem5
56{
57
58class ArmSystem;
59class ThreadContext;
60class MiscRegOp64;
61
62namespace ArmISA
63{
65 {
81
82 // Helper registers
98
99 // AArch32 CP14 registers (debug/trace/ThumbEE/Jazelle control)
203 MISCREG_TEECR, // not in ARM DDI 0487A.b+
205 MISCREG_TEEHBR, // not in ARM DDI 0487A.b+
208
209 // AArch32 CP15 registers (system control)
417 // BEGIN Generic Timer (AArch32)
439 // END Generic Timer (AArch32)
456
457 // AArch64 registers (Op0=2)
540 MISCREG_TEECR32_EL1, // not in ARM DDI 0487A.b+
541 MISCREG_TEEHBR32_EL1, // not in ARM DDI 0487A.b+
542
543 // AArch64 registers (Op0=1,3)
774 // BEGIN Generic Timer (AArch64)
802 // IF Armv8.1-VHE
809 // ENDIF Armv8.1-VHE
811 // END Generic Timer (AArch64)
840
841 // Introduced in ARMv8.1
843
845
846 //PAuth Key Regsiters
857
858 // GICv3, CPU interface
905
906 // GICv3, CPU interface, virtualization
937
980
1027
1074
1075 // SVE
1081
1082 // SME
1094
1095 // FEAT_RNG
1098
1099 // NUM_PHYS_MISCREGS specifies the number of actual physical
1100 // registers, not considering the following pseudo-registers
1101 // (dummy registers), like MISCREG_UNKNOWN, MISCREG_IMPDEF_UNIMPL.
1102 // Checkpointing should use this physical index when
1103 // saving/restoring register values.
1105
1106 // Dummy registers
1110
1111 // Implementation defined register: this represent
1112 // a pool of unimplemented registers whose access can throw
1113 // either UNDEFINED or hypervisor trap exception.
1115
1116 // RAS extension (unimplemented)
1128
1129 // FGT extension (unimplemented)
1132
1133 // PSTATE
1136
1137 // Total number of Misc Registers: Physical + Dummy
1140
1142 {
1144 MISCREG_UNVERIFIABLE, // Does the value change on every read (e.g. a
1145 // arch generic counter)
1146 MISCREG_UNSERIALIZE, // Should the checkpointed value be restored?
1147 MISCREG_WARN_NOT_FAIL, // If MISCREG_IMPLEMENTED is deasserted, it
1148 // tells whether the instruction should raise a
1149 // warning or fail
1150 MISCREG_MUTEX, // True if the register corresponds to a pair of
1151 // mutually exclusive registers
1152 MISCREG_BANKED, // True if the register is banked between the two
1153 // security states, and this is the parent node of the
1154 // two banked registers
1155 MISCREG_BANKED64, // True if the register is banked between the two
1156 // security states, and this is the parent node of
1157 // the two banked registers. Used in AA64 only.
1158 MISCREG_BANKED_CHILD, // The entry is one of the child registers that
1159 // forms a banked set of regs (along with the
1160 // other child regs)
1161
1162 // Access permissions
1163 // User mode
1168 // Privileged modes other than hypervisor or monitor
1173 // Hypervisor mode
1178 // Monitor mode, SCR.NS == 0
1181 // Monitor mode, SCR.NS == 1
1184
1187
1190 {
1191 uint32_t lower; // Lower half mapped to this register
1192 uint32_t upper; // Upper half mapped to this register
1193 uint64_t _reset; // value taken on reset (i.e. initialization)
1194 uint64_t _res0; // reserved
1195 uint64_t _res1; // reserved
1196 uint64_t _raz; // read as zero (fixed at 0)
1197 uint64_t _rao; // read as one (fixed at 1)
1198 std::bitset<NUM_MISCREG_INFOS> info;
1199
1200 using FaultCB = std::function<
1201 Fault(const MiscRegLUTEntry &entry, ThreadContext *tc,
1202 const MiscRegOp64 &inst)
1203 >;
1204
1205 std::array<FaultCB, EL3 + 1> faultRead;
1206 std::array<FaultCB, EL3 + 1> faultWrite;
1207
1208 Fault checkFault(ThreadContext *tc, const MiscRegOp64 &inst,
1210
1211 protected:
1212 template <MiscRegInfo Sec, MiscRegInfo NonSec>
1213 static Fault defaultFault(const MiscRegLUTEntry &entry,
1214 ThreadContext *tc, const MiscRegOp64 &inst);
1215
1216 public:
1218 lower(0), upper(0),
1219 _reset(0), _res0(0), _res1(0), _raz(0), _rao(0), info(0),
1220 faultRead({defaultFault<MISCREG_USR_S_RD, MISCREG_USR_NS_RD>,
1221 defaultFault<MISCREG_PRI_S_RD, MISCREG_PRI_NS_RD>,
1222 defaultFault<MISCREG_HYP_S_RD, MISCREG_HYP_NS_RD>,
1223 defaultFault<MISCREG_MON_NS0_RD, MISCREG_MON_NS1_RD>}),
1224 faultWrite({defaultFault<MISCREG_USR_S_WR, MISCREG_USR_NS_WR>,
1225 defaultFault<MISCREG_PRI_S_WR, MISCREG_PRI_NS_WR>,
1226 defaultFault<MISCREG_HYP_S_WR, MISCREG_HYP_NS_WR>,
1227 defaultFault<MISCREG_MON_NS0_WR, MISCREG_MON_NS1_WR>})
1228 {}
1229 uint64_t reset() const { return _reset; }
1230 uint64_t res0() const { return _res0; }
1231 uint64_t res1() const { return _res1; }
1232 uint64_t raz() const { return _raz; }
1233 uint64_t rao() const { return _rao; }
1234 // raz/rao implies writes ignored
1235 uint64_t wi() const { return _raz | _rao; }
1236 };
1237
1240 {
1243 public:
1244 chain
1245 mapsTo(uint32_t l, uint32_t u = 0) const
1246 {
1247 entry.lower = l;
1248 entry.upper = u;
1249 return *this;
1250 }
1251 chain
1252 reset(uint64_t res_val) const
1253 {
1254 entry._reset = res_val;
1255 return *this;
1256 }
1257 chain
1258 res0(uint64_t mask) const
1259 {
1260 entry._res0 = mask;
1261 return *this;
1262 }
1263 chain
1264 res1(uint64_t mask) const
1265 {
1266 entry._res1 = mask;
1267 return *this;
1268 }
1269 chain
1270 raz(uint64_t mask = (uint64_t)-1) const
1271 {
1272 entry._raz = mask;
1273 return *this;
1274 }
1275 chain
1276 rao(uint64_t mask = (uint64_t)-1) const
1277 {
1278 entry._rao = mask;
1279 return *this;
1280 }
1281 chain
1282 implemented(bool v = true) const
1283 {
1285 return *this;
1286 }
1287 chain
1289 {
1290 return implemented(false);
1291 }
1292 chain
1293 unverifiable(bool v = true) const
1294 {
1296 return *this;
1297 }
1298 chain
1299 unserialize(bool v = true) const
1300 {
1302 return *this;
1303 }
1304 chain
1305 warnNotFail(bool v = true) const
1306 {
1308 return *this;
1309 }
1310 chain
1311 mutex(bool v = true) const
1312 {
1314 return *this;
1315 }
1316 chain
1317 banked(bool v = true) const
1318 {
1320 return *this;
1321 }
1322 chain
1323 banked64(bool v = true) const
1324 {
1326 return *this;
1327 }
1328 chain
1329 bankedChild(bool v = true) const
1330 {
1332 return *this;
1333 }
1334 chain
1335 userNonSecureRead(bool v = true) const
1336 {
1338 return *this;
1339 }
1340 chain
1341 userNonSecureWrite(bool v = true) const
1342 {
1344 return *this;
1345 }
1346 chain
1347 userSecureRead(bool v = true) const
1348 {
1350 return *this;
1351 }
1352 chain
1353 userSecureWrite(bool v = true) const
1354 {
1356 return *this;
1357 }
1358 chain
1359 user(bool v = true) const
1360 {
1365 return *this;
1366 }
1367 chain
1368 privNonSecureRead(bool v = true) const
1369 {
1371 return *this;
1372 }
1373 chain
1374 privNonSecureWrite(bool v = true) const
1375 {
1377 return *this;
1378 }
1379 chain
1380 privNonSecure(bool v = true) const
1381 {
1384 return *this;
1385 }
1386 chain
1387 privSecureRead(bool v = true) const
1388 {
1390 return *this;
1391 }
1392 chain
1393 privSecureWrite(bool v = true) const
1394 {
1396 return *this;
1397 }
1398 chain
1399 privSecure(bool v = true) const
1400 {
1403 return *this;
1404 }
1405 chain
1406 priv(bool v = true) const
1407 {
1408 privSecure(v);
1410 return *this;
1411 }
1412 chain
1413 privRead(bool v = true) const
1414 {
1417 return *this;
1418 }
1419 chain
1420 hypSecureRead(bool v = true) const
1421 {
1423 return *this;
1424 }
1425 chain
1426 hypNonSecureRead(bool v = true) const
1427 {
1429 return *this;
1430 }
1431 chain
1432 hypRead(bool v = true) const
1433 {
1436 return *this;
1437 }
1438 chain
1439 hypSecureWrite(bool v = true) const
1440 {
1442 return *this;
1443 }
1444 chain
1445 hypNonSecureWrite(bool v = true) const
1446 {
1448 return *this;
1449 }
1450 chain
1451 hypWrite(bool v = true) const
1452 {
1455 return *this;
1456 }
1457 chain
1458 hypSecure(bool v = true) const
1459 {
1462 return *this;
1463 }
1464 chain
1465 hyp(bool v = true) const
1466 {
1467 hypRead(v);
1468 hypWrite(v);
1469 return *this;
1470 }
1471 chain
1472 monSecureRead(bool v = true) const
1473 {
1475 return *this;
1476 }
1477 chain
1478 monSecureWrite(bool v = true) const
1479 {
1481 return *this;
1482 }
1483 chain
1484 monNonSecureRead(bool v = true) const
1485 {
1487 return *this;
1488 }
1489 chain
1490 monNonSecureWrite(bool v = true) const
1491 {
1493 return *this;
1494 }
1495 chain
1496 mon(bool v = true) const
1497 {
1502 return *this;
1503 }
1504 chain
1505 monSecure(bool v = true) const
1506 {
1509 return *this;
1510 }
1511 chain
1512 monNonSecure(bool v = true) const
1513 {
1516 return *this;
1517 }
1518 chain
1519 allPrivileges(bool v = true) const
1520 {
1529 hypRead(v);
1530 hypWrite(v);
1535 return *this;
1536 }
1537 chain
1538 nonSecure(bool v = true) const
1539 {
1544 hypRead(v);
1545 hypWrite(v);
1548 return *this;
1549 }
1550 chain
1551 secure(bool v = true) const
1552 {
1559 return *this;
1560 }
1561 chain
1562 reads(bool v) const
1563 {
1568 hypRead(v);
1571 return *this;
1572 }
1573 chain
1574 writes(bool v) const
1575 {
1580 hypWrite(v);
1583 return *this;
1584 }
1585 chain
1587 {
1588 user(0);
1589 return *this;
1590 }
1591 chain highest(ArmSystem *const sys) const;
1592
1593 chain
1595 {
1596 entry.faultRead[el] = cb;
1597 return *this;
1598 }
1599
1600 chain
1602 {
1603 entry.faultWrite[el] = cb;
1604 return *this;
1605 }
1606
1607 chain
1609 {
1610 return faultRead(el, cb).faultWrite(el, cb);
1611 }
1612
1613 chain
1615 {
1616 return fault(EL0, cb).fault(EL1, cb).fault(EL2, cb).fault(EL3, cb);
1617 }
1618
1620 : entry(e)
1621 {
1622 // force unimplemented registers to be thusly declared
1624 }
1625 };
1626
1628
1630 {
1631 MiscRegNum32(unsigned _coproc, unsigned _opc1,
1632 unsigned _crn, unsigned _crm,
1633 unsigned _opc2)
1634 : reg64(0), coproc(_coproc), opc1(_opc1), crn(_crn),
1635 crm(_crm), opc2(_opc2)
1636 {
1637 // MCR/MRC CP14 or CP15 register
1638 assert(coproc == 0b1110 || coproc == 0b1111);
1639 assert(opc1 < 8 && crn < 16 && crm < 16 && opc2 < 8);
1640 }
1641
1642 MiscRegNum32(unsigned _coproc, unsigned _opc1,
1643 unsigned _crm)
1644 : reg64(1), coproc(_coproc), opc1(_opc1), crn(0),
1645 crm(_crm), opc2(0)
1646 {
1647 // MCRR/MRRC CP14 or CP15 register
1648 assert(coproc == 0b1110 || coproc == 0b1111);
1649 assert(opc1 < 16 && crm < 16);
1650 }
1651
1652 MiscRegNum32(const MiscRegNum32& rhs) = default;
1653
1654 bool
1655 operator==(const MiscRegNum32 &other) const
1656 {
1657 return reg64 == other.reg64 &&
1658 coproc == other.coproc &&
1659 opc1 == other.opc1 &&
1660 crn == other.crn &&
1661 crm == other.crm &&
1662 opc2 == other.opc2;
1663 }
1664
1665 uint32_t
1666 packed() const
1667 {
1668 return reg64 << 19 |
1669 coproc << 15 |
1670 opc1 << 11 |
1671 crn << 7 |
1672 crm << 3 |
1673 opc2;
1674 }
1675
1676 // 1 if the register is 64bit wide (accessed through MCRR/MRCC)
1677 // 0 otherwise. We need this when generating the hash as there
1678 // might be collisions between 32 and 64 bit registers
1679 const unsigned reg64;
1680
1681 unsigned coproc;
1682 unsigned opc1;
1683 unsigned crn;
1684 unsigned crm;
1685 unsigned opc2;
1686 };
1687
1689 {
1690 MiscRegNum64(unsigned _op0, unsigned _op1,
1691 unsigned _crn, unsigned _crm,
1692 unsigned _op2)
1693 : op0(_op0), op1(_op1), crn(_crn),
1694 crm(_crm), op2(_op2)
1695 {
1696 assert(op0 < 4 && op1 < 8 && crn < 16 && crm < 16 && op2 < 8);
1697 }
1698
1699 MiscRegNum64(const MiscRegNum64& rhs) = default;
1700
1701 bool
1702 operator==(const MiscRegNum64 &other) const
1703 {
1704 return op0 == other.op0 &&
1705 op1 == other.op1 &&
1706 crn == other.crn &&
1707 crm == other.crm &&
1708 op2 == other.op2;
1709 }
1710
1711 uint32_t
1712 packed() const
1713 {
1714 return op0 << 14 |
1715 op1 << 11 |
1716 crn << 7 |
1717 crm << 3 |
1718 op2;
1719 }
1720
1721 unsigned op0;
1722 unsigned op1;
1723 unsigned crn;
1724 unsigned crm;
1725 unsigned op2;
1726 };
1727
1728 // Decodes 32-bit CP14 registers accessible through MCR/MRC instructions
1729 MiscRegIndex decodeCP14Reg(unsigned crn, unsigned opc1,
1730 unsigned crm, unsigned opc2);
1731 MiscRegIndex decodeAArch64SysReg(unsigned op0, unsigned op1,
1732 unsigned crn, unsigned crm,
1733 unsigned op2);
1736
1737 // Whether a particular AArch64 system register is -always- read only.
1739
1740 // Decodes 32-bit CP15 registers accessible through MCR/MRC instructions
1741 MiscRegIndex decodeCP15Reg(unsigned crn, unsigned opc1,
1742 unsigned crm, unsigned opc2);
1743
1744 // Decodes 64-bit CP15 registers accessible through MCRR/MRRC instructions
1745 MiscRegIndex decodeCP15Reg64(unsigned crm, unsigned opc1);
1746
1747
1748 const char * const miscRegName[] = {
1749 "cpsr",
1750 "spsr",
1751 "spsr_fiq",
1752 "spsr_irq",
1753 "spsr_svc",
1754 "spsr_mon",
1755 "spsr_abt",
1756 "spsr_hyp",
1757 "spsr_und",
1758 "elr_hyp",
1759 "fpsid",
1760 "fpscr",
1761 "mvfr1",
1762 "mvfr0",
1763 "fpexc",
1764
1765 // Helper registers
1766 "cpsr_mode",
1767 "cpsr_q",
1768 "fpscr_exc",
1769 "fpscr_qc",
1770 "lockaddr",
1771 "lockflag",
1772 "prrr_mair0",
1773 "prrr_mair0_ns",
1774 "prrr_mair0_s",
1775 "nmrr_mair1",
1776 "nmrr_mair1_ns",
1777 "nmrr_mair1_s",
1778 "pmxevtyper_pmccfiltr",
1779 "sev_mailbox",
1780 "tlbi_needsync",
1781
1782 // AArch32 CP14 registers
1783 "dbgdidr",
1784 "dbgdscrint",
1785 "dbgdccint",
1786 "dbgdtrtxint",
1787 "dbgdtrrxint",
1788 "dbgwfar",
1789 "dbgvcr",
1790 "dbgdtrrxext",
1791 "dbgdscrext",
1792 "dbgdtrtxext",
1793 "dbgoseccr",
1794 "dbgbvr0",
1795 "dbgbvr1",
1796 "dbgbvr2",
1797 "dbgbvr3",
1798 "dbgbvr4",
1799 "dbgbvr5",
1800 "dbgbvr6",
1801 "dbgbvr7",
1802 "dbgbvr8",
1803 "dbgbvr9",
1804 "dbgbvr10",
1805 "dbgbvr11",
1806 "dbgbvr12",
1807 "dbgbvr13",
1808 "dbgbvr14",
1809 "dbgbvr15",
1810 "dbgbcr0",
1811 "dbgbcr1",
1812 "dbgbcr2",
1813 "dbgbcr3",
1814 "dbgbcr4",
1815 "dbgbcr5",
1816 "dbgbcr6",
1817 "dbgbcr7",
1818 "dbgbcr8",
1819 "dbgbcr9",
1820 "dbgbcr10",
1821 "dbgbcr11",
1822 "dbgbcr12",
1823 "dbgbcr13",
1824 "dbgbcr14",
1825 "dbgbcr15",
1826 "dbgwvr0",
1827 "dbgwvr1",
1828 "dbgwvr2",
1829 "dbgwvr3",
1830 "dbgwvr4",
1831 "dbgwvr5",
1832 "dbgwvr6",
1833 "dbgwvr7",
1834 "dbgwvr8",
1835 "dbgwvr9",
1836 "dbgwvr10",
1837 "dbgwvr11",
1838 "dbgwvr12",
1839 "dbgwvr13",
1840 "dbgwvr14",
1841 "dbgwvr15",
1842 "dbgwcr0",
1843 "dbgwcr1",
1844 "dbgwcr2",
1845 "dbgwcr3",
1846 "dbgwcr4",
1847 "dbgwcr5",
1848 "dbgwcr6",
1849 "dbgwcr7",
1850 "dbgwcr8",
1851 "dbgwcr9",
1852 "dbgwcr10",
1853 "dbgwcr11",
1854 "dbgwcr12",
1855 "dbgwcr13",
1856 "dbgwcr14",
1857 "dbgwcr15",
1858 "dbgdrar",
1859 "dbgbxvr0",
1860 "dbgbxvr1",
1861 "dbgbxvr2",
1862 "dbgbxvr3",
1863 "dbgbxvr4",
1864 "dbgbxvr5",
1865 "dbgbxvr6",
1866 "dbgbxvr7",
1867 "dbgbxvr8",
1868 "dbgbxvr9",
1869 "dbgbxvr10",
1870 "dbgbxvr11",
1871 "dbgbxvr12",
1872 "dbgbxvr13",
1873 "dbgbxvr14",
1874 "dbgbxvr15",
1875 "dbgoslar",
1876 "dbgoslsr",
1877 "dbgosdlr",
1878 "dbgprcr",
1879 "dbgdsar",
1880 "dbgclaimset",
1881 "dbgclaimclr",
1882 "dbgauthstatus",
1883 "dbgdevid2",
1884 "dbgdevid1",
1885 "dbgdevid0",
1886 "teecr",
1887 "jidr",
1888 "teehbr",
1889 "joscr",
1890 "jmcr",
1891
1892 // AArch32 CP15 registers
1893 "midr",
1894 "ctr",
1895 "tcmtr",
1896 "tlbtr",
1897 "mpidr",
1898 "revidr",
1899 "id_pfr0",
1900 "id_pfr1",
1901 "id_dfr0",
1902 "id_afr0",
1903 "id_mmfr0",
1904 "id_mmfr1",
1905 "id_mmfr2",
1906 "id_mmfr3",
1907 "id_mmfr4",
1908 "id_isar0",
1909 "id_isar1",
1910 "id_isar2",
1911 "id_isar3",
1912 "id_isar4",
1913 "id_isar5",
1914 "id_isar6",
1915 "ccsidr",
1916 "clidr",
1917 "aidr",
1918 "csselr",
1919 "csselr_ns",
1920 "csselr_s",
1921 "vpidr",
1922 "vmpidr",
1923 "sctlr",
1924 "sctlr_ns",
1925 "sctlr_s",
1926 "actlr",
1927 "actlr_ns",
1928 "actlr_s",
1929 "cpacr",
1930 "sdcr",
1931 "scr",
1932 "sder",
1933 "nsacr",
1934 "hsctlr",
1935 "hactlr",
1936 "hcr",
1937 "hcr2",
1938 "hdcr",
1939 "hcptr",
1940 "hstr",
1941 "hacr",
1942 "ttbr0",
1943 "ttbr0_ns",
1944 "ttbr0_s",
1945 "ttbr1",
1946 "ttbr1_ns",
1947 "ttbr1_s",
1948 "ttbcr",
1949 "ttbcr_ns",
1950 "ttbcr_s",
1951 "htcr",
1952 "vtcr",
1953 "dacr",
1954 "dacr_ns",
1955 "dacr_s",
1956 "dfsr",
1957 "dfsr_ns",
1958 "dfsr_s",
1959 "ifsr",
1960 "ifsr_ns",
1961 "ifsr_s",
1962 "adfsr",
1963 "adfsr_ns",
1964 "adfsr_s",
1965 "aifsr",
1966 "aifsr_ns",
1967 "aifsr_s",
1968 "hadfsr",
1969 "haifsr",
1970 "hsr",
1971 "dfar",
1972 "dfar_ns",
1973 "dfar_s",
1974 "ifar",
1975 "ifar_ns",
1976 "ifar_s",
1977 "hdfar",
1978 "hifar",
1979 "hpfar",
1980 "icialluis",
1981 "bpiallis",
1982 "par",
1983 "par_ns",
1984 "par_s",
1985 "iciallu",
1986 "icimvau",
1987 "cp15isb",
1988 "bpiall",
1989 "bpimva",
1990 "dcimvac",
1991 "dcisw",
1992 "ats1cpr",
1993 "ats1cpw",
1994 "ats1cur",
1995 "ats1cuw",
1996 "ats12nsopr",
1997 "ats12nsopw",
1998 "ats12nsour",
1999 "ats12nsouw",
2000 "dccmvac",
2001 "dccsw",
2002 "cp15dsb",
2003 "cp15dmb",
2004 "dccmvau",
2005 "dccimvac",
2006 "dccisw",
2007 "ats1hr",
2008 "ats1hw",
2009 "tlbiallis",
2010 "tlbimvais",
2011 "tlbiasidis",
2012 "tlbimvaais",
2013 "tlbimvalis",
2014 "tlbimvaalis",
2015 "itlbiall",
2016 "itlbimva",
2017 "itlbiasid",
2018 "dtlbiall",
2019 "dtlbimva",
2020 "dtlbiasid",
2021 "tlbiall",
2022 "tlbimva",
2023 "tlbiasid",
2024 "tlbimvaa",
2025 "tlbimval",
2026 "tlbimvaal",
2027 "tlbiipas2is",
2028 "tlbiipas2lis",
2029 "tlbiallhis",
2030 "tlbimvahis",
2031 "tlbiallnsnhis",
2032 "tlbimvalhis",
2033 "tlbiipas2",
2034 "tlbiipas2l",
2035 "tlbiallh",
2036 "tlbimvah",
2037 "tlbiallnsnh",
2038 "tlbimvalh",
2039 "pmcr",
2040 "pmcntenset",
2041 "pmcntenclr",
2042 "pmovsr",
2043 "pmswinc",
2044 "pmselr",
2045 "pmceid0",
2046 "pmceid1",
2047 "pmccntr",
2048 "pmxevtyper",
2049 "pmccfiltr",
2050 "pmxevcntr",
2051 "pmuserenr",
2052 "pmintenset",
2053 "pmintenclr",
2054 "pmovsset",
2055 "l2ctlr",
2056 "l2ectlr",
2057 "prrr",
2058 "prrr_ns",
2059 "prrr_s",
2060 "mair0",
2061 "mair0_ns",
2062 "mair0_s",
2063 "nmrr",
2064 "nmrr_ns",
2065 "nmrr_s",
2066 "mair1",
2067 "mair1_ns",
2068 "mair1_s",
2069 "amair0",
2070 "amair0_ns",
2071 "amair0_s",
2072 "amair1",
2073 "amair1_ns",
2074 "amair1_s",
2075 "hmair0",
2076 "hmair1",
2077 "hamair0",
2078 "hamair1",
2079 "vbar",
2080 "vbar_ns",
2081 "vbar_s",
2082 "mvbar",
2083 "rmr",
2084 "isr",
2085 "hvbar",
2086 "fcseidr",
2087 "contextidr",
2088 "contextidr_ns",
2089 "contextidr_s",
2090 "tpidrurw",
2091 "tpidrurw_ns",
2092 "tpidrurw_s",
2093 "tpidruro",
2094 "tpidruro_ns",
2095 "tpidruro_s",
2096 "tpidrprw",
2097 "tpidrprw_ns",
2098 "tpidrprw_s",
2099 "htpidr",
2100 "cntfrq",
2101 "cntpct",
2102 "cntvct",
2103 "cntp_ctl",
2104 "cntp_ctl_ns",
2105 "cntp_ctl_s",
2106 "cntp_cval",
2107 "cntp_cval_ns",
2108 "cntp_cval_s",
2109 "cntp_tval",
2110 "cntp_tval_ns",
2111 "cntp_tval_s",
2112 "cntv_ctl",
2113 "cntv_cval",
2114 "cntv_tval",
2115 "cntkctl",
2116 "cnthctl",
2117 "cnthp_ctl",
2118 "cnthp_cval",
2119 "cnthp_tval",
2120 "cntvoff",
2121 "il1data0",
2122 "il1data1",
2123 "il1data2",
2124 "il1data3",
2125 "dl1data0",
2126 "dl1data1",
2127 "dl1data2",
2128 "dl1data3",
2129 "dl1data4",
2130 "ramindex",
2131 "l2actlr",
2132 "cbar",
2133 "httbr",
2134 "vttbr",
2135 "cpumerrsr",
2136 "l2merrsr",
2137
2138 // AArch64 registers (Op0=2)
2139 "mdccint_el1",
2140 "osdtrrx_el1",
2141 "mdscr_el1",
2142 "osdtrtx_el1",
2143 "oseccr_el1",
2144 "dbgbvr0_el1",
2145 "dbgbvr1_el1",
2146 "dbgbvr2_el1",
2147 "dbgbvr3_el1",
2148 "dbgbvr4_el1",
2149 "dbgbvr5_el1",
2150 "dbgbvr6_el1",
2151 "dbgbvr7_el1",
2152 "dbgbvr8_el1",
2153 "dbgbvr9_el1",
2154 "dbgbvr10_el1",
2155 "dbgbvr11_el1",
2156 "dbgbvr12_el1",
2157 "dbgbvr13_el1",
2158 "dbgbvr14_el1",
2159 "dbgbvr15_el1",
2160 "dbgbcr0_el1",
2161 "dbgbcr1_el1",
2162 "dbgbcr2_el1",
2163 "dbgbcr3_el1",
2164 "dbgbcr4_el1",
2165 "dbgbcr5_el1",
2166 "dbgbcr6_el1",
2167 "dbgbcr7_el1",
2168 "dbgbcr8_el1",
2169 "dbgbcr9_el1",
2170 "dbgbcr10_el1",
2171 "dbgbcr11_el1",
2172 "dbgbcr12_el1",
2173 "dbgbcr13_el1",
2174 "dbgbcr14_el1",
2175 "dbgbcr15_el1",
2176 "dbgwvr0_el1",
2177 "dbgwvr1_el1",
2178 "dbgwvr2_el1",
2179 "dbgwvr3_el1",
2180 "dbgwvr4_el1",
2181 "dbgwvr5_el1",
2182 "dbgwvr6_el1",
2183 "dbgwvr7_el1",
2184 "dbgwvr8_el1",
2185 "dbgwvr9_el1",
2186 "dbgwvr10_el1",
2187 "dbgwvr11_el1",
2188 "dbgwvr12_el1",
2189 "dbgwvr13_el1",
2190 "dbgwvr14_el1",
2191 "dbgwvr15_el1",
2192 "dbgwcr0_el1",
2193 "dbgwcr1_el1",
2194 "dbgwcr2_el1",
2195 "dbgwcr3_el1",
2196 "dbgwcr4_el1",
2197 "dbgwcr5_el1",
2198 "dbgwcr6_el1",
2199 "dbgwcr7_el1",
2200 "dbgwcr8_el1",
2201 "dbgwcr9_el1",
2202 "dbgwcr10_el1",
2203 "dbgwcr11_el1",
2204 "dbgwcr12_el1",
2205 "dbgwcr13_el1",
2206 "dbgwcr14_el1",
2207 "dbgwcr15_el1",
2208 "mdccsr_el0",
2209 "mddtr_el0",
2210 "mddtrtx_el0",
2211 "mddtrrx_el0",
2212 "dbgvcr32_el2",
2213 "mdrar_el1",
2214 "oslar_el1",
2215 "oslsr_el1",
2216 "osdlr_el1",
2217 "dbgprcr_el1",
2218 "dbgclaimset_el1",
2219 "dbgclaimclr_el1",
2220 "dbgauthstatus_el1",
2221 "teecr32_el1",
2222 "teehbr32_el1",
2223
2224 // AArch64 registers (Op0=1,3)
2225 "midr_el1",
2226 "mpidr_el1",
2227 "revidr_el1",
2228 "id_pfr0_el1",
2229 "id_pfr1_el1",
2230 "id_dfr0_el1",
2231 "id_afr0_el1",
2232 "id_mmfr0_el1",
2233 "id_mmfr1_el1",
2234 "id_mmfr2_el1",
2235 "id_mmfr3_el1",
2236 "id_mmfr4_el1",
2237 "id_isar0_el1",
2238 "id_isar1_el1",
2239 "id_isar2_el1",
2240 "id_isar3_el1",
2241 "id_isar4_el1",
2242 "id_isar5_el1",
2243 "id_isar6_el1",
2244 "mvfr0_el1",
2245 "mvfr1_el1",
2246 "mvfr2_el1",
2247 "id_aa64pfr0_el1",
2248 "id_aa64pfr1_el1",
2249 "id_aa64dfr0_el1",
2250 "id_aa64dfr1_el1",
2251 "id_aa64afr0_el1",
2252 "id_aa64afr1_el1",
2253 "id_aa64isar0_el1",
2254 "id_aa64isar1_el1",
2255 "id_aa64mmfr0_el1",
2256 "id_aa64mmfr1_el1",
2257 "ccsidr_el1",
2258 "clidr_el1",
2259 "aidr_el1",
2260 "csselr_el1",
2261 "ctr_el0",
2262 "dczid_el0",
2263 "vpidr_el2",
2264 "vmpidr_el2",
2265 "sctlr_el1",
2266 "sctlr_el12",
2267 "actlr_el1",
2268 "cpacr_el1",
2269 "cpacr_el12",
2270 "sctlr_el2",
2271 "actlr_el2",
2272 "hcr_el2",
2273 "hcrx_el2",
2274 "mdcr_el2",
2275 "cptr_el2",
2276 "hstr_el2",
2277 "hacr_el2",
2278 "sctlr_el3",
2279 "actlr_el3",
2280 "scr_el3",
2281 "sder32_el3",
2282 "cptr_el3",
2283 "mdcr_el3",
2284 "ttbr0_el1",
2285 "ttbr0_el12",
2286 "ttbr1_el1",
2287 "ttbr1_el12",
2288 "tcr_el1",
2289 "tcr_el12",
2290 "ttbr0_el2",
2291 "tcr_el2",
2292 "vttbr_el2",
2293 "vtcr_el2",
2294 "vsttbr_el2",
2295 "vstcr_el2",
2296 "ttbr0_el3",
2297 "tcr_el3",
2298 "dacr32_el2",
2299 "spsr_el1",
2300 "spsr_el12",
2301 "elr_el1",
2302 "elr_el12",
2303 "sp_el0",
2304 "spsel",
2305 "currentel",
2306 "nzcv",
2307 "daif",
2308 "fpcr",
2309 "fpsr",
2310 "dspsr_el0",
2311 "dlr_el0",
2312 "spsr_el2",
2313 "elr_el2",
2314 "sp_el1",
2315 "spsr_irq_aa64",
2316 "spsr_abt_aa64",
2317 "spsr_und_aa64",
2318 "spsr_fiq_aa64",
2319 "spsr_el3",
2320 "elr_el3",
2321 "sp_el2",
2322 "afsr0_el1",
2323 "afsr0_el12",
2324 "afsr1_el1",
2325 "afsr1_el12",
2326 "esr_el1",
2327 "esr_el12",
2328 "ifsr32_el2",
2329 "afsr0_el2",
2330 "afsr1_el2",
2331 "esr_el2",
2332 "fpexc32_el2",
2333 "afsr0_el3",
2334 "afsr1_el3",
2335 "esr_el3",
2336 "far_el1",
2337 "far_el12",
2338 "far_el2",
2339 "hpfar_el2",
2340 "far_el3",
2341 "ic_ialluis",
2342 "par_el1",
2343 "ic_iallu",
2344 "dc_ivac_xt",
2345 "dc_isw_xt",
2346 "at_s1e1r_xt",
2347 "at_s1e1w_xt",
2348 "at_s1e0r_xt",
2349 "at_s1e0w_xt",
2350 "dc_csw_xt",
2351 "dc_cisw_xt",
2352 "dc_zva_xt",
2353 "ic_ivau_xt",
2354 "dc_cvac_xt",
2355 "dc_cvau_xt",
2356 "dc_civac_xt",
2357 "at_s1e2r_xt",
2358 "at_s1e2w_xt",
2359 "at_s12e1r_xt",
2360 "at_s12e1w_xt",
2361 "at_s12e0r_xt",
2362 "at_s12e0w_xt",
2363 "at_s1e3r_xt",
2364 "at_s1e3w_xt",
2365 "tlbi_vmalle1is",
2366 "tlbi_vmalle1os",
2367 "tlbi_vae1is_xt",
2368 "tlbi_vae1os_xt",
2369 "tlbi_aside1is_xt",
2370 "tlbi_aside1os_xt",
2371 "tlbi_vaae1is_xt",
2372 "tlbi_vaae1os_xt",
2373 "tlbi_vale1is_xt",
2374 "tlbi_vale1os_xt",
2375 "tlbi_vaale1is_xt",
2376 "tlbi_vaale1os_xt",
2377 "tlbi_vmalle1",
2378 "tlbi_vae1_xt",
2379 "tlbi_aside1_xt",
2380 "tlbi_vaae1_xt",
2381 "tlbi_vale1_xt",
2382 "tlbi_vaale1_xt",
2383 "tlbi_ipas2e1is_xt",
2384 "tlbi_ipas2e1os_xt",
2385 "tlbi_ipas2le1is_xt",
2386 "tlbi_ipas2le1os_xt",
2387 "tlbi_alle2is",
2388 "tlbi_alle2os",
2389 "tlbi_vae2is_xt",
2390 "tlbi_vae2os_xt",
2391 "tlbi_alle1is",
2392 "tlbi_alle1os",
2393 "tlbi_vale2is_xt",
2394 "tlbi_vale2os_xt",
2395 "tlbi_vmalls12e1is",
2396 "tlbi_vmalls12e1os",
2397 "tlbi_ipas2e1_xt",
2398 "tlbi_ipas2le1_xt",
2399 "tlbi_alle2",
2400 "tlbi_vae2_xt",
2401 "tlbi_alle1",
2402 "tlbi_vale2_xt",
2403 "tlbi_vmalls12e1",
2404 "tlbi_alle3is",
2405 "tlbi_alle3os",
2406 "tlbi_vae3is_xt",
2407 "tlbi_vae3os_xt",
2408 "tlbi_vale3is_xt",
2409 "tlbi_vale3os_xt",
2410 "tlbi_alle3",
2411 "tlbi_vae3_xt",
2412 "tlbi_vale3_xt",
2413 "pmintenset_el1",
2414 "pmintenclr_el1",
2415 "pmcr_el0",
2416 "pmcntenset_el0",
2417 "pmcntenclr_el0",
2418 "pmovsclr_el0",
2419 "pmswinc_el0",
2420 "pmselr_el0",
2421 "pmceid0_el0",
2422 "pmceid1_el0",
2423 "pmccntr_el0",
2424 "pmxevtyper_el0",
2425 "pmccfiltr_el0",
2426 "pmxevcntr_el0",
2427 "pmuserenr_el0",
2428 "pmovsset_el0",
2429 "mair_el1",
2430 "mair_el12",
2431 "amair_el1",
2432 "amair_el12",
2433 "mair_el2",
2434 "amair_el2",
2435 "mair_el3",
2436 "amair_el3",
2437 "l2ctlr_el1",
2438 "l2ectlr_el1",
2439 "vbar_el1",
2440 "vbar_el12",
2441 "rvbar_el1",
2442 "isr_el1",
2443 "vbar_el2",
2444 "rvbar_el2",
2445 "vbar_el3",
2446 "rvbar_el3",
2447 "rmr_el3",
2448 "contextidr_el1",
2449 "contextidr_el12",
2450 "tpidr_el1",
2451 "tpidr_el0",
2452 "tpidrro_el0",
2453 "tpidr_el2",
2454 "tpidr_el3",
2455 "cntfrq_el0",
2456 "cntpct_el0",
2457 "cntvct_el0",
2458 "cntp_ctl_el0",
2459 "cntp_cval_el0",
2460 "cntp_tval_el0",
2461 "cntv_ctl_el0",
2462 "cntv_cval_el0",
2463 "cntv_tval_el0",
2464 "cntp_ctl_el02",
2465 "cntp_cval_el02",
2466 "cntp_tval_el02",
2467 "cntv_ctl_el02",
2468 "cntv_cval_el02",
2469 "cntv_tval_el02",
2470 "cntkctl_el1",
2471 "cntkctl_el12",
2472 "cntps_ctl_el1",
2473 "cntps_cval_el1",
2474 "cntps_tval_el1",
2475 "cnthctl_el2",
2476 "cnthp_ctl_el2",
2477 "cnthp_cval_el2",
2478 "cnthp_tval_el2",
2479 "cnthps_ctl_el2",
2480 "cnthps_cval_el2",
2481 "cnthps_tval_el2",
2482 "cnthv_ctl_el2",
2483 "cnthv_cval_el2",
2484 "cnthv_tval_el2",
2485 "cnthvs_ctl_el2",
2486 "cnthvs_cval_el2",
2487 "cnthvs_tval_el2",
2488 "cntvoff_el2",
2489 "pmevcntr0_el0",
2490 "pmevcntr1_el0",
2491 "pmevcntr2_el0",
2492 "pmevcntr3_el0",
2493 "pmevcntr4_el0",
2494 "pmevcntr5_el0",
2495 "pmevtyper0_el0",
2496 "pmevtyper1_el0",
2497 "pmevtyper2_el0",
2498 "pmevtyper3_el0",
2499 "pmevtyper4_el0",
2500 "pmevtyper5_el0",
2501 "il1data0_el1",
2502 "il1data1_el1",
2503 "il1data2_el1",
2504 "il1data3_el1",
2505 "dl1data0_el1",
2506 "dl1data1_el1",
2507 "dl1data2_el1",
2508 "dl1data3_el1",
2509 "dl1data4_el1",
2510 "l2actlr_el1",
2511 "cpuactlr_el1",
2512 "cpuectlr_el1",
2513 "cpumerrsr_el1",
2514 "l2merrsr_el1",
2515 "cbar_el1",
2516 "contextidr_el2",
2517
2518 "ttbr1_el2",
2519 "id_aa64mmfr2_el1",
2520
2521 "apdakeyhi_el1",
2522 "apdakeylo_el1",
2523 "apdbkeyhi_el1",
2524 "apdbkeylo_el1",
2525 "apgakeyhi_el1",
2526 "apgakeylo_el1",
2527 "apiakeyhi_el1",
2528 "apiakeylo_el1",
2529 "apibkeyhi_el1",
2530 "apibkeylo_el1",
2531 // GICv3, CPU interface
2532 "icc_pmr_el1",
2533 "icc_iar0_el1",
2534 "icc_eoir0_el1",
2535 "icc_hppir0_el1",
2536 "icc_bpr0_el1",
2537 "icc_ap0r0_el1",
2538 "icc_ap0r1_el1",
2539 "icc_ap0r2_el1",
2540 "icc_ap0r3_el1",
2541 "icc_ap1r0_el1",
2542 "icc_ap1r0_el1_ns",
2543 "icc_ap1r0_el1_s",
2544 "icc_ap1r1_el1",
2545 "icc_ap1r1_el1_ns",
2546 "icc_ap1r1_el1_s",
2547 "icc_ap1r2_el1",
2548 "icc_ap1r2_el1_ns",
2549 "icc_ap1r2_el1_s",
2550 "icc_ap1r3_el1",
2551 "icc_ap1r3_el1_ns",
2552 "icc_ap1r3_el1_s",
2553 "icc_dir_el1",
2554 "icc_rpr_el1",
2555 "icc_sgi1r_el1",
2556 "icc_asgi1r_el1",
2557 "icc_sgi0r_el1",
2558 "icc_iar1_el1",
2559 "icc_eoir1_el1",
2560 "icc_hppir1_el1",
2561 "icc_bpr1_el1",
2562 "icc_bpr1_el1_ns",
2563 "icc_bpr1_el1_s",
2564 "icc_ctlr_el1",
2565 "icc_ctlr_el1_ns",
2566 "icc_ctlr_el1_s",
2567 "icc_sre_el1",
2568 "icc_sre_el1_ns",
2569 "icc_sre_el1_s",
2570 "icc_igrpen0_el1",
2571 "icc_igrpen1_el1",
2572 "icc_igrpen1_el1_ns",
2573 "icc_igrpen1_el1_s",
2574 "icc_sre_el2",
2575 "icc_ctlr_el3",
2576 "icc_sre_el3",
2577 "icc_igrpen1_el3",
2578
2579 // GICv3, CPU interface, virtualization
2580 "ich_ap0r0_el2",
2581 "ich_ap0r1_el2",
2582 "ich_ap0r2_el2",
2583 "ich_ap0r3_el2",
2584 "ich_ap1r0_el2",
2585 "ich_ap1r1_el2",
2586 "ich_ap1r2_el2",
2587 "ich_ap1r3_el2",
2588 "ich_hcr_el2",
2589 "ich_vtr_el2",
2590 "ich_misr_el2",
2591 "ich_eisr_el2",
2592 "ich_elrsr_el2",
2593 "ich_vmcr_el2",
2594 "ich_lr0_el2",
2595 "ich_lr1_el2",
2596 "ich_lr2_el2",
2597 "ich_lr3_el2",
2598 "ich_lr4_el2",
2599 "ich_lr5_el2",
2600 "ich_lr6_el2",
2601 "ich_lr7_el2",
2602 "ich_lr8_el2",
2603 "ich_lr9_el2",
2604 "ich_lr10_el2",
2605 "ich_lr11_el2",
2606 "ich_lr12_el2",
2607 "ich_lr13_el2",
2608 "ich_lr14_el2",
2609 "ich_lr15_el2",
2610
2611 "icv_pmr_el1",
2612 "icv_iar0_el1",
2613 "icv_eoir0_el1",
2614 "icv_hppir0_el1",
2615 "icv_bpr0_el1",
2616 "icv_ap0r0_el1",
2617 "icv_ap0r1_el1",
2618 "icv_ap0r2_el1",
2619 "icv_ap0r3_el1",
2620 "icv_ap1r0_el1",
2621 "icv_ap1r0_el1_ns",
2622 "icv_ap1r0_el1_s",
2623 "icv_ap1r1_el1",
2624 "icv_ap1r1_el1_ns",
2625 "icv_ap1r1_el1_s",
2626 "icv_ap1r2_el1",
2627 "icv_ap1r2_el1_ns",
2628 "icv_ap1r2_el1_s",
2629 "icv_ap1r3_el1",
2630 "icv_ap1r3_el1_ns",
2631 "icv_ap1r3_el1_s",
2632 "icv_dir_el1",
2633 "icv_rpr_el1",
2634 "icv_sgi1r_el1",
2635 "icv_asgi1r_el1",
2636 "icv_sgi0r_el1",
2637 "icv_iar1_el1",
2638 "icv_eoir1_el1",
2639 "icv_hppir1_el1",
2640 "icv_bpr1_el1",
2641 "icv_bpr1_el1_ns",
2642 "icv_bpr1_el1_s",
2643 "icv_ctlr_el1",
2644 "icv_ctlr_el1_ns",
2645 "icv_ctlr_el1_s",
2646 "icv_sre_el1",
2647 "icv_sre_el1_ns",
2648 "icv_sre_el1_s",
2649 "icv_igrpen0_el1",
2650 "icv_igrpen1_el1",
2651 "icv_igrpen1_el1_ns",
2652 "icv_igrpen1_el1_s",
2653
2654 "icc_ap0r0",
2655 "icc_ap0r1",
2656 "icc_ap0r2",
2657 "icc_ap0r3",
2658 "icc_ap1r0",
2659 "icc_ap1r0_ns",
2660 "icc_ap1r0_s",
2661 "icc_ap1r1",
2662 "icc_ap1r1_ns",
2663 "icc_ap1r1_s",
2664 "icc_ap1r2",
2665 "icc_ap1r2_ns",
2666 "icc_ap1r2_s",
2667 "icc_ap1r3",
2668 "icc_ap1r3_ns",
2669 "icc_ap1r3_s",
2670 "icc_asgi1r",
2671 "icc_bpr0",
2672 "icc_bpr1",
2673 "icc_bpr1_ns",
2674 "icc_bpr1_s",
2675 "icc_ctlr",
2676 "icc_ctlr_ns",
2677 "icc_ctlr_s",
2678 "icc_dir",
2679 "icc_eoir0",
2680 "icc_eoir1",
2681 "icc_hppir0",
2682 "icc_hppir1",
2683 "icc_hsre",
2684 "icc_iar0",
2685 "icc_iar1",
2686 "icc_igrpen0",
2687 "icc_igrpen1",
2688 "icc_igrpen1_ns",
2689 "icc_igrpen1_s",
2690 "icc_mctlr",
2691 "icc_mgrpen1",
2692 "icc_msre",
2693 "icc_pmr",
2694 "icc_rpr",
2695 "icc_sgi0r",
2696 "icc_sgi1r",
2697 "icc_sre",
2698 "icc_sre_ns",
2699 "icc_sre_s",
2700
2701 "ich_ap0r0",
2702 "ich_ap0r1",
2703 "ich_ap0r2",
2704 "ich_ap0r3",
2705 "ich_ap1r0",
2706 "ich_ap1r1",
2707 "ich_ap1r2",
2708 "ich_ap1r3",
2709 "ich_hcr",
2710 "ich_vtr",
2711 "ich_misr",
2712 "ich_eisr",
2713 "ich_elrsr",
2714 "ich_vmcr",
2715 "ich_lr0",
2716 "ich_lr1",
2717 "ich_lr2",
2718 "ich_lr3",
2719 "ich_lr4",
2720 "ich_lr5",
2721 "ich_lr6",
2722 "ich_lr7",
2723 "ich_lr8",
2724 "ich_lr9",
2725 "ich_lr10",
2726 "ich_lr11",
2727 "ich_lr12",
2728 "ich_lr13",
2729 "ich_lr14",
2730 "ich_lr15",
2731 "ich_lrc0",
2732 "ich_lrc1",
2733 "ich_lrc2",
2734 "ich_lrc3",
2735 "ich_lrc4",
2736 "ich_lrc5",
2737 "ich_lrc6",
2738 "ich_lrc7",
2739 "ich_lrc8",
2740 "ich_lrc9",
2741 "ich_lrc10",
2742 "ich_lrc11",
2743 "ich_lrc12",
2744 "ich_lrc13",
2745 "ich_lrc14",
2746 "ich_lrc15",
2747
2748 "id_aa64zfr0_el1",
2749 "zcr_el3",
2750 "zcr_el2",
2751 "zcr_el12",
2752 "zcr_el1",
2753
2754 "id_aa64smfr0_el1",
2755 "svcr",
2756 "smidr_el1",
2757 "smpri_el1",
2758 "smprimap_el2",
2759 "smcr_el3",
2760 "smcr_el2",
2761 "smcr_el12",
2762 "smcr_el1",
2763 "tpidr2_el0",
2764 "mpamsm_el1",
2765
2766 "rndr",
2767 "rndrrs",
2768
2769 "num_phys_regs",
2770
2771 // Dummy registers
2772 "nop",
2773 "raz",
2774 "unknown",
2775 "impl_defined",
2776 "erridr_el1",
2777 "errselr_el1",
2778 "erxfr_el1",
2779 "erxctlr_el1",
2780 "erxstatus_el1",
2781 "erxaddr_el1",
2782 "erxmisc0_el1",
2783 "erxmisc1_el1",
2784 "disr_el1",
2785 "vsesr_el2",
2786 "vdisr_el2",
2787 "hfgrtr_el2",
2788 "hfgwtr_el2",
2789
2790 // PSTATE
2791 "pan",
2792 "uao",
2793 };
2794
2795 static_assert(sizeof(miscRegName) / sizeof(*miscRegName) == NUM_MISCREGS,
2796 "The miscRegName array and NUM_MISCREGS are inconsistent.");
2797
2799 {
2800 public:
2801 std::string
2802 regName(const RegId &id) const override
2803 {
2804 return miscRegName[id.index()];
2805 }
2806 };
2807
2809
2810 inline constexpr RegClass miscRegClass =
2812 debug::MiscRegs).
2813 ops(miscRegClassOps);
2814
2815 // This mask selects bits of the CPSR that actually go in the CondCodes
2816 // integer register to allow renaming.
2817 static const uint32_t CondCodesMask = 0xF00F0000;
2818 static const uint32_t CpsrMaskQ = 0x08000000;
2819
2820 // APSR (Application Program Status Register Mask). It is the user level
2821 // alias for the CPSR. The APSR is a subset of the CPSR. Although
2822 // bits[15:0] are UNKNOWN on reads, it is permitted that, on a read of
2823 // APSR:
2824 // Bit[9] returns the value of CPSR.E.
2825 // Bits[8:6] return the value of CPSR.{A,I, F}, the mask bits.
2826 static const uint32_t ApsrMask = CpsrMaskQ | CondCodesMask | 0x000001D0;
2827
2828 // CPSR (Current Program Status Register Mask).
2829 static const uint32_t CpsrMask = ApsrMask | 0x00F003DF;
2830
2831 // This mask selects bits of the FPSCR that actually go in the FpCondCodes
2832 // integer register to allow renaming.
2833 static const uint32_t FpCondCodesMask = 0xF0000000;
2834 // This mask selects the cumulative saturation flag of the FPSCR.
2835 static const uint32_t FpscrQcMask = 0x08000000;
2836 // This mask selects the AHP bit of the FPSCR.
2837 static const uint32_t FpscrAhpMask = 0x04000000;
2838 // This mask selects the cumulative FP exception flags of the FPSCR.
2839 static const uint32_t FpscrExcMask = 0x0000009F;
2840
2855 std::tuple<bool, bool> canReadCoprocReg(MiscRegIndex reg, SCR scr,
2856 CPSR cpsr, ThreadContext *tc);
2857
2872 std::tuple<bool, bool> canWriteCoprocReg(MiscRegIndex reg, SCR scr,
2873 CPSR cpsr, ThreadContext *tc);
2874
2875 // Checks for UNDEFINED behaviours when accessing AArch32
2876 // Generic Timer system registers
2878
2879 // Checks access permissions to AArch64 system registers
2881 ThreadContext *tc, const MiscRegOp64 &inst);
2882
2883 // Uses just the scr.ns bit to pre flatten the misc regs. This is useful
2884 // for MCR/MRC instructions
2885 int
2887
2888 // Flattens a misc reg index using the specified security state. This is
2889 // used for opperations (eg address translations) where the security
2890 // state of the register access may differ from the current state of the
2891 // processor
2892 int
2894
2895 int
2897
2898 // Takes a misc reg index and returns the root reg if its one of a set of
2899 // banked registers
2900 void
2902
2903 int
2904 unflattenMiscReg(int reg);
2905
2906} // namespace ArmISA
2907} // namespace gem5
2908
2909namespace std
2910{
2911template<>
2912struct hash<gem5::ArmISA::MiscRegNum32>
2913{
2914 size_t
2916 {
2917 return reg.packed();
2918 }
2919};
2920
2921template<>
2922struct hash<gem5::ArmISA::MiscRegNum64>
2923{
2924 size_t
2926 {
2927 return reg.packed();
2928 }
2929};
2930} // namespace std
2931
2932#endif // __ARCH_ARM_REGS_MISC_HH__
std::string regName(const RegId &id) const override
Print the name of the register specified in id.
Definition misc.hh:2802
Metadata table accessible via the value of the register.
Definition misc.hh:1240
chain userNonSecureWrite(bool v=true) const
Definition misc.hh:1341
const MiscRegLUTEntryInitializer & chain
Definition misc.hh:1242
chain userSecureWrite(bool v=true) const
Definition misc.hh:1353
chain warnNotFail(bool v=true) const
Definition misc.hh:1305
chain mapsTo(uint32_t l, uint32_t u=0) const
Definition misc.hh:1245
chain fault(ExceptionLevel el, MiscRegLUTEntry::FaultCB cb) const
Definition misc.hh:1608
chain userSecureRead(bool v=true) const
Definition misc.hh:1347
chain implemented(bool v=true) const
Definition misc.hh:1282
MiscRegLUTEntryInitializer(struct MiscRegLUTEntry &e)
Definition misc.hh:1619
chain highest(ArmSystem *const sys) const
Definition misc.cc:2244
chain secure(bool v=true) const
Definition misc.hh:1551
chain mutex(bool v=true) const
Definition misc.hh:1311
chain hypNonSecureWrite(bool v=true) const
Definition misc.hh:1445
chain priv(bool v=true) const
Definition misc.hh:1406
chain raz(uint64_t mask=(uint64_t) -1) const
Definition misc.hh:1270
chain hypSecureRead(bool v=true) const
Definition misc.hh:1420
chain monSecure(bool v=true) const
Definition misc.hh:1505
chain privSecure(bool v=true) const
Definition misc.hh:1399
chain privSecureRead(bool v=true) const
Definition misc.hh:1387
chain privNonSecure(bool v=true) const
Definition misc.hh:1380
chain hypSecureWrite(bool v=true) const
Definition misc.hh:1439
chain userNonSecureRead(bool v=true) const
Definition misc.hh:1335
chain nonSecure(bool v=true) const
Definition misc.hh:1538
chain privNonSecureRead(bool v=true) const
Definition misc.hh:1368
chain monNonSecureWrite(bool v=true) const
Definition misc.hh:1490
chain reset(uint64_t res_val) const
Definition misc.hh:1252
chain monNonSecureRead(bool v=true) const
Definition misc.hh:1484
chain user(bool v=true) const
Definition misc.hh:1359
chain unverifiable(bool v=true) const
Definition misc.hh:1293
chain hypSecure(bool v=true) const
Definition misc.hh:1458
chain banked(bool v=true) const
Definition misc.hh:1317
chain privRead(bool v=true) const
Definition misc.hh:1413
chain hypRead(bool v=true) const
Definition misc.hh:1432
struct MiscRegLUTEntry & entry
Definition misc.hh:1241
chain banked64(bool v=true) const
Definition misc.hh:1323
chain fault(MiscRegLUTEntry::FaultCB cb) const
Definition misc.hh:1614
chain res0(uint64_t mask) const
Definition misc.hh:1258
chain bankedChild(bool v=true) const
Definition misc.hh:1329
chain hypWrite(bool v=true) const
Definition misc.hh:1451
chain allPrivileges(bool v=true) const
Definition misc.hh:1519
chain monSecureRead(bool v=true) const
Definition misc.hh:1472
chain privSecureWrite(bool v=true) const
Definition misc.hh:1393
chain res1(uint64_t mask) const
Definition misc.hh:1264
chain faultRead(ExceptionLevel el, MiscRegLUTEntry::FaultCB cb) const
Definition misc.hh:1594
chain hypNonSecureRead(bool v=true) const
Definition misc.hh:1426
chain monNonSecure(bool v=true) const
Definition misc.hh:1512
chain monSecureWrite(bool v=true) const
Definition misc.hh:1478
chain rao(uint64_t mask=(uint64_t) -1) const
Definition misc.hh:1276
chain mon(bool v=true) const
Definition misc.hh:1496
chain privNonSecureWrite(bool v=true) const
Definition misc.hh:1374
chain unserialize(bool v=true) const
Definition misc.hh:1299
chain faultWrite(ExceptionLevel el, MiscRegLUTEntry::FaultCB cb) const
Definition misc.hh:1601
chain hyp(bool v=true) const
Definition misc.hh:1465
This class is implementing the Base class for a generic AArch64 instruction which is making use of sy...
Definition misc64.hh:157
Register ID: describe an architectural register with its class and index.
Definition reg_class.hh:93
ThreadContext is the external interface to all thread state for anything outside of the CPU.
STL vector class.
Definition stl.hh:37
Bitfield< 28 > v
Definition misc_types.hh:54
MiscRegNum64 encodeAArch64SysReg(MiscRegIndex misc_reg)
Definition misc.cc:2188
bool AArch32isUndefinedGenericTimer(MiscRegIndex reg, ThreadContext *tc)
Definition misc.cc:659
static const uint32_t FpscrQcMask
Definition misc.hh:2835
static MiscRegClassOps miscRegClassOps
Definition misc.hh:2808
Bitfield< 3, 0 > mask
Definition pcstate.hh:63
bool aarch64SysRegReadOnly(MiscRegIndex miscReg)
static const uint32_t CpsrMask
Definition misc.hh:2829
static const uint32_t FpscrExcMask
Definition misc.hh:2839
MiscRegIndex decodeAArch64SysReg(unsigned op0, unsigned op1, unsigned crn, unsigned crm, unsigned op2)
Definition misc.cc:2162
MiscRegIndex decodeCP15Reg(unsigned crn, unsigned opc1, unsigned crm, unsigned opc2)
Definition misc.cc:534
Fault checkFaultAccessAArch64SysReg(MiscRegIndex reg, CPSR cpsr, ThreadContext *tc, const MiscRegOp64 &inst)
Definition misc.cc:729
static const uint32_t ApsrMask
Definition misc.hh:2826
Bitfield< 7, 5 > opc2
Definition types.hh:106
static const uint32_t CpsrMaskQ
Definition misc.hh:2818
static const uint32_t FpCondCodesMask
Definition misc.hh:2833
Bitfield< 9 > e
Definition misc_types.hh:65
Bitfield< 0 > ns
void preUnflattenMiscReg()
Definition misc.cc:707
Bitfield< 22 > u
static const uint32_t FpscrAhpMask
Definition misc.hh:2837
@ MISCREG_PMXEVTYPER_EL0
Definition misc.hh:743
@ MISCREG_ERXSTATUS_EL1
Definition misc.hh:1121
@ MISCREG_AMAIR_EL3
Definition misc.hh:755
@ MISCREG_DBGWVR1_EL1
Definition misc.hh:496
@ MISCREG_DBGDRAR
Definition misc.hh:175
@ MISCREG_NSACR
Definition misc.hh:250
@ MISCREG_DL1DATA1
Definition misc.hh:445
@ MISCREG_ID_AA64PFR0_EL1
Definition misc.hh:566
@ MISCREG_DBGWCR5
Definition misc.hh:164
@ MISCREG_ICH_VMCR
Definition misc.hh:1041
@ MISCREG_CSSELR_NS
Definition misc.hh:236
@ MISCREG_HSTR_EL2
Definition misc.hh:595
@ MISCREG_DBGWVR13_EL1
Definition misc.hh:508
@ MISCREG_PMUSERENR
Definition misc.hh:368
@ MISCREG_DBGBCR15
Definition misc.hh:142
@ MISCREG_DBGOSLSR
Definition misc.hh:193
@ MISCREG_DBGDTRRXext
Definition misc.hh:107
@ MISCREG_ID_MMFR2_EL1
Definition misc.hh:553
@ MISCREG_TTBR1_EL12
Definition misc.hh:606
@ MISCREG_DCCISW
Definition misc.hh:323
@ MISCREG_ERRIDR_EL1
Definition misc.hh:1117
@ MISCREG_DACR_S
Definition misc.hh:272
@ MISCREG_CNTV_CTL_EL0
Definition misc.hh:781
@ MISCREG_ICH_LR7
Definition misc.hh:1049
@ MISCREG_DBGWCR8
Definition misc.hh:167
@ MISCREG_HCR
Definition misc.hh:253
@ MISCREG_ICC_BPR1_EL1_NS
Definition misc.hh:889
@ MISCREG_NMRR_NS
Definition misc.hh:381
@ MISCREG_CPSR_MODE
Definition misc.hh:83
@ MISCREG_PRRR_MAIR0
Definition misc.hh:89
@ MISCREG_TLBI_ALLE3
Definition misc.hh:729
@ MISCREG_ICC_IGRPEN1_EL1_NS
Definition misc.hh:899
@ MISCREG_TLBI_ALLE1IS
Definition misc.hh:710
@ MISCREG_ICV_BPR0_EL1
Definition misc.hh:942
@ MISCREG_ICH_AP0R2_EL2
Definition misc.hh:909
@ MISCREG_VSTCR_EL2
Definition misc.hh:614
@ MISCREG_DBGWVR14
Definition misc.hh:157
@ MISCREG_TLBI_VMALLE1OS
Definition misc.hh:685
@ MISCREG_HDFAR
Definition misc.hh:294
@ MISCREG_MPIDR_EL1
Definition misc.hh:545
@ MISCREG_ICC_IGRPEN1
Definition misc.hh:1014
@ MISCREG_DFSR_S
Definition misc.hh:275
@ MISCREG_IL1DATA1
Definition misc.hh:441
@ MISCREG_DBGWVR10_EL1
Definition misc.hh:505
@ MISCREG_DL1DATA0
Definition misc.hh:444
@ MISCREG_CPUECTLR_EL1
Definition misc.hh:835
@ MISCREG_ATS1HR
Definition misc.hh:324
@ MISCREG_ERXCTLR_EL1
Definition misc.hh:1120
@ MISCREG_SCTLR_EL2
Definition misc.hh:589
@ MISCREG_PMSELR_EL0
Definition misc.hh:739
@ MISCREG_TLBI_ALLE2OS
Definition misc.hh:707
@ MISCREG_ID_DFR0_EL1
Definition misc.hh:549
@ MISCREG_CNTV_CVAL_EL02
Definition misc.hh:788
@ MISCREG_TLBI_IPAS2E1IS_Xt
Definition misc.hh:702
@ MISCREG_CP15ISB
Definition misc.hh:304
@ MISCREG_CNTP_CTL_EL0
Definition misc.hh:778
@ MISCREG_DFAR_NS
Definition misc.hh:289
@ MISCREG_DBGBXVR8
Definition misc.hh:184
@ MISCREG_TLBIMVALIS
Definition misc.hh:330
@ MISCREG_PMOVSSET
Definition misc.hh:371
@ MISCREG_FPEXC
Definition misc.hh:80
@ MISCREG_DBGWCR1
Definition misc.hh:160
@ MISCREG_NMRR_MAIR1_S
Definition misc.hh:94
@ MISCREG_ICH_LR7_EL2
Definition misc.hh:928
@ MISCREG_CNTP_CTL_EL02
Definition misc.hh:784
@ MISCREG_ICC_IAR1_EL1
Definition misc.hh:885
@ MISCREG_SPSEL
Definition misc.hh:623
@ MISCREG_TCR_EL2
Definition misc.hh:610
@ MISCREG_AT_S1E1W_Xt
Definition misc.hh:666
@ MISCREG_ID_ISAR0_EL1
Definition misc.hh:556
@ MISCREG_DBGWCR5_EL1
Definition misc.hh:516
@ MISCREG_RNDRRS
Definition misc.hh:1097
@ MISCREG_DBGWVR2
Definition misc.hh:145
@ MISCREG_ICH_LR6_EL2
Definition misc.hh:927
@ MISCREG_TLBI_IPAS2LE1OS_Xt
Definition misc.hh:705
@ MISCREG_ICH_AP1R1
Definition misc.hh:1033
@ MISCREG_DBGDSCRint
Definition misc.hh:101
@ MISCREG_MVFR1
Definition misc.hh:78
@ MISCREG_IL1DATA0_EL1
Definition misc.hh:824
@ MISCREG_MIDR_EL1
Definition misc.hh:544
@ MISCREG_SDER
Definition misc.hh:249
@ MISCREG_DBGWCR12_EL1
Definition misc.hh:523
@ MISCREG_OSDLR_EL1
Definition misc.hh:535
@ MISCREG_ICV_RPR_EL1
Definition misc.hh:960
@ MISCREG_ICV_IGRPEN1_EL1_S
Definition misc.hh:979
@ MISCREG_DL1DATA3
Definition misc.hh:447
@ MISCREG_HTPIDR
Definition misc.hh:416
@ MISCREG_TLBI_VAE3OS_Xt
Definition misc.hh:726
@ MISCREG_DBGBXVR15
Definition misc.hh:191
@ MISCREG_TLBIMVAALIS
Definition misc.hh:331
@ MISCREG_ICV_AP1R2_EL1
Definition misc.hh:953
@ MISCREG_ICV_AP0R3_EL1
Definition misc.hh:946
@ MISCREG_ICC_MGRPEN1
Definition misc.hh:1018
@ MISCREG_ZCR_EL2
Definition misc.hh:1078
@ MISCREG_ICC_IGRPEN1_EL3
Definition misc.hh:904
@ MISCREG_SPSR_HYP
Definition misc.hh:73
@ MISCREG_ID_AA64ZFR0_EL1
Definition misc.hh:1076
@ MISCREG_DBGDEVID0
Definition misc.hh:202
@ MISCREG_CNTFRQ
Definition misc.hh:418
@ MISCREG_DBGDSAR
Definition misc.hh:196
@ MISCREG_AFSR1_EL12
Definition misc.hh:644
@ MISCREG_CPUMERRSR
Definition misc.hh:454
@ MISCREG_CPSR_Q
Definition misc.hh:84
@ MISCREG_DBGBVR5_EL1
Definition misc.hh:468
@ MISCREG_MAIR_EL1
Definition misc.hh:748
@ MISCREG_ICV_AP1R1_EL1_NS
Definition misc.hh:951
@ MISCREG_TLBI_IPAS2E1_Xt
Definition misc.hh:716
@ MISCREG_DBGBCR2_EL1
Definition misc.hh:481
@ MISCREG_ID_ISAR2_EL1
Definition misc.hh:558
@ MISCREG_TLBIMVAAL
Definition misc.hh:343
@ MISCREG_DBGBVR1_EL1
Definition misc.hh:464
@ MISCREG_PAR_NS
Definition misc.hh:300
@ MISCREG_ICC_IGRPEN1_EL1_S
Definition misc.hh:900
@ MISCREG_HAMAIR1
Definition misc.hh:395
@ MISCREG_PMXEVCNTR_EL0
Definition misc.hh:745
@ MISCREG_ICC_IGRPEN1_NS
Definition misc.hh:1015
@ MISCREG_ICC_PMR_EL1
Definition misc.hh:859
@ MISCREG_CONTEXTIDR_EL1
Definition misc.hh:767
@ MISCREG_CNTV_TVAL
Definition misc.hh:432
@ MISCREG_VBAR_EL3
Definition misc.hh:764
@ MISCREG_ICV_CTLR_EL1
Definition misc.hh:970
@ MISCREG_AIFSR_NS
Definition misc.hh:283
@ MISCREG_DBGWCR10
Definition misc.hh:169
@ MISCREG_DBGBXVR9
Definition misc.hh:185
@ MISCREG_ICC_CTLR_NS
Definition misc.hh:1003
@ MISCREG_CNTPS_TVAL_EL1
Definition misc.hh:794
@ MISCREG_ICC_AP1R3
Definition misc.hh:994
@ MISCREG_ICC_MCTLR
Definition misc.hh:1017
@ MISCREG_HCPTR
Definition misc.hh:256
@ MISCREG_ICV_AP1R2_EL1_S
Definition misc.hh:955
@ MISCREG_SPSR_EL2
Definition misc.hh:631
@ MISCREG_ICH_LR8
Definition misc.hh:1050
@ MISCREG_ICV_AP0R0_EL1
Definition misc.hh:943
@ MISCREG_ICC_AP1R0_EL1
Definition misc.hh:868
@ MISCREG_ICC_BPR0_EL1
Definition misc.hh:863
@ MISCREG_DBGWFAR
Definition misc.hh:105
@ MISCREG_IFAR
Definition misc.hh:291
@ MISCREG_TLBI_ALLE1
Definition misc.hh:720
@ MISCREG_FCSEIDR
Definition misc.hh:403
@ MISCREG_DBGWVR7
Definition misc.hh:150
@ MISCREG_ID_MMFR1
Definition misc.hh:221
@ MISCREG_AT_S1E2W_Xt
Definition misc.hh:677
@ MISCREG_PMEVTYPER1_EL0
Definition misc.hh:819
@ MISCREG_LOCKFLAG
Definition misc.hh:88
@ MISCREG_ICH_LR15_EL2
Definition misc.hh:936
@ MISCREG_FPSID
Definition misc.hh:76
@ MISCREG_DBGBXVR12
Definition misc.hh:188
@ MISCREG_ICH_MISR
Definition misc.hh:1038
@ MISCREG_DBGWCR6_EL1
Definition misc.hh:517
@ MISCREG_ID_AFR0_EL1
Definition misc.hh:550
@ MISCREG_DBGBVR2
Definition misc.hh:113
@ MISCREG_MAIR_EL12
Definition misc.hh:749
@ MISCREG_ICV_IGRPEN1_EL1_NS
Definition misc.hh:978
@ MISCREG_DBGBVR7_EL1
Definition misc.hh:470
@ MISCREG_ICH_LRC0
Definition misc.hh:1058
@ MISCREG_SMIDR_EL1
Definition misc.hh:1085
@ MISCREG_TLBI_VMALLS12E1OS
Definition misc.hh:715
@ MISCREG_SCTLR
Definition misc.hh:240
@ MISCREG_PAR_EL1
Definition misc.hh:661
@ MISCREG_TTBCR
Definition misc.hh:265
@ MISCREG_DBGWVR3_EL1
Definition misc.hh:498
@ MISCREG_ICH_LR5
Definition misc.hh:1047
@ MISCREG_AT_S12E1W_Xt
Definition misc.hh:679
@ MISCREG_TLBIIPAS2
Definition misc.hh:350
@ MISCREG_ICV_EOIR1_EL1
Definition misc.hh:965
@ MISCREG_ATS12NSOUW
Definition misc.hh:316
@ MISCREG_MAIR_EL2
Definition misc.hh:752
@ MISCREG_ICV_IGRPEN0_EL1
Definition misc.hh:976
@ MISCREG_CNTV_CVAL
Definition misc.hh:431
@ MISCREG_APDBKeyLo_EL1
Definition misc.hh:850
@ MISCREG_MDRAR_EL1
Definition misc.hh:532
@ MISCREG_CSSELR
Definition misc.hh:235
@ MISCREG_CPACR
Definition misc.hh:246
@ MISCREG_TLBI_VAE2_Xt
Definition misc.hh:719
@ MISCREG_HAMAIR0
Definition misc.hh:394
@ MISCREG_TLBIIPAS2L
Definition misc.hh:351
@ MISCREG_ICC_BPR1_S
Definition misc.hh:1001
@ MISCREG_DBGBVR8
Definition misc.hh:119
@ MISCREG_ADFSR_S
Definition misc.hh:281
@ MISCREG_ICH_LRC11
Definition misc.hh:1069
@ MISCREG_SCR_EL3
Definition misc.hh:599
@ MISCREG_TTBR0_S
Definition misc.hh:261
@ MISCREG_TLBIALLHIS
Definition misc.hh:346
@ MISCREG_TLBI_ASIDE1IS_Xt
Definition misc.hh:688
@ MISCREG_IL1DATA1_EL1
Definition misc.hh:825
@ MISCREG_CNTKCTL_EL12
Definition misc.hh:791
@ MISCREG_APDAKeyHi_EL1
Definition misc.hh:847
@ MISCREG_TLBIIPAS2LIS
Definition misc.hh:345
@ MISCREG_TLBIASIDIS
Definition misc.hh:328
@ MISCREG_ID_AA64DFR0_EL1
Definition misc.hh:568
@ MISCREG_ID_ISAR6
Definition misc.hh:231
@ MISCREG_DBGCLAIMCLR
Definition misc.hh:198
@ MISCREG_TPIDRRO_EL0
Definition misc.hh:771
@ MISCREG_DBGBVR3
Definition misc.hh:114
@ MISCREG_DBGWVR5_EL1
Definition misc.hh:500
@ MISCREG_DBGOSLAR
Definition misc.hh:192
@ MISCREG_PMEVTYPER3_EL0
Definition misc.hh:821
@ MISCREG_ICC_SRE_EL1_NS
Definition misc.hh:895
@ MISCREG_DBGBCR10
Definition misc.hh:137
@ MISCREG_SPSR_SVC
Definition misc.hh:70
@ MISCREG_REVIDR_EL1
Definition misc.hh:546
@ MISCREG_DBGDSCRext
Definition misc.hh:108
@ MISCREG_TLBI_VAE2IS_Xt
Definition misc.hh:708
@ MISCREG_TCR_EL3
Definition misc.hh:616
@ MISCREG_SMCR_EL1
Definition misc.hh:1091
@ MISCREG_FPSR
Definition misc.hh:628
@ MISCREG_DBGDIDR
Definition misc.hh:100
@ MISCREG_DBGBVR9_EL1
Definition misc.hh:472
@ MISCREG_ICH_HCR_EL2
Definition misc.hh:915
@ MISCREG_CPACR_EL12
Definition misc.hh:588
@ MISCREG_HDCR
Definition misc.hh:255
@ MISCREG_AIFSR_S
Definition misc.hh:284
@ MISCREG_ESR_EL1
Definition misc.hh:645
@ MISCREG_DISR_EL1
Definition misc.hh:1125
@ MISCREG_ADFSR
Definition misc.hh:279
@ MISCREG_ICC_AP1R3_EL1_NS
Definition misc.hh:878
@ MISCREG_PMCCNTR_EL0
Definition misc.hh:742
@ MISCREG_CNTP_TVAL
Definition misc.hh:427
@ MISCREG_MDCCSR_EL0
Definition misc.hh:527
@ MISCREG_ICV_AP1R3_EL1_S
Definition misc.hh:958
@ MISCREG_DTLBIMVA
Definition misc.hh:336
@ MISCREG_SPSR_UND_AA64
Definition misc.hh:636
@ MISCREG_DBGWVR13
Definition misc.hh:156
@ MISCREG_AT_S12E0W_Xt
Definition misc.hh:681
@ MISCREG_DBGBXVR4
Definition misc.hh:180
@ MISCREG_TCR_EL1
Definition misc.hh:607
@ MISCREG_PMINTENSET
Definition misc.hh:369
@ MISCREG_TTBCR_NS
Definition misc.hh:266
@ MISCREG_PMXEVTYPER
Definition misc.hh:365
@ MISCREG_DBGBCR13_EL1
Definition misc.hh:492
@ MISCREG_TPIDR_EL3
Definition misc.hh:773
@ MISCREG_DBGBVR11
Definition misc.hh:122
@ MISCREG_HFGRTR_EL2
Definition misc.hh:1130
@ MISCREG_ICC_AP0R3
Definition misc.hh:984
@ MISCREG_VMPIDR
Definition misc.hh:239
@ MISCREG_TLBI_VAAE1_Xt
Definition misc.hh:699
@ MISCREG_TPIDRURW_S
Definition misc.hh:409
@ MISCREG_CCSIDR_EL1
Definition misc.hh:576
@ MISCREG_DBGBXVR5
Definition misc.hh:181
@ MISCREG_CNTVCT
Definition misc.hh:420
@ MISCREG_ESR_EL12
Definition misc.hh:646
@ MISCREG_TLBI_VAALE1OS_Xt
Definition misc.hh:695
@ MISCREG_TLBIMVALH
Definition misc.hh:355
@ MISCREG_DL1DATA1_EL1
Definition misc.hh:829
@ MISCREG_ICC_AP1R0_EL1_S
Definition misc.hh:870
@ MISCREG_DBGWCR8_EL1
Definition misc.hh:519
@ MISCREG_ICC_IGRPEN1_S
Definition misc.hh:1016
@ MISCREG_AFSR0_EL1
Definition misc.hh:641
@ MISCREG_ICC_AP1R0_S
Definition misc.hh:987
@ MISCREG_SPSR_UND
Definition misc.hh:74
@ MISCREG_TCMTR
Definition misc.hh:212
@ MISCREG_DBGWCR13_EL1
Definition misc.hh:524
@ MISCREG_DBGOSDLR
Definition misc.hh:194
@ MISCREG_DBGBXVR3
Definition misc.hh:179
@ MISCREG_DBGWCR11_EL1
Definition misc.hh:522
@ MISCREG_DBGWVR11_EL1
Definition misc.hh:506
@ MISCREG_TLBI_ALLE2IS
Definition misc.hh:706
@ MISCREG_TLBI_ALLE1OS
Definition misc.hh:711
@ MISCREG_SPSR_IRQ
Definition misc.hh:69
@ MISCREG_ID_ISAR5
Definition misc.hh:230
@ MISCREG_BPIALL
Definition misc.hh:305
@ MISCREG_DBGBVR10_EL1
Definition misc.hh:473
@ MISCREG_ID_ISAR3_EL1
Definition misc.hh:559
@ MISCREG_PMEVTYPER4_EL0
Definition misc.hh:822
@ MISCREG_ATS1CUR
Definition misc.hh:311
@ MISCREG_ICH_ELRSR_EL2
Definition misc.hh:919
@ MISCREG_DC_CVAC_Xt
Definition misc.hh:673
@ MISCREG_VPIDR_EL2
Definition misc.hh:582
@ MISCREG_DBGWCR2
Definition misc.hh:161
@ MISCREG_OSLAR_EL1
Definition misc.hh:533
@ MISCREG_CNTPCT_EL0
Definition misc.hh:776
@ MISCREG_DBGWCR4_EL1
Definition misc.hh:515
@ MISCREG_ERXADDR_EL1
Definition misc.hh:1122
@ MISCREG_AMAIR0_NS
Definition misc.hh:387
@ MISCREG_DBGBCR14_EL1
Definition misc.hh:493
@ MISCREG_ICH_AP1R3
Definition misc.hh:1035
@ MISCREG_SPSR_ABT
Definition misc.hh:72
@ MISCREG_DBGWVR0_EL1
Definition misc.hh:495
@ MISCREG_AFSR1_EL2
Definition misc.hh:649
@ MISCREG_CNTV_CTL_EL02
Definition misc.hh:787
@ MISCREG_CP15DMB
Definition misc.hh:320
@ MISCREG_DBGBCR0_EL1
Definition misc.hh:479
@ MISCREG_DBGWVR15
Definition misc.hh:158
@ MISCREG_TLBIMVA
Definition misc.hh:339
@ MISCREG_PMEVCNTR4_EL0
Definition misc.hh:816
@ MISCREG_CONTEXTIDR_NS
Definition misc.hh:405
@ MISCREG_ICH_AP1R3_EL2
Definition misc.hh:914
@ MISCREG_DBGBCR6_EL1
Definition misc.hh:485
@ MISCREG_ID_ISAR4
Definition misc.hh:229
@ MISCREG_DBGBCR3_EL1
Definition misc.hh:482
@ MISCREG_ICC_AP1R1_EL1_S
Definition misc.hh:873
@ MISCREG_SCTLR_EL1
Definition misc.hh:584
@ MISCREG_CNTP_TVAL_EL02
Definition misc.hh:786
@ MISCREG_ICH_AP0R3
Definition misc.hh:1031
@ MISCREG_DBGWVR4_EL1
Definition misc.hh:499
@ MISCREG_TPIDRPRW_NS
Definition misc.hh:414
@ MISCREG_AIDR_EL1
Definition misc.hh:578
@ MISCREG_DC_CIVAC_Xt
Definition misc.hh:675
@ MISCREG_DBGDEVID1
Definition misc.hh:201
@ MISCREG_PRRR
Definition misc.hh:374
@ MISCREG_ICC_IGRPEN0
Definition misc.hh:1013
@ MISCREG_ICH_LRC7
Definition misc.hh:1065
@ MISCREG_TEECR
Definition misc.hh:203
@ MISCREG_DC_CVAU_Xt
Definition misc.hh:674
@ MISCREG_DBGBXVR7
Definition misc.hh:183
@ MISCREG_AMAIR1_S
Definition misc.hh:391
@ MISCREG_DBGWVR7_EL1
Definition misc.hh:502
@ MISCREG_DBGBVR9
Definition misc.hh:120
@ MISCREG_PMEVTYPER0_EL0
Definition misc.hh:818
@ MISCREG_ICH_LRC8
Definition misc.hh:1066
@ MISCREG_CPTR_EL2
Definition misc.hh:594
@ MISCREG_ICH_LR9_EL2
Definition misc.hh:930
@ MISCREG_DBGBCR8_EL1
Definition misc.hh:487
@ MISCREG_CCSIDR
Definition misc.hh:232
@ MISCREG_ICV_SRE_EL1_NS
Definition misc.hh:974
@ MISCREG_FAR_EL1
Definition misc.hh:655
@ MISCREG_ERXMISC0_EL1
Definition misc.hh:1123
@ MISCREG_TPIDR_EL1
Definition misc.hh:769
@ MISCREG_PMUSERENR_EL0
Definition misc.hh:746
@ MISCREG_TLBI_VAAE1IS_Xt
Definition misc.hh:690
@ MISCREG_APIAKeyLo_EL1
Definition misc.hh:854
@ MISCREG_DBGWCR0
Definition misc.hh:159
@ MISCREG_AT_S1E2R_Xt
Definition misc.hh:676
@ MISCREG_PMCR
Definition misc.hh:356
@ MISCREG_CNTHV_CTL_EL2
Definition misc.hh:803
@ MISCREG_ICC_DIR
Definition misc.hh:1005
@ MISCREG_CNTP_TVAL_NS
Definition misc.hh:428
@ MISCREG_CNTV_CTL
Definition misc.hh:430
@ MISCREG_AFSR1_EL3
Definition misc.hh:653
@ MISCREG_ADFSR_NS
Definition misc.hh:280
@ MISCREG_APIBKeyLo_EL1
Definition misc.hh:856
@ MISCREG_DFAR
Definition misc.hh:288
@ MISCREG_ICV_CTLR_EL1_NS
Definition misc.hh:971
@ MISCREG_ID_AA64DFR1_EL1
Definition misc.hh:569
@ MISCREG_DC_CSW_Xt
Definition misc.hh:669
@ MISCREG_JMCR
Definition misc.hh:207
@ MISCREG_RMR_EL3
Definition misc.hh:766
@ MISCREG_ID_AA64ISAR1_EL1
Definition misc.hh:573
@ MISCREG_TLBIMVAL
Definition misc.hh:342
@ MISCREG_SMCR_EL3
Definition misc.hh:1088
@ MISCREG_ELR_EL12
Definition misc.hh:621
@ MISCREG_DL1DATA2_EL1
Definition misc.hh:830
@ MISCREG_DBGBVR0
Definition misc.hh:111
@ MISCREG_ICC_HSRE
Definition misc.hh:1010
@ MISCREG_ICH_LR1
Definition misc.hh:1043
@ MISCREG_PMEVCNTR0_EL0
Definition misc.hh:812
@ MISCREG_TEECR32_EL1
Definition misc.hh:540
@ MISCREG_AFSR0_EL3
Definition misc.hh:652
@ MISCREG_CSSELR_EL1
Definition misc.hh:579
@ MISCREG_VBAR_EL12
Definition misc.hh:759
@ MISCREG_MAIR_EL3
Definition misc.hh:754
@ MISCREG_ITLBIALL
Definition misc.hh:332
@ MISCREG_L2MERRSR
Definition misc.hh:455
@ MISCREG_ID_AA64MMFR1_EL1
Definition misc.hh:575
@ MISCREG_DBGPRCR_EL1
Definition misc.hh:536
@ MISCREG_NMRR_MAIR1
Definition misc.hh:92
@ MISCREG_ICH_LR4_EL2
Definition misc.hh:925
@ MISCREG_UNKNOWN
Definition misc.hh:1109
@ MISCREG_PMOVSR
Definition misc.hh:359
@ MISCREG_ICH_ELRSR
Definition misc.hh:1040
@ MISCREG_TLBIALLNSNH
Definition misc.hh:354
@ MISCREG_TTBR0_EL12
Definition misc.hh:604
@ MISCREG_CNTHP_TVAL
Definition misc.hh:437
@ MISCREG_ATS12NSOUR
Definition misc.hh:315
@ MISCREG_ELR_HYP
Definition misc.hh:75
@ MISCREG_DBGWCR10_EL1
Definition misc.hh:521
@ MISCREG_CNTVCT_EL0
Definition misc.hh:777
@ MISCREG_DBGBVR14
Definition misc.hh:125
@ MISCREG_TLBI_VMALLE1
Definition misc.hh:696
@ MISCREG_DBGBVR8_EL1
Definition misc.hh:471
@ MISCREG_ICH_LR11_EL2
Definition misc.hh:932
@ MISCREG_CBAR_EL1
Definition misc.hh:838
@ MISCREG_ICC_AP1R1_EL1
Definition misc.hh:871
@ MISCREG_ICV_AP1R1_EL1_S
Definition misc.hh:952
@ MISCREG_DL1DATA3_EL1
Definition misc.hh:831
@ MISCREG_RVBAR_EL2
Definition misc.hh:763
@ MISCREG_DBGDEVID2
Definition misc.hh:200
@ MISCREG_SP_EL0
Definition misc.hh:622
@ MISCREG_PMCNTENCLR
Definition misc.hh:358
@ MISCREG_ERRSELR_EL1
Definition misc.hh:1118
@ MISCREG_TLBI_VMALLS12E1
Definition misc.hh:722
@ MISCREG_DFAR_S
Definition misc.hh:290
@ MISCREG_DBGBVR0_EL1
Definition misc.hh:463
@ MISCREG_ICC_AP1R2_NS
Definition misc.hh:992
@ MISCREG_DBGBCR4_EL1
Definition misc.hh:483
@ MISCREG_CPSR
Definition misc.hh:66
@ MISCREG_FPCR
Definition misc.hh:627
@ MISCREG_SDCR
Definition misc.hh:247
@ MISCREG_DBGWCR4
Definition misc.hh:163
@ MISCREG_ICH_LR14_EL2
Definition misc.hh:935
@ MISCREG_ICV_SRE_EL1_S
Definition misc.hh:975
@ MISCREG_RMR
Definition misc.hh:400
@ MISCREG_CPACR_EL1
Definition misc.hh:587
@ MISCREG_HACR
Definition misc.hh:258
@ MISCREG_ICC_RPR_EL1
Definition misc.hh:881
@ MISCREG_DBGBXVR13
Definition misc.hh:189
@ MISCREG_IFSR_NS
Definition misc.hh:277
@ MISCREG_SMPRI_EL1
Definition misc.hh:1086
@ MISCREG_ID_MMFR0
Definition misc.hh:220
@ MISCREG_PMEVTYPER5_EL0
Definition misc.hh:823
@ MISCREG_CNTP_CVAL
Definition misc.hh:424
@ MISCREG_ID_ISAR0
Definition misc.hh:225
@ MISCREG_DBGBVR2_EL1
Definition misc.hh:465
@ MISCREG_ICC_AP1R3_EL1_S
Definition misc.hh:879
@ MISCREG_DL1DATA4
Definition misc.hh:448
@ MISCREG_CNTKCTL_EL1
Definition misc.hh:790
@ MISCREG_HMAIR0
Definition misc.hh:392
@ MISCREG_DBGWVR11
Definition misc.hh:154
@ MISCREG_ICC_AP0R3_EL1
Definition misc.hh:867
@ MISCREG_ICC_BPR1_NS
Definition misc.hh:1000
@ MISCREG_CNTPCT
Definition misc.hh:419
@ MISCREG_ICH_LR10_EL2
Definition misc.hh:931
@ MISCREG_SP_EL2
Definition misc.hh:640
@ MISCREG_ICC_AP0R1
Definition misc.hh:982
@ MISCREG_PMCCFILTR_EL0
Definition misc.hh:744
@ MISCREG_ICH_LR10
Definition misc.hh:1052
@ MISCREG_CNTPS_CTL_EL1
Definition misc.hh:792
@ MISCREG_TLBI_VALE2_Xt
Definition misc.hh:721
@ MISCREG_TLBI_VMALLS12E1IS
Definition misc.hh:714
@ MISCREG_NMRR
Definition misc.hh:380
@ MISCREG_ICC_SRE_EL1
Definition misc.hh:894
@ MISCREG_DBGBVR12_EL1
Definition misc.hh:475
@ MISCREG_PMSWINC_EL0
Definition misc.hh:738
@ MISCREG_SCTLR_EL12
Definition misc.hh:585
@ MISCREG_DBGBVR10
Definition misc.hh:121
@ MISCREG_TTBR1_EL1
Definition misc.hh:605
@ MISCREG_PMEVTYPER2_EL0
Definition misc.hh:820
@ MISCREG_MAIR1
Definition misc.hh:383
@ MISCREG_TLBI_VAE3IS_Xt
Definition misc.hh:725
@ MISCREG_DAIF
Definition misc.hh:626
@ MISCREG_SPSR_ABT_AA64
Definition misc.hh:635
@ MISCREG_SEV_MAILBOX
Definition misc.hh:96
@ MISCREG_SPSR_EL12
Definition misc.hh:619
@ MISCREG_ICV_AP1R0_EL1_NS
Definition misc.hh:948
@ MISCREG_CNTP_CVAL_EL02
Definition misc.hh:785
@ MISCREG_ACTLR_NS
Definition misc.hh:244
@ MISCREG_PMINTENSET_EL1
Definition misc.hh:732
@ MISCREG_ICC_AP1R1_S
Definition misc.hh:990
@ MISCREG_PMINTENCLR_EL1
Definition misc.hh:733
@ MISCREG_CNTHPS_CVAL_EL2
Definition misc.hh:800
@ MISCREG_REVIDR
Definition misc.hh:215
@ MISCREG_DBGBCR9
Definition misc.hh:136
@ MISCREG_DL1DATA0_EL1
Definition misc.hh:828
@ MISCREG_TLBI_VAE1IS_Xt
Definition misc.hh:686
@ MISCREG_PMCCFILTR
Definition misc.hh:366
@ MISCREG_ICV_AP0R2_EL1
Definition misc.hh:945
@ MISCREG_ACTLR_EL3
Definition misc.hh:598
@ MISCREG_ID_PFR1_EL1
Definition misc.hh:548
@ MISCREG_DBGBCR11_EL1
Definition misc.hh:490
@ MISCREG_DBGBCR1_EL1
Definition misc.hh:480
@ MISCREG_TLBIIPAS2IS
Definition misc.hh:344
@ MISCREG_DBGBVR11_EL1
Definition misc.hh:474
@ MISCREG_ICV_BPR1_EL1_S
Definition misc.hh:969
@ MISCREG_DBGBCR14
Definition misc.hh:141
@ MISCREG_DBGBCR11
Definition misc.hh:138
@ MISCREG_APDBKeyHi_EL1
Definition misc.hh:849
@ MISCREG_TEEHBR32_EL1
Definition misc.hh:541
@ MISCREG_DBGBVR13
Definition misc.hh:124
@ MISCREG_TLBI_VAAE1OS_Xt
Definition misc.hh:691
@ MISCREG_ID_MMFR3
Definition misc.hh:223
@ MISCREG_CSSELR_S
Definition misc.hh:237
@ MISCREG_DBGBCR12
Definition misc.hh:139
@ MISCREG_ICH_LRC15
Definition misc.hh:1073
@ MISCREG_ICC_SRE_EL2
Definition misc.hh:901
@ MISCREG_ICH_HCR
Definition misc.hh:1036
@ MISCREG_MPAMSM_EL1
Definition misc.hh:1093
@ MISCREG_ICC_IAR0
Definition misc.hh:1011
@ MISCREG_ICV_IAR0_EL1
Definition misc.hh:939
@ MISCREG_ICC_ASGI1R_EL1
Definition misc.hh:883
@ MISCREG_DBGVCR32_EL2
Definition misc.hh:531
@ MISCREG_DBGWVR9_EL1
Definition misc.hh:504
@ MISCREG_L2ECTLR
Definition misc.hh:373
@ MISCREG_ID_PFR0_EL1
Definition misc.hh:547
@ MISCREG_ICC_CTLR
Definition misc.hh:1002
@ MISCREG_ICV_SGI0R_EL1
Definition misc.hh:963
@ MISCREG_ICH_LR2_EL2
Definition misc.hh:923
@ MISCREG_DL1DATA4_EL1
Definition misc.hh:832
@ MISCREG_TLBIMVAAIS
Definition misc.hh:329
@ MISCREG_SMPRIMAP_EL2
Definition misc.hh:1087
@ MISCREG_ICC_EOIR0
Definition misc.hh:1006
@ MISCREG_CNTP_CVAL_NS
Definition misc.hh:425
@ MISCREG_OSECCR_EL1
Definition misc.hh:462
@ MISCREG_RVBAR_EL1
Definition misc.hh:760
@ MISCREG_ISR
Definition misc.hh:401
@ MISCREG_DBGWCR7_EL1
Definition misc.hh:518
@ MISCREG_HAIFSR
Definition misc.hh:286
@ MISCREG_ID_ISAR5_EL1
Definition misc.hh:561
@ MISCREG_CONTEXTIDR
Definition misc.hh:404
@ MISCREG_PMCEID1
Definition misc.hh:363
@ MISCREG_TLBI_ALLE3IS
Definition misc.hh:723
@ MISCREG_DBGBVR15_EL1
Definition misc.hh:478
@ MISCREG_ID_ISAR4_EL1
Definition misc.hh:560
@ MISCREG_CNTHPS_TVAL_EL2
Definition misc.hh:801
@ MISCREG_SCR
Definition misc.hh:248
@ MISCREG_DC_IVAC_Xt
Definition misc.hh:663
@ MISCREG_ICC_AP1R0
Definition misc.hh:985
@ MISCREG_TPIDR2_EL0
Definition misc.hh:1092
@ MISCREG_ICC_HPPIR0_EL1
Definition misc.hh:862
@ MISCREG_TLBI_IPAS2LE1IS_Xt
Definition misc.hh:704
@ MISCREG_PMCNTENSET
Definition misc.hh:357
@ MISCREG_ICV_CTLR_EL1_S
Definition misc.hh:972
@ MISCREG_DBGBVR7
Definition misc.hh:118
@ MISCREG_ICC_SGI1R_EL1
Definition misc.hh:882
@ MISCREG_DBGWVR9
Definition misc.hh:152
@ MISCREG_ELR_EL2
Definition misc.hh:632
@ MISCREG_MAIR0_S
Definition misc.hh:379
@ MISCREG_ICH_LR5_EL2
Definition misc.hh:926
@ MISCREG_CONTEXTIDR_EL2
Definition misc.hh:839
@ MISCREG_CNTP_TVAL_S
Definition misc.hh:429
@ MISCREG_TCR_EL12
Definition misc.hh:608
@ MISCREG_ICV_PMR_EL1
Definition misc.hh:938
@ MISCREG_CNTHCTL_EL2
Definition misc.hh:795
@ MISCREG_DBGBXVR6
Definition misc.hh:182
@ MISCREG_DBGBXVR0
Definition misc.hh:176
@ MISCREG_TEEHBR
Definition misc.hh:205
@ MISCREG_ERXMISC1_EL1
Definition misc.hh:1124
@ MISCREG_MDSCR_EL1
Definition misc.hh:460
@ MISCREG_AMAIR1_NS
Definition misc.hh:390
@ MISCREG_DL1DATA2
Definition misc.hh:446
@ MISCREG_DBGWCR2_EL1
Definition misc.hh:513
@ MISCREG_ID_MMFR4_EL1
Definition misc.hh:555
@ MISCREG_PAR_S
Definition misc.hh:301
@ MISCREG_DBGBCR12_EL1
Definition misc.hh:491
@ MISCREG_ID_DFR0
Definition misc.hh:218
@ MISCREG_CNTP_CTL_S
Definition misc.hh:423
@ MISCREG_ICC_AP1R1_EL1_NS
Definition misc.hh:872
@ MISCREG_TTBR1_EL2
Definition misc.hh:842
@ MISCREG_ICC_SGI1R
Definition misc.hh:1023
@ MISCREG_DBGDTRTXint
Definition misc.hh:103
@ MISCREG_ID_AA64MMFR0_EL1
Definition misc.hh:574
@ MISCREG_HPFAR
Definition misc.hh:296
@ MISCREG_ICC_PMR
Definition misc.hh:1020
@ MISCREG_ICH_LRC5
Definition misc.hh:1063
@ MISCREG_TPIDRPRW_S
Definition misc.hh:415
@ MISCREG_ICH_LR6
Definition misc.hh:1048
@ MISCREG_TLBIMVAHIS
Definition misc.hh:347
@ MISCREG_IC_IALLU
Definition misc.hh:662
@ MISCREG_ICC_AP1R2
Definition misc.hh:991
@ MISCREG_DBGWCR9
Definition misc.hh:168
@ MISCREG_APIAKeyHi_EL1
Definition misc.hh:853
@ MISCREG_SPSR_EL3
Definition misc.hh:638
@ MISCREG_APDAKeyLo_EL1
Definition misc.hh:848
@ MISCREG_AT_S1E1R_Xt
Definition misc.hh:665
@ MISCREG_TLBI_VALE3OS_Xt
Definition misc.hh:728
@ MISCREG_ICH_AP1R2_EL2
Definition misc.hh:913
@ MISCREG_DTLBIALL
Definition misc.hh:335
@ MISCREG_TLBIALLIS
Definition misc.hh:326
@ MISCREG_AMAIR_EL1
Definition misc.hh:750
@ MISCREG_ICC_CTLR_EL1_NS
Definition misc.hh:892
@ MISCREG_ICC_CTLR_S
Definition misc.hh:1004
@ MISCREG_ESR_EL3
Definition misc.hh:654
@ MISCREG_IL1DATA0
Definition misc.hh:440
@ MISCREG_ATS1HW
Definition misc.hh:325
@ MISCREG_ICH_VTR
Definition misc.hh:1037
@ MISCREG_VBAR_S
Definition misc.hh:398
@ MISCREG_ICH_AP0R1_EL2
Definition misc.hh:908
@ MISCREG_AT_S1E3R_Xt
Definition misc.hh:682
@ MISCREG_ICC_SRE
Definition misc.hh:1024
@ MISCREG_DC_ZVA_Xt
Definition misc.hh:671
@ MISCREG_CNTHVS_TVAL_EL2
Definition misc.hh:808
@ MISCREG_ATS1CPR
Definition misc.hh:309
@ MISCREG_TLBIASID
Definition misc.hh:340
@ MISCREG_ICV_AP1R0_EL1_S
Definition misc.hh:949
@ MISCREG_ICH_LRC12
Definition misc.hh:1070
@ MISCREG_DBGBXVR10
Definition misc.hh:186
@ MISCREG_APGAKeyLo_EL1
Definition misc.hh:852
@ MISCREG_ITLBIMVA
Definition misc.hh:333
@ MISCREG_NZCV
Definition misc.hh:625
@ MISCREG_ICV_AP1R1_EL1
Definition misc.hh:950
@ MISCREG_HTTBR
Definition misc.hh:452
@ MISCREG_IFSR32_EL2
Definition misc.hh:647
@ MISCREG_ICH_LRC9
Definition misc.hh:1067
@ MISCREG_ICV_BPR1_EL1_NS
Definition misc.hh:968
@ MISCREG_SPSR_EL1
Definition misc.hh:618
@ MISCREG_APIBKeyHi_EL1
Definition misc.hh:855
@ MISCREG_FAR_EL12
Definition misc.hh:656
@ MISCREG_MAIR0_NS
Definition misc.hh:378
@ MISCREG_CP15DSB
Definition misc.hh:319
@ MISCREG_TLBI_VALE2OS_Xt
Definition misc.hh:713
@ MISCREG_ICH_LR13_EL2
Definition misc.hh:934
@ MISCREG_ICC_CTLR_EL3
Definition misc.hh:902
@ MISCREG_DBGDCCINT
Definition misc.hh:102
@ MISCREG_ICC_CTLR_EL1
Definition misc.hh:891
@ MISCREG_TLBIALLNSNHIS
Definition misc.hh:348
@ MISCREG_CNTP_CVAL_EL0
Definition misc.hh:779
@ MISCREG_HCR_EL2
Definition misc.hh:591
@ MISCREG_ICV_IAR1_EL1
Definition misc.hh:964
@ MISCREG_CNTHVS_CVAL_EL2
Definition misc.hh:807
@ MISCREG_SMCR_EL2
Definition misc.hh:1089
@ MISCREG_L2ACTLR_EL1
Definition misc.hh:833
@ MISCREG_ICV_HPPIR0_EL1
Definition misc.hh:941
@ MISCREG_DCIMVAC
Definition misc.hh:307
@ MISCREG_ATS1CPW
Definition misc.hh:310
@ MISCREG_TTBR1
Definition misc.hh:262
@ MISCREG_AT_S12E0R_Xt
Definition misc.hh:680
@ MISCREG_ICH_AP1R0
Definition misc.hh:1032
@ MISCREG_MPIDR
Definition misc.hh:214
@ MISCREG_ICC_AP0R2
Definition misc.hh:983
@ MISCREG_TLBI_ASIDE1OS_Xt
Definition misc.hh:689
@ MISCREG_DBGCLAIMSET
Definition misc.hh:197
@ MISCREG_TLBIMVALHIS
Definition misc.hh:349
@ MISCREG_ICV_DIR_EL1
Definition misc.hh:959
@ MISCREG_PRRR_NS
Definition misc.hh:375
@ MISCREG_ZCR_EL1
Definition misc.hh:1080
@ MISCREG_PMCEID0_EL0
Definition misc.hh:740
@ MISCREG_ID_AA64MMFR2_EL1
Definition misc.hh:844
@ MISCREG_ICC_DIR_EL1
Definition misc.hh:880
@ MISCREG_SDER32_EL3
Definition misc.hh:600
@ MISCREG_TPIDR_EL0
Definition misc.hh:770
@ MISCREG_DBGDTRTXext
Definition misc.hh:109
@ MISCREG_DBGOSECCR
Definition misc.hh:110
@ MISCREG_ICC_SRE_EL3
Definition misc.hh:903
@ MISCREG_VTCR_EL2
Definition misc.hh:612
@ MISCREG_ICV_BPR1_EL1
Definition misc.hh:967
@ MISCREG_DBGWCR3
Definition misc.hh:162
@ MISCREG_ELR_EL3
Definition misc.hh:639
@ MISCREG_ITLBIASID
Definition misc.hh:334
@ MISCREG_ICH_LR12
Definition misc.hh:1054
@ MISCREG_DBGWCR11
Definition misc.hh:170
@ MISCREG_DBGCLAIMSET_EL1
Definition misc.hh:537
@ MISCREG_ICH_LR3_EL2
Definition misc.hh:924
@ MISCREG_VTTBR
Definition misc.hh:453
@ MISCREG_MDDTRRX_EL0
Definition misc.hh:530
@ MISCREG_ICV_AP1R0_EL1
Definition misc.hh:947
@ MISCREG_CNTVOFF_EL2
Definition misc.hh:810
@ MISCREG_AIFSR
Definition misc.hh:282
@ MISCREG_DBGWCR6
Definition misc.hh:165
@ MISCREG_ICH_AP1R1_EL2
Definition misc.hh:912
@ MISCREG_TLBI_VAALE1_Xt
Definition misc.hh:701
@ MISCREG_VPIDR
Definition misc.hh:238
@ MISCREG_ICH_AP1R2
Definition misc.hh:1034
@ MISCREG_BPIALLIS
Definition misc.hh:298
@ MISCREG_ICC_AP1R0_EL1_NS
Definition misc.hh:869
@ MISCREG_ICV_AP1R2_EL1_NS
Definition misc.hh:954
@ MISCREG_DBGWCR15
Definition misc.hh:174
@ MISCREG_CNTHCTL
Definition misc.hh:434
@ MISCREG_ICC_EOIR0_EL1
Definition misc.hh:861
@ MISCREG_TTBR1_NS
Definition misc.hh:263
@ MISCREG_FAR_EL3
Definition misc.hh:659
@ MISCREG_ACTLR_EL1
Definition misc.hh:586
@ MISCREG_ICH_LR8_EL2
Definition misc.hh:929
@ MISCREG_CNTHPS_CTL_EL2
Definition misc.hh:799
@ MISCREG_DBGBVR3_EL1
Definition misc.hh:466
@ MISCREG_DBGVCR
Definition misc.hh:106
@ MISCREG_MDCCINT_EL1
Definition misc.hh:458
@ MISCREG_DBGBVR6_EL1
Definition misc.hh:469
@ MISCREG_DBGWCR9_EL1
Definition misc.hh:520
@ MISCREG_ICC_IAR1
Definition misc.hh:1012
@ MISCREG_IL1DATA3_EL1
Definition misc.hh:827
@ MISCREG_ICH_LR15
Definition misc.hh:1057
@ MISCREG_DC_CISW_Xt
Definition misc.hh:670
@ MISCREG_ICH_AP0R0
Definition misc.hh:1028
@ MISCREG_VBAR_EL2
Definition misc.hh:762
@ MISCREG_ICC_AP1R2_EL1_S
Definition misc.hh:876
@ MISCREG_DBGBCR7_EL1
Definition misc.hh:486
@ MISCREG_ICC_EOIR1_EL1
Definition misc.hh:886
@ MISCREG_ICIMVAU
Definition misc.hh:303
@ MISCREG_ICH_AP0R3_EL2
Definition misc.hh:910
@ MISCREG_DBGWCR14
Definition misc.hh:173
@ MISCREG_DBGBCR5_EL1
Definition misc.hh:484
@ MISCREG_L2ACTLR
Definition misc.hh:450
@ MISCREG_ACTLR_EL2
Definition misc.hh:590
@ MISCREG_CPUMERRSR_EL1
Definition misc.hh:836
@ MISCREG_IFAR_NS
Definition misc.hh:292
@ MISCREG_DBGWVR15_EL1
Definition misc.hh:510
@ MISCREG_CTR
Definition misc.hh:211
@ MISCREG_HPFAR_EL2
Definition misc.hh:658
@ MISCREG_TPIDRURW
Definition misc.hh:407
@ MISCREG_DBGBXVR11
Definition misc.hh:187
@ MISCREG_ICH_LRC6
Definition misc.hh:1064
@ MISCREG_ICH_LR1_EL2
Definition misc.hh:922
@ MISCREG_CLIDR
Definition misc.hh:233
@ MISCREG_SCTLR_S
Definition misc.hh:242
@ MISCREG_DBGDTRRXint
Definition misc.hh:104
@ MISCREG_ICH_AP0R1
Definition misc.hh:1029
@ MISCREG_MDCR_EL2
Definition misc.hh:593
@ MISCREG_VBAR
Definition misc.hh:396
@ MISCREG_IFSR
Definition misc.hh:276
@ MISCREG_PMSELR
Definition misc.hh:361
@ MISCREG_ICIALLUIS
Definition misc.hh:297
@ MISCREG_HACTLR
Definition misc.hh:252
@ MISCREG_ID_MMFR0_EL1
Definition misc.hh:551
@ MISCREG_AMAIR1
Definition misc.hh:389
@ MISCREG_CNTHV_TVAL_EL2
Definition misc.hh:805
@ MISCREG_VBAR_EL1
Definition misc.hh:758
@ MISCREG_MIDR
Definition misc.hh:210
@ MISCREG_ICH_EISR
Definition misc.hh:1039
@ MISCREG_PMEVCNTR2_EL0
Definition misc.hh:814
@ MISCREG_CNTPS_CVAL_EL1
Definition misc.hh:793
@ MISCREG_HTCR
Definition misc.hh:268
@ MISCREG_AMAIR_EL2
Definition misc.hh:753
@ MISCREG_ICC_BPR0
Definition misc.hh:998
@ MISCREG_TLBIMVAIS
Definition misc.hh:327
@ MISCREG_TTBR1_S
Definition misc.hh:264
@ MISCREG_ICH_LR2
Definition misc.hh:1044
@ MISCREG_HVBAR
Definition misc.hh:402
@ MISCREG_ICV_ASGI1R_EL1
Definition misc.hh:962
@ MISCREG_JIDR
Definition misc.hh:204
@ MISCREG_DC_ISW_Xt
Definition misc.hh:664
@ MISCREG_L2CTLR
Definition misc.hh:372
@ MISCREG_DBGPRCR
Definition misc.hh:195
@ MISCREG_DBGWVR10
Definition misc.hh:153
@ MISCREG_CNTP_CTL
Definition misc.hh:421
@ MISCREG_TTBR0_EL3
Definition misc.hh:615
@ MISCREG_ICC_AP0R0_EL1
Definition misc.hh:864
@ MISCREG_ICC_IGRPEN0_EL1
Definition misc.hh:897
@ MISCREG_DBGWCR0_EL1
Definition misc.hh:511
@ MISCREG_ICC_AP1R2_S
Definition misc.hh:993
@ MISCREG_DCZID_EL0
Definition misc.hh:581
@ MISCREG_ICH_LRC13
Definition misc.hh:1071
@ MISCREG_TLBIALLH
Definition misc.hh:352
@ MISCREG_ICC_AP1R2_EL1_NS
Definition misc.hh:875
@ MISCREG_TLBI_VAE2OS_Xt
Definition misc.hh:709
@ MISCREG_ICH_VMCR_EL2
Definition misc.hh:920
@ MISCREG_ATS12NSOPW
Definition misc.hh:314
@ MISCREG_TLBI_VAE3_Xt
Definition misc.hh:730
@ MISCREG_ICH_LRC14
Definition misc.hh:1072
@ MISCREG_DACR_NS
Definition misc.hh:271
@ MISCREG_TLBIMVAH
Definition misc.hh:353
@ MISCREG_ICC_EOIR1
Definition misc.hh:1007
@ MISCREG_DBGWVR12
Definition misc.hh:155
@ MISCREG_TLBI_VALE3IS_Xt
Definition misc.hh:727
@ MISCREG_ISR_EL1
Definition misc.hh:761
@ MISCREG_ICC_SGI0R_EL1
Definition misc.hh:884
@ MISCREG_HACR_EL2
Definition misc.hh:596
@ MISCREG_DBGBCR4
Definition misc.hh:131
@ MISCREG_OSDTRTX_EL1
Definition misc.hh:461
@ MISCREG_CNTVOFF
Definition misc.hh:438
@ MISCREG_ICH_LR12_EL2
Definition misc.hh:933
@ MISCREG_DBGCLAIMCLR_EL1
Definition misc.hh:538
@ MISCREG_ICH_LRC3
Definition misc.hh:1061
@ MISCREG_AT_S1E0W_Xt
Definition misc.hh:668
@ MISCREG_AMAIR0_S
Definition misc.hh:388
@ MISCREG_DCCSW
Definition misc.hh:318
@ MISCREG_AT_S12E1R_Xt
Definition misc.hh:678
@ MISCREG_DBGBXVR2
Definition misc.hh:178
@ MISCREG_TLBTR
Definition misc.hh:213
@ MISCREG_DBGWVR0
Definition misc.hh:143
@ MISCREG_ICV_AP1R3_EL1
Definition misc.hh:956
@ MISCREG_ID_AA64AFR1_EL1
Definition misc.hh:571
@ MISCREG_DBGWCR12
Definition misc.hh:171
@ MISCREG_AFSR0_EL12
Definition misc.hh:642
@ MISCREG_DCCMVAU
Definition misc.hh:321
@ MISCREG_IL1DATA2_EL1
Definition misc.hh:826
@ MISCREG_ICH_LR3
Definition misc.hh:1045
@ MISCREG_DBGBVR14_EL1
Definition misc.hh:477
@ MISCREG_DTLBIASID
Definition misc.hh:337
@ MISCREG_TLBINEEDSYNC
Definition misc.hh:97
@ MISCREG_ID_ISAR6_EL1
Definition misc.hh:562
@ MISCREG_ELR_EL1
Definition misc.hh:620
@ MISCREG_AMAIR_EL12
Definition misc.hh:751
@ NUM_PHYS_MISCREGS
Definition misc.hh:1104
@ MISCREG_PMXEVCNTR
Definition misc.hh:367
@ MISCREG_DBGBVR1
Definition misc.hh:112
@ MISCREG_CNTHP_CTL
Definition misc.hh:435
@ MISCREG_ICV_EOIR0_EL1
Definition misc.hh:940
@ MISCREG_DBGWCR15_EL1
Definition misc.hh:526
@ MISCREG_PMCEID0
Definition misc.hh:362
@ MISCREG_ICH_LR9
Definition misc.hh:1051
@ MISCREG_TPIDR_EL2
Definition misc.hh:772
@ MISCREG_DBGBXVR14
Definition misc.hh:190
@ MISCREG_ICC_SRE_NS
Definition misc.hh:1025
@ MISCREG_DFSR_NS
Definition misc.hh:274
@ MISCREG_ID_PFR1
Definition misc.hh:217
@ MISCREG_CNTHP_CVAL_EL2
Definition misc.hh:797
@ MISCREG_CNTV_TVAL_EL0
Definition misc.hh:783
@ MISCREG_HFGWTR_EL2
Definition misc.hh:1131
@ MISCREG_ZCR_EL3
Definition misc.hh:1077
@ MISCREG_DBGBCR2
Definition misc.hh:129
@ MISCREG_DBGWCR14_EL1
Definition misc.hh:525
@ MISCREG_SPSR_MON
Definition misc.hh:71
@ MISCREG_DCCIMVAC
Definition misc.hh:322
@ MISCREG_L2CTLR_EL1
Definition misc.hh:756
@ MISCREG_VTCR
Definition misc.hh:269
@ MISCREG_FPSCR
Definition misc.hh:77
@ MISCREG_TTBR0
Definition misc.hh:259
@ MISCREG_DBGWVR14_EL1
Definition misc.hh:509
@ MISCREG_DBGWVR1
Definition misc.hh:144
@ MISCREG_ICV_SRE_EL1
Definition misc.hh:973
@ MISCREG_DACR
Definition misc.hh:270
@ MISCREG_TTBR0_EL2
Definition misc.hh:609
@ MISCREG_HSCTLR
Definition misc.hh:251
@ MISCREG_SCTLR_NS
Definition misc.hh:241
@ MISCREG_DBGWVR2_EL1
Definition misc.hh:497
@ MISCREG_ICC_IGRPEN1_EL1
Definition misc.hh:898
@ MISCREG_ICC_AP0R0
Definition misc.hh:981
@ MISCREG_ACTLR_S
Definition misc.hh:245
@ MISCREG_BPIMVA
Definition misc.hh:306
@ MISCREG_PMINTENCLR
Definition misc.hh:370
@ MISCREG_PMCNTENCLR_EL0
Definition misc.hh:736
@ MISCREG_IL1DATA2
Definition misc.hh:442
@ MISCREG_TTBR0_EL1
Definition misc.hh:603
@ MISCREG_ICC_HPPIR0
Definition misc.hh:1008
@ MISCREG_JOSCR
Definition misc.hh:206
@ MISCREG_ICIALLU
Definition misc.hh:302
@ MISCREG_IL1DATA3
Definition misc.hh:443
@ MISCREG_CNTP_CTL_NS
Definition misc.hh:422
@ MISCREG_HCRX_EL2
Definition misc.hh:592
@ MISCREG_PMEVCNTR5_EL0
Definition misc.hh:817
@ MISCREG_TLBIALL
Definition misc.hh:338
@ MISCREG_ICC_AP0R2_EL1
Definition misc.hh:866
@ MISCREG_SCTLR_EL3
Definition misc.hh:597
@ MISCREG_CNTP_TVAL_EL0
Definition misc.hh:780
@ MISCREG_FPSCR_QC
Definition misc.hh:86
@ MISCREG_CURRENTEL
Definition misc.hh:624
@ MISCREG_DBGBVR13_EL1
Definition misc.hh:476
@ MISCREG_DBGWVR6
Definition misc.hh:149
@ MISCREG_VSESR_EL2
Definition misc.hh:1126
@ MISCREG_DBGAUTHSTATUS
Definition misc.hh:199
@ MISCREG_ICC_SGI0R
Definition misc.hh:1022
@ MISCREG_MVFR0_EL1
Definition misc.hh:563
@ MISCREG_ICH_AP0R0_EL2
Definition misc.hh:907
@ MISCREG_TLBI_VAALE1IS_Xt
Definition misc.hh:694
@ MISCREG_ID_ISAR1
Definition misc.hh:226
@ MISCREG_DBGBCR0
Definition misc.hh:127
@ MISCREG_ICH_MISR_EL2
Definition misc.hh:917
@ MISCREG_TTBCR_S
Definition misc.hh:267
@ MISCREG_TLBI_VAE1OS_Xt
Definition misc.hh:687
@ MISCREG_IFSR_S
Definition misc.hh:278
@ MISCREG_PMSWINC
Definition misc.hh:360
@ MISCREG_MVFR1_EL1
Definition misc.hh:564
@ MISCREG_ID_AA64AFR0_EL1
Definition misc.hh:570
@ MISCREG_ATS12NSOPR
Definition misc.hh:313
@ MISCREG_MVFR2_EL1
Definition misc.hh:565
@ MISCREG_SMCR_EL12
Definition misc.hh:1090
@ MISCREG_DBGBCR3
Definition misc.hh:130
@ MISCREG_OSLSR_EL1
Definition misc.hh:534
@ MISCREG_DBGBCR9_EL1
Definition misc.hh:488
@ MISCREG_PMCNTENSET_EL0
Definition misc.hh:735
@ MISCREG_ID_ISAR1_EL1
Definition misc.hh:557
@ MISCREG_AIDR
Definition misc.hh:234
@ MISCREG_DFSR
Definition misc.hh:273
@ MISCREG_DBGWVR12_EL1
Definition misc.hh:507
@ MISCREG_ICV_IGRPEN1_EL1
Definition misc.hh:977
@ MISCREG_ICC_AP1R1
Definition misc.hh:988
@ MISCREG_CPUACTLR_EL1
Definition misc.hh:834
@ MISCREG_DBGBCR15_EL1
Definition misc.hh:494
@ MISCREG_DLR_EL0
Definition misc.hh:630
@ MISCREG_TLBI_VALE2IS_Xt
Definition misc.hh:712
@ MISCREG_DBGBVR5
Definition misc.hh:116
@ MISCREG_MVFR0
Definition misc.hh:79
@ MISCREG_ICH_LR0
Definition misc.hh:1042
@ MISCREG_ICH_LRC2
Definition misc.hh:1060
@ MISCREG_DBGWVR5
Definition misc.hh:148
@ MISCREG_ID_MMFR1_EL1
Definition misc.hh:552
@ MISCREG_PRRR_MAIR0_S
Definition misc.hh:91
@ MISCREG_ICC_AP1R3_S
Definition misc.hh:996
@ MISCREG_MAIR1_S
Definition misc.hh:385
@ MISCREG_TLBI_VMALLE1IS
Definition misc.hh:684
@ MISCREG_DACR32_EL2
Definition misc.hh:617
@ MISCREG_ID_AA64ISAR0_EL1
Definition misc.hh:572
@ MISCREG_HIFAR
Definition misc.hh:295
@ MISCREG_DBGWVR8
Definition misc.hh:151
@ MISCREG_ICC_SRE_EL1_S
Definition misc.hh:896
@ MISCREG_ICH_EISR_EL2
Definition misc.hh:918
@ MISCREG_CNTHP_TVAL_EL2
Definition misc.hh:798
@ MISCREG_AT_S1E3W_Xt
Definition misc.hh:683
@ MISCREG_ICC_BPR1_EL1
Definition misc.hh:888
@ MISCREG_ICC_AP0R1_EL1
Definition misc.hh:865
@ MISCREG_TLBI_ALLE2
Definition misc.hh:718
@ MISCREG_DBGWCR1_EL1
Definition misc.hh:512
@ MISCREG_DCISW
Definition misc.hh:308
@ MISCREG_ID_MMFR2
Definition misc.hh:222
@ MISCREG_HMAIR1
Definition misc.hh:393
@ MISCREG_ICH_LR0_EL2
Definition misc.hh:921
@ MISCREG_APGAKeyHi_EL1
Definition misc.hh:851
@ MISCREG_VMPIDR_EL2
Definition misc.hh:583
@ MISCREG_IC_IVAU_Xt
Definition misc.hh:672
@ MISCREG_ICC_IAR0_EL1
Definition misc.hh:860
@ MISCREG_ICC_BPR1_EL1_S
Definition misc.hh:890
@ MISCREG_DBGBCR8
Definition misc.hh:135
@ MISCREG_AMAIR0
Definition misc.hh:386
@ MISCREG_ICV_HPPIR1_EL1
Definition misc.hh:966
@ MISCREG_VBAR_NS
Definition misc.hh:397
@ MISCREG_DBGWCR3_EL1
Definition misc.hh:514
@ MISCREG_TLBI_VALE1OS_Xt
Definition misc.hh:693
@ MISCREG_PMOVSCLR_EL0
Definition misc.hh:737
@ MISCREG_ICC_MSRE
Definition misc.hh:1019
@ MISCREG_DBGBCR5
Definition misc.hh:132
@ MISCREG_PMCCNTR
Definition misc.hh:364
@ MISCREG_ICC_AP1R0_NS
Definition misc.hh:986
@ MISCREG_HSR
Definition misc.hh:287
@ MISCREG_ICC_AP1R2_EL1
Definition misc.hh:874
@ MISCREG_TPIDRURO
Definition misc.hh:410
@ MISCREG_ICH_LRC1
Definition misc.hh:1059
@ MISCREG_HCR2
Definition misc.hh:254
@ MISCREG_TLBI_VALE1IS_Xt
Definition misc.hh:692
@ MISCREG_DSPSR_EL0
Definition misc.hh:629
@ MISCREG_ICC_HPPIR1_EL1
Definition misc.hh:887
@ MISCREG_L2MERRSR_EL1
Definition misc.hh:837
@ MISCREG_ICV_AP0R1_EL1
Definition misc.hh:944
@ MISCREG_ICC_AP1R3_EL1
Definition misc.hh:877
@ MISCREG_CNTHP_CVAL
Definition misc.hh:436
@ MISCREG_TTBR0_NS
Definition misc.hh:260
@ MISCREG_ICC_RPR
Definition misc.hh:1021
@ MISCREG_FAR_EL2
Definition misc.hh:657
@ MISCREG_CNTHVS_CTL_EL2
Definition misc.hh:806
@ MISCREG_DBGBCR7
Definition misc.hh:134
@ MISCREG_DBGWVR3
Definition misc.hh:146
@ MISCREG_ID_AA64SMFR0_EL1
Definition misc.hh:1083
@ MISCREG_ICC_ASGI1R
Definition misc.hh:997
@ MISCREG_ICH_AP1R0_EL2
Definition misc.hh:911
@ MISCREG_PMEVCNTR3_EL0
Definition misc.hh:815
@ MISCREG_FPSCR_EXC
Definition misc.hh:85
@ MISCREG_CNTV_TVAL_EL02
Definition misc.hh:789
@ MISCREG_RVBAR_EL3
Definition misc.hh:765
@ MISCREG_ICH_VTR_EL2
Definition misc.hh:916
@ MISCREG_TLBI_VALE3_Xt
Definition misc.hh:731
@ MISCREG_TLBI_ASIDE1_Xt
Definition misc.hh:698
@ MISCREG_DBGBCR10_EL1
Definition misc.hh:489
@ MISCREG_OSDTRRX_EL1
Definition misc.hh:459
@ MISCREG_AT_S1E0R_Xt
Definition misc.hh:667
@ MISCREG_MDDTRTX_EL0
Definition misc.hh:529
@ MISCREG_ICC_SRE_S
Definition misc.hh:1026
@ MISCREG_DBGWVR6_EL1
Definition misc.hh:501
@ MISCREG_TLBI_IPAS2LE1_Xt
Definition misc.hh:717
@ MISCREG_ID_ISAR3
Definition misc.hh:228
@ MISCREG_CNTHP_CTL_EL2
Definition misc.hh:796
@ MISCREG_ICH_LR14
Definition misc.hh:1056
@ MISCREG_IMPDEF_UNIMPL
Definition misc.hh:1114
@ MISCREG_ICH_LRC10
Definition misc.hh:1068
@ MISCREG_MVBAR
Definition misc.hh:399
@ MISCREG_DBGBCR6
Definition misc.hh:133
@ MISCREG_DBGWVR8_EL1
Definition misc.hh:503
@ MISCREG_ERXFR_EL1
Definition misc.hh:1119
@ MISCREG_PMCR_EL0
Definition misc.hh:734
@ MISCREG_PAR
Definition misc.hh:299
@ MISCREG_CBAR
Definition misc.hh:451
@ MISCREG_CONTEXTIDR_EL12
Definition misc.hh:768
@ MISCREG_CPTR_EL3
Definition misc.hh:601
@ MISCREG_ESR_EL2
Definition misc.hh:650
@ MISCREG_HADFSR
Definition misc.hh:285
@ MISCREG_SPSR_FIQ_AA64
Definition misc.hh:637
@ MISCREG_IC_IALLUIS
Definition misc.hh:660
@ MISCREG_NMRR_MAIR1_NS
Definition misc.hh:93
@ MISCREG_ICH_LR4
Definition misc.hh:1046
@ MISCREG_ID_PFR0
Definition misc.hh:216
@ MISCREG_CLIDR_EL1
Definition misc.hh:577
@ MISCREG_ICH_LRC4
Definition misc.hh:1062
@ MISCREG_DBGBVR6
Definition misc.hh:117
@ MISCREG_TLBI_IPAS2E1OS_Xt
Definition misc.hh:703
@ MISCREG_NMRR_S
Definition misc.hh:382
@ MISCREG_DCCMVAC
Definition misc.hh:317
@ MISCREG_L2ECTLR_EL1
Definition misc.hh:757
@ MISCREG_ICC_BPR1
Definition misc.hh:999
@ MISCREG_ICH_LR11
Definition misc.hh:1053
@ MISCREG_IFAR_S
Definition misc.hh:293
@ MISCREG_ICH_AP0R2
Definition misc.hh:1030
@ MISCREG_ID_MMFR3_EL1
Definition misc.hh:554
@ MISCREG_SPSR_IRQ_AA64
Definition misc.hh:634
@ MISCREG_TLBI_VALE1_Xt
Definition misc.hh:700
@ MISCREG_ID_MMFR4
Definition misc.hh:224
@ MISCREG_DBGBXVR1
Definition misc.hh:177
@ MISCREG_AFSR1_EL1
Definition misc.hh:643
@ MISCREG_CNTP_CVAL_S
Definition misc.hh:426
@ MISCREG_ICH_LR13
Definition misc.hh:1055
@ MISCREG_TPIDRURO_S
Definition misc.hh:412
@ MISCREG_DBGBVR4_EL1
Definition misc.hh:467
@ MISCREG_VSTTBR_EL2
Definition misc.hh:613
@ MISCREG_CNTKCTL
Definition misc.hh:433
@ MISCREG_PRRR_MAIR0_NS
Definition misc.hh:90
@ MISCREG_DBGWVR4
Definition misc.hh:147
@ MISCREG_CONTEXTIDR_S
Definition misc.hh:406
@ MISCREG_CNTHV_CVAL_EL2
Definition misc.hh:804
@ MISCREG_LOCKADDR
Definition misc.hh:87
@ MISCREG_PMCEID1_EL0
Definition misc.hh:741
@ MISCREG_TPIDRURW_NS
Definition misc.hh:408
@ MISCREG_CTR_EL0
Definition misc.hh:580
@ MISCREG_CNTFRQ_EL0
Definition misc.hh:775
@ MISCREG_ID_AFR0
Definition misc.hh:219
@ MISCREG_ICC_CTLR_EL1_S
Definition misc.hh:893
@ MISCREG_ICV_SGI1R_EL1
Definition misc.hh:961
@ MISCREG_DBGAUTHSTATUS_EL1
Definition misc.hh:539
@ MISCREG_DBGBCR1
Definition misc.hh:128
@ MISCREG_FPEXC32_EL2
Definition misc.hh:651
@ MISCREG_TPIDRURO_NS
Definition misc.hh:411
@ MISCREG_DBGBCR13
Definition misc.hh:140
@ MISCREG_MDDTR_EL0
Definition misc.hh:528
@ MISCREG_TLBIMVAA
Definition misc.hh:341
@ MISCREG_TLBI_VAE1_Xt
Definition misc.hh:697
@ MISCREG_ICC_AP1R1_NS
Definition misc.hh:989
@ MISCREG_PMEVCNTR1_EL0
Definition misc.hh:813
@ MISCREG_SPSR
Definition misc.hh:67
@ MISCREG_TPIDRPRW
Definition misc.hh:413
@ MISCREG_ACTLR
Definition misc.hh:243
@ MISCREG_DBGBVR12
Definition misc.hh:123
@ MISCREG_VTTBR_EL2
Definition misc.hh:611
@ MISCREG_DBGWCR7
Definition misc.hh:166
@ MISCREG_PMXEVTYPER_PMCCFILTR
Definition misc.hh:95
@ MISCREG_MAIR1_NS
Definition misc.hh:384
@ MISCREG_ICC_HPPIR1
Definition misc.hh:1009
@ MISCREG_VDISR_EL2
Definition misc.hh:1127
@ MISCREG_DBGBVR15
Definition misc.hh:126
@ MISCREG_DBGBVR4
Definition misc.hh:115
@ MISCREG_ID_AA64PFR1_EL1
Definition misc.hh:567
@ MISCREG_RAMINDEX
Definition misc.hh:449
@ MISCREG_HSTR
Definition misc.hh:257
@ MISCREG_MDCR_EL3
Definition misc.hh:602
@ MISCREG_TLBI_ALLE3OS
Definition misc.hh:724
@ MISCREG_ICV_AP1R3_EL1_NS
Definition misc.hh:957
@ MISCREG_AFSR0_EL2
Definition misc.hh:648
@ MISCREG_ID_ISAR2
Definition misc.hh:227
@ MISCREG_SPSR_FIQ
Definition misc.hh:68
@ MISCREG_PRRR_S
Definition misc.hh:376
@ MISCREG_ICC_AP1R3_NS
Definition misc.hh:995
@ MISCREG_CNTV_CVAL_EL0
Definition misc.hh:782
@ MISCREG_ZCR_EL12
Definition misc.hh:1079
@ MISCREG_DBGWCR13
Definition misc.hh:172
@ MISCREG_SP_EL1
Definition misc.hh:633
@ MISCREG_ATS1CUW
Definition misc.hh:312
@ MISCREG_MAIR0
Definition misc.hh:377
@ MISCREG_PMOVSSET_EL0
Definition misc.hh:747
Bitfield< 3, 2 > el
Definition misc_types.hh:73
@ MISCREG_MUTEX
Definition misc.hh:1150
@ MISCREG_USR_S_RD
Definition misc.hh:1166
@ MISCREG_BANKED_CHILD
Definition misc.hh:1158
@ MISCREG_MON_NS1_RD
Definition misc.hh:1182
@ MISCREG_PRI_NS_WR
Definition misc.hh:1170
@ MISCREG_PRI_S_WR
Definition misc.hh:1172
@ MISCREG_MON_NS0_RD
Definition misc.hh:1179
@ MISCREG_HYP_S_RD
Definition misc.hh:1176
@ MISCREG_BANKED
Definition misc.hh:1152
@ MISCREG_HYP_S_WR
Definition misc.hh:1177
@ MISCREG_WARN_NOT_FAIL
Definition misc.hh:1147
@ MISCREG_UNSERIALIZE
Definition misc.hh:1146
@ MISCREG_MON_NS1_WR
Definition misc.hh:1183
@ MISCREG_BANKED64
Definition misc.hh:1155
@ MISCREG_HYP_NS_WR
Definition misc.hh:1175
@ MISCREG_PRI_S_RD
Definition misc.hh:1171
@ MISCREG_IMPLEMENTED
Definition misc.hh:1143
@ MISCREG_PRI_NS_RD
Definition misc.hh:1169
@ MISCREG_USR_NS_WR
Definition misc.hh:1165
@ MISCREG_USR_S_WR
Definition misc.hh:1167
@ MISCREG_UNVERIFIABLE
Definition misc.hh:1144
@ MISCREG_USR_NS_RD
Definition misc.hh:1164
@ NUM_MISCREG_INFOS
Definition misc.hh:1185
@ MISCREG_MON_NS0_WR
Definition misc.hh:1180
@ MISCREG_HYP_NS_RD
Definition misc.hh:1174
MiscRegIndex decodeCP14Reg(unsigned crn, unsigned opc1, unsigned crm, unsigned opc2)
Definition misc.cc:520
static const uint32_t CondCodesMask
Definition misc.hh:2817
int unflattenMiscReg(int reg)
Definition misc.cc:723
constexpr RegClass miscRegClass
Definition misc.hh:2810
const char *const miscRegName[]
Definition misc.hh:1748
int snsBankedIndex(MiscRegIndex reg, ThreadContext *tc)
Definition misc.cc:671
std::tuple< bool, bool > canWriteCoprocReg(MiscRegIndex reg, SCR scr, CPSR cpsr, ThreadContext *tc)
Check for permission to write coprocessor registers.
Definition misc.cc:612
int snsBankedIndex64(MiscRegIndex reg, ThreadContext *tc)
Definition misc.cc:689
MiscRegIndex decodeCP15Reg64(unsigned crm, unsigned opc1)
Definition misc.cc:553
std::vector< struct MiscRegLUTEntry > lookUpMiscReg(NUM_MISCREGS)
Definition misc.hh:1627
std::tuple< bool, bool > canReadCoprocReg(MiscRegIndex reg, SCR scr, CPSR cpsr, ThreadContext *tc)
Check for permission to read coprocessor registers.
Definition misc.cc:565
Bitfield< 5 > l
Bitfield< 5, 3 > reg
Definition types.hh:92
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
std::shared_ptr< FaultBase > Fault
Definition types.hh:249
constexpr char MiscRegClassName[]
Definition reg_class.hh:81
@ MiscRegClass
Control (misc) register.
Definition reg_class.hh:69
Overload hash function for BasicBlockRange type.
Definition misc.hh:2910
MiscReg metadata.
Definition misc.hh:1190
static Fault defaultFault(const MiscRegLUTEntry &entry, ThreadContext *tc, const MiscRegOp64 &inst)
Definition misc.cc:2208
std::function< Fault(const MiscRegLUTEntry &entry, ThreadContext *tc, const MiscRegOp64 &inst) > FaultCB
Definition misc.hh:1203
uint64_t reset() const
Definition misc.hh:1229
std::array< FaultCB, EL3+1 > faultRead
Definition misc.hh:1205
std::bitset< NUM_MISCREG_INFOS > info
Definition misc.hh:1198
uint64_t wi() const
Definition misc.hh:1235
uint64_t raz() const
Definition misc.hh:1232
uint64_t res0() const
Definition misc.hh:1230
std::array< FaultCB, EL3+1 > faultWrite
Definition misc.hh:1206
uint64_t res1() const
Definition misc.hh:1231
uint64_t rao() const
Definition misc.hh:1233
Fault checkFault(ThreadContext *tc, const MiscRegOp64 &inst, ExceptionLevel el)
Definition misc.cc:2199
bool operator==(const MiscRegNum32 &other) const
Definition misc.hh:1655
MiscRegNum32(const MiscRegNum32 &rhs)=default
const unsigned reg64
Definition misc.hh:1679
MiscRegNum32(unsigned _coproc, unsigned _opc1, unsigned _crm)
Definition misc.hh:1642
MiscRegNum32(unsigned _coproc, unsigned _opc1, unsigned _crn, unsigned _crm, unsigned _opc2)
Definition misc.hh:1631
uint32_t packed() const
Definition misc.hh:1666
MiscRegNum64(unsigned _op0, unsigned _op1, unsigned _crn, unsigned _crm, unsigned _op2)
Definition misc.hh:1690
MiscRegNum64(const MiscRegNum64 &rhs)=default
uint32_t packed() const
Definition misc.hh:1712
bool operator==(const MiscRegNum64 &other) const
Definition misc.hh:1702
size_t operator()(const gem5::ArmISA::MiscRegNum32 &reg) const
Definition misc.hh:2915
size_t operator()(const gem5::ArmISA::MiscRegNum64 &reg) const
Definition misc.hh:2925

Generated on Mon Jul 10 2023 15:32:03 for gem5 by doxygen 1.9.7