1/* 2 * Copyright (c) 2010-2018 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 * Authors: Gabe Black 41 * Giacomo Gabrielli 42 */ 43 44#ifndef __ARCH_ARM_MISCREGS_TYPES_HH__ 45#define __ARCH_ARM_MISCREGS_TYPES_HH__ 46 47#include "base/bitunion.hh" 48 49namespace ArmISA 50{ 51 BitUnion32(CPSR) 52 Bitfield<31, 30> nz; 53 Bitfield<29> c; 54 Bitfield<28> v; 55 Bitfield<27> q; 56 Bitfield<26, 25> it1; 57 Bitfield<24> j; 58 Bitfield<23, 22> res0_23_22; 59 Bitfield<21> ss; // AArch64 60 Bitfield<20> il; // AArch64 61 Bitfield<19, 16> ge; 62 Bitfield<15, 10> it2; 63 Bitfield<9> d; // AArch64 64 Bitfield<9> e; 65 Bitfield<8> a; 66 Bitfield<7> i; 67 Bitfield<6> f; 68 Bitfield<8, 6> aif; 69 Bitfield<9, 6> daif; // AArch64 70 Bitfield<5> t; 71 Bitfield<4> width; // AArch64 72 Bitfield<3, 2> el; // AArch64 73 Bitfield<4, 0> mode; 74 Bitfield<0> sp; // AArch64 75 EndBitUnion(CPSR) 76 77 BitUnion64(AA64DFR0) 78 Bitfield<43, 40> tracefilt; 79 Bitfield<39, 36> doublelock; 80 Bitfield<35, 32> pmsver; 81 Bitfield<31, 28> ctx_cmps; 82 Bitfield<23, 20> wrps; 83 Bitfield<15, 12> brps; 84 Bitfield<11, 8> pmuver; 85 Bitfield<7, 4> tracever; 86 Bitfield<3, 0> debugver; 87 EndBitUnion(AA64DFR0) 88 89 BitUnion64(AA64ISAR0) 90 Bitfield<63, 60> rndr; 91 Bitfield<59, 56> tlb; 92 Bitfield<55, 52> ts; 93 Bitfield<51, 48> fhm; 94 Bitfield<47, 44> dp; 95 Bitfield<43, 40> sm4; 96 Bitfield<39, 36> sm3; 97 Bitfield<35, 32> sha3; 98 Bitfield<31, 28> rdm; 99 Bitfield<23, 20> atomic; 100 Bitfield<19, 16> crc32; 101 Bitfield<15, 12> sha2; 102 Bitfield<11, 8> sha1; 103 Bitfield<3, 0> aes; 104 EndBitUnion(AA64ISAR0) 105 106 BitUnion64(AA64ISAR1) 107 Bitfield<43, 40> specres; 108 Bitfield<39, 36> sb; 109 Bitfield<35, 32> frintts; 110 Bitfield<31, 28> gpi; 111 Bitfield<27, 24> gpa; 112 Bitfield<23, 20> lrcpc; 113 Bitfield<19, 16> fcma; 114 Bitfield<15, 12> jscvt; 115 Bitfield<11, 8> api; 116 Bitfield<7, 4> apa; 117 Bitfield<3, 0> dpb; 118 EndBitUnion(AA64ISAR1) 119 120 BitUnion64(AA64MMFR0) 121 Bitfield<47, 44> exs; 122 Bitfield<43, 40> tgran4_2; 123 Bitfield<39, 36> tgran64_2; 124 Bitfield<35, 32> tgran16_2; 125 Bitfield<31, 28> tgran4; 126 Bitfield<27, 24> tgran64; 127 Bitfield<23, 20> tgran16; 128 Bitfield<19, 16> bigendEL0; 129 Bitfield<15, 12> snsmem; 130 Bitfield<11, 8> bigend; 131 Bitfield<7, 4> asidbits; 132 Bitfield<3, 0> parange; 133 EndBitUnion(AA64MMFR0) 134 135 BitUnion64(AA64MMFR1) 136 Bitfield<31, 28> xnx; 137 Bitfield<27, 24> specsei; 138 Bitfield<23, 20> pan; 139 Bitfield<19, 16> lo; 140 Bitfield<15, 12> hpds; 141 Bitfield<11, 8> vh; 142 Bitfield<7, 4> vmidbits; 143 Bitfield<3, 0> hafdbs; 144 EndBitUnion(AA64MMFR1) 145 146 BitUnion64(AA64MMFR2) 147 Bitfield<63, 60> e0pd; 148 Bitfield<59, 56> evt; 149 Bitfield<55, 52> bbm; 150 Bitfield<51, 48> ttl; 151 Bitfield<43, 40> fwb; 152 Bitfield<39, 36> ids; 153 Bitfield<35, 32> at; 154 Bitfield<31, 28> st; 155 Bitfield<27, 24> nv; 156 Bitfield<23, 20> ccidx; 157 Bitfield<19, 16> varange; 158 Bitfield<15, 12> iesb; 159 Bitfield<11, 8> lsm; 160 Bitfield<7, 4> uao; 161 Bitfield<3, 0> cnp; 162 EndBitUnion(AA64MMFR2) 163 164 BitUnion64(AA64PFR0) 165 Bitfield<63, 60> csv3; 166 Bitfield<59, 56> csv2; 167 Bitfield<51, 48> dit; 168 Bitfield<47, 44> amu; 169 Bitfield<43, 40> mpam; 170 Bitfield<39, 36> sel2; 171 Bitfield<35, 32> sve; 172 Bitfield<31, 28> ras; 173 Bitfield<27, 24> gic; 174 Bitfield<23, 20> advsimd; 175 Bitfield<19, 16> fp; 176 Bitfield<15, 12> el3; 177 Bitfield<11, 8> el2; 178 Bitfield<7, 4> el1; 179 Bitfield<3, 0> el0; 180 EndBitUnion(AA64PFR0) 181 182 BitUnion32(HDCR) 183 Bitfield<11> tdra; 184 Bitfield<10> tdosa; 185 Bitfield<9> tda; 186 Bitfield<8> tde; 187 Bitfield<7> hpme; 188 Bitfield<6> tpm; 189 Bitfield<5> tpmcr; 190 Bitfield<4, 0> hpmn; 191 EndBitUnion(HDCR) 192 193 BitUnion32(HCPTR) 194 Bitfield<31> tcpac; 195 Bitfield<20> tta; 196 Bitfield<15> tase; 197 Bitfield<13> tcp13; 198 Bitfield<12> tcp12; 199 Bitfield<11> tcp11; 200 Bitfield<10> tcp10; 201 Bitfield<10> tfp; // AArch64 202 Bitfield<9> tcp9; 203 Bitfield<8> tcp8;
| 1/* 2 * Copyright (c) 2010-2018 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 * Authors: Gabe Black 41 * Giacomo Gabrielli 42 */ 43 44#ifndef __ARCH_ARM_MISCREGS_TYPES_HH__ 45#define __ARCH_ARM_MISCREGS_TYPES_HH__ 46 47#include "base/bitunion.hh" 48 49namespace ArmISA 50{ 51 BitUnion32(CPSR) 52 Bitfield<31, 30> nz; 53 Bitfield<29> c; 54 Bitfield<28> v; 55 Bitfield<27> q; 56 Bitfield<26, 25> it1; 57 Bitfield<24> j; 58 Bitfield<23, 22> res0_23_22; 59 Bitfield<21> ss; // AArch64 60 Bitfield<20> il; // AArch64 61 Bitfield<19, 16> ge; 62 Bitfield<15, 10> it2; 63 Bitfield<9> d; // AArch64 64 Bitfield<9> e; 65 Bitfield<8> a; 66 Bitfield<7> i; 67 Bitfield<6> f; 68 Bitfield<8, 6> aif; 69 Bitfield<9, 6> daif; // AArch64 70 Bitfield<5> t; 71 Bitfield<4> width; // AArch64 72 Bitfield<3, 2> el; // AArch64 73 Bitfield<4, 0> mode; 74 Bitfield<0> sp; // AArch64 75 EndBitUnion(CPSR) 76 77 BitUnion64(AA64DFR0) 78 Bitfield<43, 40> tracefilt; 79 Bitfield<39, 36> doublelock; 80 Bitfield<35, 32> pmsver; 81 Bitfield<31, 28> ctx_cmps; 82 Bitfield<23, 20> wrps; 83 Bitfield<15, 12> brps; 84 Bitfield<11, 8> pmuver; 85 Bitfield<7, 4> tracever; 86 Bitfield<3, 0> debugver; 87 EndBitUnion(AA64DFR0) 88 89 BitUnion64(AA64ISAR0) 90 Bitfield<63, 60> rndr; 91 Bitfield<59, 56> tlb; 92 Bitfield<55, 52> ts; 93 Bitfield<51, 48> fhm; 94 Bitfield<47, 44> dp; 95 Bitfield<43, 40> sm4; 96 Bitfield<39, 36> sm3; 97 Bitfield<35, 32> sha3; 98 Bitfield<31, 28> rdm; 99 Bitfield<23, 20> atomic; 100 Bitfield<19, 16> crc32; 101 Bitfield<15, 12> sha2; 102 Bitfield<11, 8> sha1; 103 Bitfield<3, 0> aes; 104 EndBitUnion(AA64ISAR0) 105 106 BitUnion64(AA64ISAR1) 107 Bitfield<43, 40> specres; 108 Bitfield<39, 36> sb; 109 Bitfield<35, 32> frintts; 110 Bitfield<31, 28> gpi; 111 Bitfield<27, 24> gpa; 112 Bitfield<23, 20> lrcpc; 113 Bitfield<19, 16> fcma; 114 Bitfield<15, 12> jscvt; 115 Bitfield<11, 8> api; 116 Bitfield<7, 4> apa; 117 Bitfield<3, 0> dpb; 118 EndBitUnion(AA64ISAR1) 119 120 BitUnion64(AA64MMFR0) 121 Bitfield<47, 44> exs; 122 Bitfield<43, 40> tgran4_2; 123 Bitfield<39, 36> tgran64_2; 124 Bitfield<35, 32> tgran16_2; 125 Bitfield<31, 28> tgran4; 126 Bitfield<27, 24> tgran64; 127 Bitfield<23, 20> tgran16; 128 Bitfield<19, 16> bigendEL0; 129 Bitfield<15, 12> snsmem; 130 Bitfield<11, 8> bigend; 131 Bitfield<7, 4> asidbits; 132 Bitfield<3, 0> parange; 133 EndBitUnion(AA64MMFR0) 134 135 BitUnion64(AA64MMFR1) 136 Bitfield<31, 28> xnx; 137 Bitfield<27, 24> specsei; 138 Bitfield<23, 20> pan; 139 Bitfield<19, 16> lo; 140 Bitfield<15, 12> hpds; 141 Bitfield<11, 8> vh; 142 Bitfield<7, 4> vmidbits; 143 Bitfield<3, 0> hafdbs; 144 EndBitUnion(AA64MMFR1) 145 146 BitUnion64(AA64MMFR2) 147 Bitfield<63, 60> e0pd; 148 Bitfield<59, 56> evt; 149 Bitfield<55, 52> bbm; 150 Bitfield<51, 48> ttl; 151 Bitfield<43, 40> fwb; 152 Bitfield<39, 36> ids; 153 Bitfield<35, 32> at; 154 Bitfield<31, 28> st; 155 Bitfield<27, 24> nv; 156 Bitfield<23, 20> ccidx; 157 Bitfield<19, 16> varange; 158 Bitfield<15, 12> iesb; 159 Bitfield<11, 8> lsm; 160 Bitfield<7, 4> uao; 161 Bitfield<3, 0> cnp; 162 EndBitUnion(AA64MMFR2) 163 164 BitUnion64(AA64PFR0) 165 Bitfield<63, 60> csv3; 166 Bitfield<59, 56> csv2; 167 Bitfield<51, 48> dit; 168 Bitfield<47, 44> amu; 169 Bitfield<43, 40> mpam; 170 Bitfield<39, 36> sel2; 171 Bitfield<35, 32> sve; 172 Bitfield<31, 28> ras; 173 Bitfield<27, 24> gic; 174 Bitfield<23, 20> advsimd; 175 Bitfield<19, 16> fp; 176 Bitfield<15, 12> el3; 177 Bitfield<11, 8> el2; 178 Bitfield<7, 4> el1; 179 Bitfield<3, 0> el0; 180 EndBitUnion(AA64PFR0) 181 182 BitUnion32(HDCR) 183 Bitfield<11> tdra; 184 Bitfield<10> tdosa; 185 Bitfield<9> tda; 186 Bitfield<8> tde; 187 Bitfield<7> hpme; 188 Bitfield<6> tpm; 189 Bitfield<5> tpmcr; 190 Bitfield<4, 0> hpmn; 191 EndBitUnion(HDCR) 192 193 BitUnion32(HCPTR) 194 Bitfield<31> tcpac; 195 Bitfield<20> tta; 196 Bitfield<15> tase; 197 Bitfield<13> tcp13; 198 Bitfield<12> tcp12; 199 Bitfield<11> tcp11; 200 Bitfield<10> tcp10; 201 Bitfield<10> tfp; // AArch64 202 Bitfield<9> tcp9; 203 Bitfield<8> tcp8;
|
| 204 Bitfield<8> tz; // SVE
|
204 Bitfield<7> tcp7; 205 Bitfield<6> tcp6; 206 Bitfield<5> tcp5; 207 Bitfield<4> tcp4; 208 Bitfield<3> tcp3; 209 Bitfield<2> tcp2; 210 Bitfield<1> tcp1; 211 Bitfield<0> tcp0; 212 EndBitUnion(HCPTR) 213 214 BitUnion32(HSTR) 215 Bitfield<17> tjdbx; 216 Bitfield<16> ttee; 217 Bitfield<15> t15; 218 Bitfield<13> t13; 219 Bitfield<12> t12; 220 Bitfield<11> t11; 221 Bitfield<10> t10; 222 Bitfield<9> t9; 223 Bitfield<8> t8; 224 Bitfield<7> t7; 225 Bitfield<6> t6; 226 Bitfield<5> t5; 227 Bitfield<4> t4; 228 Bitfield<3> t3; 229 Bitfield<2> t2; 230 Bitfield<1> t1; 231 Bitfield<0> t0; 232 EndBitUnion(HSTR) 233 234 BitUnion64(HCR) 235 Bitfield<34> e2h; // AArch64 236 Bitfield<33> id; // AArch64 237 Bitfield<32> cd; // AArch64 238 Bitfield<31> rw; // AArch64 239 Bitfield<30> trvm; // AArch64 240 Bitfield<29> hcd; // AArch64 241 Bitfield<28> tdz; // AArch64 242 243 Bitfield<27> tge; 244 Bitfield<26> tvm; 245 Bitfield<25> ttlb; 246 Bitfield<24> tpu; 247 Bitfield<23> tpc; 248 Bitfield<22> tsw; 249 Bitfield<21> tac; 250 Bitfield<21> tacr; // AArch64 251 Bitfield<20> tidcp; 252 Bitfield<19> tsc; 253 Bitfield<18> tid3; 254 Bitfield<17> tid2; 255 Bitfield<16> tid1; 256 Bitfield<15> tid0; 257 Bitfield<14> twe; 258 Bitfield<13> twi; 259 Bitfield<12> dc; 260 Bitfield<11, 10> bsu; 261 Bitfield<9> fb; 262 Bitfield<8> va; 263 Bitfield<8> vse; // AArch64 264 Bitfield<7> vi; 265 Bitfield<6> vf; 266 Bitfield<5> amo; 267 Bitfield<4> imo; 268 Bitfield<3> fmo; 269 Bitfield<2> ptw; 270 Bitfield<1> swio; 271 Bitfield<0> vm; 272 EndBitUnion(HCR) 273 274 BitUnion32(NSACR) 275 Bitfield<20> nstrcdis; 276 Bitfield<19> rfr; 277 Bitfield<15> nsasedis; 278 Bitfield<14> nsd32dis; 279 Bitfield<13> cp13; 280 Bitfield<12> cp12; 281 Bitfield<11> cp11; 282 Bitfield<10> cp10; 283 Bitfield<9> cp9; 284 Bitfield<8> cp8; 285 Bitfield<7> cp7; 286 Bitfield<6> cp6; 287 Bitfield<5> cp5; 288 Bitfield<4> cp4; 289 Bitfield<3> cp3; 290 Bitfield<2> cp2; 291 Bitfield<1> cp1; 292 Bitfield<0> cp0; 293 EndBitUnion(NSACR) 294 295 BitUnion32(SCR) 296 Bitfield<13> twe; 297 Bitfield<12> twi; 298 Bitfield<11> st; // AArch64 299 Bitfield<10> rw; // AArch64 300 Bitfield<9> sif; 301 Bitfield<8> hce; 302 Bitfield<7> scd; 303 Bitfield<7> smd; // AArch64 304 Bitfield<6> nEt; 305 Bitfield<5> aw; 306 Bitfield<4> fw; 307 Bitfield<3> ea; 308 Bitfield<2> fiq; 309 Bitfield<1> irq; 310 Bitfield<0> ns; 311 EndBitUnion(SCR) 312 313 BitUnion32(SCTLR) 314 Bitfield<30> te; // Thumb Exception Enable (AArch32 only) 315 Bitfield<29> afe; // Access flag enable (AArch32 only) 316 Bitfield<28> tre; // TEX remap enable (AArch32 only) 317 Bitfield<27> nmfi; // Non-maskable FIQ support (ARMv7 only) 318 Bitfield<26> uci; // Enable EL0 access to DC CVAU, DC CIVAC, 319 // DC CVAC and IC IVAU instructions 320 // (AArch64 SCTLR_EL1 only) 321 Bitfield<25> ee; // Exception Endianness 322 Bitfield<24> e0e; // Endianness of explicit data accesses at EL0 323 // (AArch64 SCTLR_EL1 only) 324 Bitfield<23> xp; // Extended page table enable (dropped in ARMv7) 325 Bitfield<22> u; // Alignment (dropped in ARMv7) 326 Bitfield<21> fi; // Fast interrupts configuration enable 327 // (ARMv7 only) 328 Bitfield<20> uwxn; // Unprivileged write permission implies EL1 XN 329 // (AArch32 only) 330 Bitfield<19> dz; // Divide by Zero fault enable 331 // (dropped in ARMv7) 332 Bitfield<19> wxn; // Write permission implies XN 333 Bitfield<18> ntwe; // Not trap WFE 334 // (ARMv8 AArch32 and AArch64 SCTLR_EL1 only) 335 Bitfield<18> rao2; // Read as one 336 Bitfield<16> ntwi; // Not trap WFI 337 // (ARMv8 AArch32 and AArch64 SCTLR_EL1 only) 338 Bitfield<16> rao3; // Read as one 339 Bitfield<15> uct; // Enable EL0 access to CTR_EL0 340 // (AArch64 SCTLR_EL1 only) 341 Bitfield<14> rr; // Round Robin select (ARMv7 only) 342 Bitfield<14> dze; // Enable EL0 access to DC ZVA 343 // (AArch64 SCTLR_EL1 only) 344 Bitfield<13> v; // Vectors bit (AArch32 only) 345 Bitfield<12> i; // Instruction cache enable 346 Bitfield<11> z; // Branch prediction enable (ARMv7 only) 347 Bitfield<10> sw; // SWP/SWPB enable (ARMv7 only) 348 Bitfield<9, 8> rs; // Deprecated protection bits (dropped in ARMv7) 349 Bitfield<9> uma; // User mask access (AArch64 SCTLR_EL1 only) 350 Bitfield<8> sed; // SETEND disable 351 // (ARMv8 AArch32 and AArch64 SCTLR_EL1 only) 352 Bitfield<7> b; // Endianness support (dropped in ARMv7) 353 Bitfield<7> itd; // IT disable 354 // (ARMv8 AArch32 and AArch64 SCTLR_EL1 only) 355 Bitfield<6, 3> rao4; // Read as one 356 Bitfield<6> thee; // ThumbEE enable 357 // (ARMv8 AArch32 and AArch64 SCTLR_EL1 only) 358 Bitfield<5> cp15ben; // CP15 barrier enable 359 // (AArch32 and AArch64 SCTLR_EL1 only) 360 Bitfield<4> sa0; // Stack Alignment Check Enable for EL0 361 // (AArch64 SCTLR_EL1 only) 362 Bitfield<3> sa; // Stack Alignment Check Enable (AArch64 only) 363 Bitfield<2> c; // Cache enable 364 Bitfield<1> a; // Alignment check enable 365 Bitfield<0> m; // MMU enable 366 EndBitUnion(SCTLR) 367 368 BitUnion32(CPACR) 369 Bitfield<1, 0> cp0; 370 Bitfield<3, 2> cp1; 371 Bitfield<5, 4> cp2; 372 Bitfield<7, 6> cp3; 373 Bitfield<9, 8> cp4; 374 Bitfield<11, 10> cp5; 375 Bitfield<13, 12> cp6; 376 Bitfield<15, 14> cp7; 377 Bitfield<17, 16> cp8;
| 205 Bitfield<7> tcp7; 206 Bitfield<6> tcp6; 207 Bitfield<5> tcp5; 208 Bitfield<4> tcp4; 209 Bitfield<3> tcp3; 210 Bitfield<2> tcp2; 211 Bitfield<1> tcp1; 212 Bitfield<0> tcp0; 213 EndBitUnion(HCPTR) 214 215 BitUnion32(HSTR) 216 Bitfield<17> tjdbx; 217 Bitfield<16> ttee; 218 Bitfield<15> t15; 219 Bitfield<13> t13; 220 Bitfield<12> t12; 221 Bitfield<11> t11; 222 Bitfield<10> t10; 223 Bitfield<9> t9; 224 Bitfield<8> t8; 225 Bitfield<7> t7; 226 Bitfield<6> t6; 227 Bitfield<5> t5; 228 Bitfield<4> t4; 229 Bitfield<3> t3; 230 Bitfield<2> t2; 231 Bitfield<1> t1; 232 Bitfield<0> t0; 233 EndBitUnion(HSTR) 234 235 BitUnion64(HCR) 236 Bitfield<34> e2h; // AArch64 237 Bitfield<33> id; // AArch64 238 Bitfield<32> cd; // AArch64 239 Bitfield<31> rw; // AArch64 240 Bitfield<30> trvm; // AArch64 241 Bitfield<29> hcd; // AArch64 242 Bitfield<28> tdz; // AArch64 243 244 Bitfield<27> tge; 245 Bitfield<26> tvm; 246 Bitfield<25> ttlb; 247 Bitfield<24> tpu; 248 Bitfield<23> tpc; 249 Bitfield<22> tsw; 250 Bitfield<21> tac; 251 Bitfield<21> tacr; // AArch64 252 Bitfield<20> tidcp; 253 Bitfield<19> tsc; 254 Bitfield<18> tid3; 255 Bitfield<17> tid2; 256 Bitfield<16> tid1; 257 Bitfield<15> tid0; 258 Bitfield<14> twe; 259 Bitfield<13> twi; 260 Bitfield<12> dc; 261 Bitfield<11, 10> bsu; 262 Bitfield<9> fb; 263 Bitfield<8> va; 264 Bitfield<8> vse; // AArch64 265 Bitfield<7> vi; 266 Bitfield<6> vf; 267 Bitfield<5> amo; 268 Bitfield<4> imo; 269 Bitfield<3> fmo; 270 Bitfield<2> ptw; 271 Bitfield<1> swio; 272 Bitfield<0> vm; 273 EndBitUnion(HCR) 274 275 BitUnion32(NSACR) 276 Bitfield<20> nstrcdis; 277 Bitfield<19> rfr; 278 Bitfield<15> nsasedis; 279 Bitfield<14> nsd32dis; 280 Bitfield<13> cp13; 281 Bitfield<12> cp12; 282 Bitfield<11> cp11; 283 Bitfield<10> cp10; 284 Bitfield<9> cp9; 285 Bitfield<8> cp8; 286 Bitfield<7> cp7; 287 Bitfield<6> cp6; 288 Bitfield<5> cp5; 289 Bitfield<4> cp4; 290 Bitfield<3> cp3; 291 Bitfield<2> cp2; 292 Bitfield<1> cp1; 293 Bitfield<0> cp0; 294 EndBitUnion(NSACR) 295 296 BitUnion32(SCR) 297 Bitfield<13> twe; 298 Bitfield<12> twi; 299 Bitfield<11> st; // AArch64 300 Bitfield<10> rw; // AArch64 301 Bitfield<9> sif; 302 Bitfield<8> hce; 303 Bitfield<7> scd; 304 Bitfield<7> smd; // AArch64 305 Bitfield<6> nEt; 306 Bitfield<5> aw; 307 Bitfield<4> fw; 308 Bitfield<3> ea; 309 Bitfield<2> fiq; 310 Bitfield<1> irq; 311 Bitfield<0> ns; 312 EndBitUnion(SCR) 313 314 BitUnion32(SCTLR) 315 Bitfield<30> te; // Thumb Exception Enable (AArch32 only) 316 Bitfield<29> afe; // Access flag enable (AArch32 only) 317 Bitfield<28> tre; // TEX remap enable (AArch32 only) 318 Bitfield<27> nmfi; // Non-maskable FIQ support (ARMv7 only) 319 Bitfield<26> uci; // Enable EL0 access to DC CVAU, DC CIVAC, 320 // DC CVAC and IC IVAU instructions 321 // (AArch64 SCTLR_EL1 only) 322 Bitfield<25> ee; // Exception Endianness 323 Bitfield<24> e0e; // Endianness of explicit data accesses at EL0 324 // (AArch64 SCTLR_EL1 only) 325 Bitfield<23> xp; // Extended page table enable (dropped in ARMv7) 326 Bitfield<22> u; // Alignment (dropped in ARMv7) 327 Bitfield<21> fi; // Fast interrupts configuration enable 328 // (ARMv7 only) 329 Bitfield<20> uwxn; // Unprivileged write permission implies EL1 XN 330 // (AArch32 only) 331 Bitfield<19> dz; // Divide by Zero fault enable 332 // (dropped in ARMv7) 333 Bitfield<19> wxn; // Write permission implies XN 334 Bitfield<18> ntwe; // Not trap WFE 335 // (ARMv8 AArch32 and AArch64 SCTLR_EL1 only) 336 Bitfield<18> rao2; // Read as one 337 Bitfield<16> ntwi; // Not trap WFI 338 // (ARMv8 AArch32 and AArch64 SCTLR_EL1 only) 339 Bitfield<16> rao3; // Read as one 340 Bitfield<15> uct; // Enable EL0 access to CTR_EL0 341 // (AArch64 SCTLR_EL1 only) 342 Bitfield<14> rr; // Round Robin select (ARMv7 only) 343 Bitfield<14> dze; // Enable EL0 access to DC ZVA 344 // (AArch64 SCTLR_EL1 only) 345 Bitfield<13> v; // Vectors bit (AArch32 only) 346 Bitfield<12> i; // Instruction cache enable 347 Bitfield<11> z; // Branch prediction enable (ARMv7 only) 348 Bitfield<10> sw; // SWP/SWPB enable (ARMv7 only) 349 Bitfield<9, 8> rs; // Deprecated protection bits (dropped in ARMv7) 350 Bitfield<9> uma; // User mask access (AArch64 SCTLR_EL1 only) 351 Bitfield<8> sed; // SETEND disable 352 // (ARMv8 AArch32 and AArch64 SCTLR_EL1 only) 353 Bitfield<7> b; // Endianness support (dropped in ARMv7) 354 Bitfield<7> itd; // IT disable 355 // (ARMv8 AArch32 and AArch64 SCTLR_EL1 only) 356 Bitfield<6, 3> rao4; // Read as one 357 Bitfield<6> thee; // ThumbEE enable 358 // (ARMv8 AArch32 and AArch64 SCTLR_EL1 only) 359 Bitfield<5> cp15ben; // CP15 barrier enable 360 // (AArch32 and AArch64 SCTLR_EL1 only) 361 Bitfield<4> sa0; // Stack Alignment Check Enable for EL0 362 // (AArch64 SCTLR_EL1 only) 363 Bitfield<3> sa; // Stack Alignment Check Enable (AArch64 only) 364 Bitfield<2> c; // Cache enable 365 Bitfield<1> a; // Alignment check enable 366 Bitfield<0> m; // MMU enable 367 EndBitUnion(SCTLR) 368 369 BitUnion32(CPACR) 370 Bitfield<1, 0> cp0; 371 Bitfield<3, 2> cp1; 372 Bitfield<5, 4> cp2; 373 Bitfield<7, 6> cp3; 374 Bitfield<9, 8> cp4; 375 Bitfield<11, 10> cp5; 376 Bitfield<13, 12> cp6; 377 Bitfield<15, 14> cp7; 378 Bitfield<17, 16> cp8;
|
| 379 Bitfield<17, 16> zen; // SVE
|
378 Bitfield<19, 18> cp9; 379 Bitfield<21, 20> cp10; 380 Bitfield<21, 20> fpen; // AArch64 381 Bitfield<23, 22> cp11; 382 Bitfield<25, 24> cp12; 383 Bitfield<27, 26> cp13; 384 Bitfield<29, 28> rsvd; 385 Bitfield<28> tta; // AArch64 386 Bitfield<30> d32dis; 387 Bitfield<31> asedis; 388 EndBitUnion(CPACR) 389 390 BitUnion32(FSR) 391 Bitfield<3, 0> fsLow; 392 Bitfield<5, 0> status; // LPAE 393 Bitfield<7, 4> domain; 394 Bitfield<9> lpae; 395 Bitfield<10> fsHigh; 396 Bitfield<11> wnr; 397 Bitfield<12> ext; 398 Bitfield<13> cm; // LPAE 399 EndBitUnion(FSR) 400 401 BitUnion32(FPSCR) 402 Bitfield<0> ioc; 403 Bitfield<1> dzc; 404 Bitfield<2> ofc; 405 Bitfield<3> ufc; 406 Bitfield<4> ixc; 407 Bitfield<7> idc; 408 Bitfield<8> ioe; 409 Bitfield<9> dze; 410 Bitfield<10> ofe; 411 Bitfield<11> ufe; 412 Bitfield<12> ixe; 413 Bitfield<15> ide; 414 Bitfield<18, 16> len; 415 Bitfield<19> fz16; 416 Bitfield<21, 20> stride; 417 Bitfield<23, 22> rMode; 418 Bitfield<24> fz; 419 Bitfield<25> dn; 420 Bitfield<26> ahp; 421 Bitfield<27> qc; 422 Bitfield<28> v; 423 Bitfield<29> c; 424 Bitfield<30> z; 425 Bitfield<31> n; 426 EndBitUnion(FPSCR) 427 428 BitUnion32(FPEXC) 429 Bitfield<31> ex; 430 Bitfield<30> en; 431 Bitfield<29, 0> subArchDefined; 432 EndBitUnion(FPEXC) 433 434 BitUnion32(MVFR0) 435 Bitfield<3, 0> advSimdRegisters; 436 Bitfield<7, 4> singlePrecision; 437 Bitfield<11, 8> doublePrecision; 438 Bitfield<15, 12> vfpExceptionTrapping; 439 Bitfield<19, 16> divide; 440 Bitfield<23, 20> squareRoot; 441 Bitfield<27, 24> shortVectors; 442 Bitfield<31, 28> roundingModes; 443 EndBitUnion(MVFR0) 444 445 BitUnion32(MVFR1) 446 Bitfield<3, 0> flushToZero; 447 Bitfield<7, 4> defaultNaN; 448 Bitfield<11, 8> advSimdLoadStore; 449 Bitfield<15, 12> advSimdInteger; 450 Bitfield<19, 16> advSimdSinglePrecision; 451 Bitfield<23, 20> advSimdHalfPrecision; 452 Bitfield<27, 24> vfpHalfPrecision; 453 Bitfield<31, 28> raz; 454 EndBitUnion(MVFR1) 455 456 BitUnion64(TTBCR) 457 // Short-descriptor translation table format 458 Bitfield<2, 0> n; 459 Bitfield<4> pd0; 460 Bitfield<5> pd1; 461 // Long-descriptor translation table format 462 Bitfield<2, 0> t0sz; 463 Bitfield<6> t2e; 464 Bitfield<7> epd0; 465 Bitfield<9, 8> irgn0; 466 Bitfield<11, 10> orgn0; 467 Bitfield<13, 12> sh0; 468 Bitfield<14> tg0; 469 Bitfield<18, 16> t1sz; 470 Bitfield<22> a1; 471 Bitfield<23> epd1; 472 Bitfield<25, 24> irgn1; 473 Bitfield<27, 26> orgn1; 474 Bitfield<29, 28> sh1; 475 Bitfield<30> tg1; 476 Bitfield<34, 32> ips; 477 Bitfield<36> as; 478 Bitfield<37> tbi0; 479 Bitfield<38> tbi1; 480 // Common 481 Bitfield<31> eae; 482 // TCR_EL2/3 (AArch64) 483 Bitfield<18, 16> ps; 484 Bitfield<20> tbi; 485 Bitfield<41> hpd0; 486 Bitfield<42> hpd1; 487 EndBitUnion(TTBCR) 488 489 // Fields of TCR_EL{1,2,3} (mostly overlapping) 490 // TCR_EL1 is natively 64 bits, the others are 32 bits 491 BitUnion64(TCR) 492 Bitfield<5, 0> t0sz; 493 Bitfield<7> epd0; // EL1 494 Bitfield<9, 8> irgn0; 495 Bitfield<11, 10> orgn0; 496 Bitfield<13, 12> sh0; 497 Bitfield<15, 14> tg0; 498 Bitfield<18, 16> ps; 499 Bitfield<20> tbi; // EL2/EL3 500 Bitfield<21, 16> t1sz; // EL1 501 Bitfield<22> a1; // EL1 502 Bitfield<23> epd1; // EL1 503 Bitfield<25, 24> irgn1; // EL1 504 Bitfield<27, 26> orgn1; // EL1 505 Bitfield<29, 28> sh1; // EL1 506 Bitfield<31, 30> tg1; // EL1 507 Bitfield<34, 32> ips; // EL1 508 Bitfield<36> as; // EL1 509 Bitfield<37> tbi0; // EL1 510 Bitfield<38> tbi1; // EL1 511 Bitfield<39> ha; 512 Bitfield<40> hd; 513 Bitfield<41> hpd0; 514 Bitfield<42> hpd1; 515 EndBitUnion(TCR) 516 517 BitUnion32(HTCR) 518 Bitfield<2, 0> t0sz; 519 Bitfield<9, 8> irgn0; 520 Bitfield<11, 10> orgn0; 521 Bitfield<13, 12> sh0; 522 Bitfield<24> hpd; 523 EndBitUnion(HTCR) 524 525 BitUnion32(VTCR_t) 526 Bitfield<3, 0> t0sz; 527 Bitfield<4> s; 528 Bitfield<5, 0> t0sz64; 529 Bitfield<7, 6> sl0; 530 Bitfield<9, 8> irgn0; 531 Bitfield<11, 10> orgn0; 532 Bitfield<13, 12> sh0; 533 Bitfield<15, 14> tg0; 534 Bitfield<18, 16> ps; // Only defined for VTCR_EL2 535 Bitfield<21> ha; // Only defined for VTCR_EL2 536 Bitfield<22> hd; // Only defined for VTCR_EL2 537 EndBitUnion(VTCR_t) 538 539 BitUnion32(PRRR) 540 Bitfield<1,0> tr0; 541 Bitfield<3,2> tr1; 542 Bitfield<5,4> tr2; 543 Bitfield<7,6> tr3; 544 Bitfield<9,8> tr4; 545 Bitfield<11,10> tr5; 546 Bitfield<13,12> tr6; 547 Bitfield<15,14> tr7; 548 Bitfield<16> ds0; 549 Bitfield<17> ds1; 550 Bitfield<18> ns0; 551 Bitfield<19> ns1; 552 Bitfield<24> nos0; 553 Bitfield<25> nos1; 554 Bitfield<26> nos2; 555 Bitfield<27> nos3; 556 Bitfield<28> nos4; 557 Bitfield<29> nos5; 558 Bitfield<30> nos6; 559 Bitfield<31> nos7; 560 EndBitUnion(PRRR) 561 562 BitUnion32(NMRR) 563 Bitfield<1,0> ir0; 564 Bitfield<3,2> ir1; 565 Bitfield<5,4> ir2; 566 Bitfield<7,6> ir3; 567 Bitfield<9,8> ir4; 568 Bitfield<11,10> ir5; 569 Bitfield<13,12> ir6; 570 Bitfield<15,14> ir7; 571 Bitfield<17,16> or0; 572 Bitfield<19,18> or1; 573 Bitfield<21,20> or2; 574 Bitfield<23,22> or3; 575 Bitfield<25,24> or4; 576 Bitfield<27,26> or5; 577 Bitfield<29,28> or6; 578 Bitfield<31,30> or7; 579 EndBitUnion(NMRR) 580 581 BitUnion32(CONTEXTIDR) 582 Bitfield<7,0> asid; 583 Bitfield<31,8> procid; 584 EndBitUnion(CONTEXTIDR) 585 586 BitUnion32(L2CTLR) 587 Bitfield<2,0> sataRAMLatency; 588 Bitfield<4,3> reserved_4_3; 589 Bitfield<5> dataRAMSetup; 590 Bitfield<8,6> tagRAMLatency; 591 Bitfield<9> tagRAMSetup; 592 Bitfield<11,10> dataRAMSlice; 593 Bitfield<12> tagRAMSlice; 594 Bitfield<20,13> reserved_20_13; 595 Bitfield<21> eccandParityEnable; 596 Bitfield<22> reserved_22; 597 Bitfield<23> interptCtrlPresent; 598 Bitfield<25,24> numCPUs; 599 Bitfield<30,26> reserved_30_26; 600 Bitfield<31> l2rstDISABLE_monitor; 601 EndBitUnion(L2CTLR) 602 603 BitUnion32(CTR) 604 Bitfield<3,0> iCacheLineSize; 605 Bitfield<13,4> raz_13_4; 606 Bitfield<15,14> l1IndexPolicy; 607 Bitfield<19,16> dCacheLineSize; 608 Bitfield<23,20> erg; 609 Bitfield<27,24> cwg; 610 Bitfield<28> raz_28; 611 Bitfield<31,29> format; 612 EndBitUnion(CTR) 613 614 BitUnion32(PMSELR) 615 Bitfield<4, 0> sel; 616 EndBitUnion(PMSELR) 617 618 BitUnion64(PAR) 619 // 64-bit format 620 Bitfield<63, 56> attr; 621 Bitfield<39, 12> pa; 622 Bitfield<11> lpae; 623 Bitfield<9> ns; 624 Bitfield<8, 7> sh; 625 Bitfield<0> f; 626 EndBitUnion(PAR) 627 628 BitUnion32(ESR) 629 Bitfield<31, 26> ec; 630 Bitfield<25> il; 631 Bitfield<15, 0> imm16; 632 EndBitUnion(ESR) 633 634 BitUnion32(CPTR) 635 Bitfield<31> tcpac; 636 Bitfield<20> tta; 637 Bitfield<13, 12> res1_13_12_el2; 638 Bitfield<10> tfp;
| 380 Bitfield<19, 18> cp9; 381 Bitfield<21, 20> cp10; 382 Bitfield<21, 20> fpen; // AArch64 383 Bitfield<23, 22> cp11; 384 Bitfield<25, 24> cp12; 385 Bitfield<27, 26> cp13; 386 Bitfield<29, 28> rsvd; 387 Bitfield<28> tta; // AArch64 388 Bitfield<30> d32dis; 389 Bitfield<31> asedis; 390 EndBitUnion(CPACR) 391 392 BitUnion32(FSR) 393 Bitfield<3, 0> fsLow; 394 Bitfield<5, 0> status; // LPAE 395 Bitfield<7, 4> domain; 396 Bitfield<9> lpae; 397 Bitfield<10> fsHigh; 398 Bitfield<11> wnr; 399 Bitfield<12> ext; 400 Bitfield<13> cm; // LPAE 401 EndBitUnion(FSR) 402 403 BitUnion32(FPSCR) 404 Bitfield<0> ioc; 405 Bitfield<1> dzc; 406 Bitfield<2> ofc; 407 Bitfield<3> ufc; 408 Bitfield<4> ixc; 409 Bitfield<7> idc; 410 Bitfield<8> ioe; 411 Bitfield<9> dze; 412 Bitfield<10> ofe; 413 Bitfield<11> ufe; 414 Bitfield<12> ixe; 415 Bitfield<15> ide; 416 Bitfield<18, 16> len; 417 Bitfield<19> fz16; 418 Bitfield<21, 20> stride; 419 Bitfield<23, 22> rMode; 420 Bitfield<24> fz; 421 Bitfield<25> dn; 422 Bitfield<26> ahp; 423 Bitfield<27> qc; 424 Bitfield<28> v; 425 Bitfield<29> c; 426 Bitfield<30> z; 427 Bitfield<31> n; 428 EndBitUnion(FPSCR) 429 430 BitUnion32(FPEXC) 431 Bitfield<31> ex; 432 Bitfield<30> en; 433 Bitfield<29, 0> subArchDefined; 434 EndBitUnion(FPEXC) 435 436 BitUnion32(MVFR0) 437 Bitfield<3, 0> advSimdRegisters; 438 Bitfield<7, 4> singlePrecision; 439 Bitfield<11, 8> doublePrecision; 440 Bitfield<15, 12> vfpExceptionTrapping; 441 Bitfield<19, 16> divide; 442 Bitfield<23, 20> squareRoot; 443 Bitfield<27, 24> shortVectors; 444 Bitfield<31, 28> roundingModes; 445 EndBitUnion(MVFR0) 446 447 BitUnion32(MVFR1) 448 Bitfield<3, 0> flushToZero; 449 Bitfield<7, 4> defaultNaN; 450 Bitfield<11, 8> advSimdLoadStore; 451 Bitfield<15, 12> advSimdInteger; 452 Bitfield<19, 16> advSimdSinglePrecision; 453 Bitfield<23, 20> advSimdHalfPrecision; 454 Bitfield<27, 24> vfpHalfPrecision; 455 Bitfield<31, 28> raz; 456 EndBitUnion(MVFR1) 457 458 BitUnion64(TTBCR) 459 // Short-descriptor translation table format 460 Bitfield<2, 0> n; 461 Bitfield<4> pd0; 462 Bitfield<5> pd1; 463 // Long-descriptor translation table format 464 Bitfield<2, 0> t0sz; 465 Bitfield<6> t2e; 466 Bitfield<7> epd0; 467 Bitfield<9, 8> irgn0; 468 Bitfield<11, 10> orgn0; 469 Bitfield<13, 12> sh0; 470 Bitfield<14> tg0; 471 Bitfield<18, 16> t1sz; 472 Bitfield<22> a1; 473 Bitfield<23> epd1; 474 Bitfield<25, 24> irgn1; 475 Bitfield<27, 26> orgn1; 476 Bitfield<29, 28> sh1; 477 Bitfield<30> tg1; 478 Bitfield<34, 32> ips; 479 Bitfield<36> as; 480 Bitfield<37> tbi0; 481 Bitfield<38> tbi1; 482 // Common 483 Bitfield<31> eae; 484 // TCR_EL2/3 (AArch64) 485 Bitfield<18, 16> ps; 486 Bitfield<20> tbi; 487 Bitfield<41> hpd0; 488 Bitfield<42> hpd1; 489 EndBitUnion(TTBCR) 490 491 // Fields of TCR_EL{1,2,3} (mostly overlapping) 492 // TCR_EL1 is natively 64 bits, the others are 32 bits 493 BitUnion64(TCR) 494 Bitfield<5, 0> t0sz; 495 Bitfield<7> epd0; // EL1 496 Bitfield<9, 8> irgn0; 497 Bitfield<11, 10> orgn0; 498 Bitfield<13, 12> sh0; 499 Bitfield<15, 14> tg0; 500 Bitfield<18, 16> ps; 501 Bitfield<20> tbi; // EL2/EL3 502 Bitfield<21, 16> t1sz; // EL1 503 Bitfield<22> a1; // EL1 504 Bitfield<23> epd1; // EL1 505 Bitfield<25, 24> irgn1; // EL1 506 Bitfield<27, 26> orgn1; // EL1 507 Bitfield<29, 28> sh1; // EL1 508 Bitfield<31, 30> tg1; // EL1 509 Bitfield<34, 32> ips; // EL1 510 Bitfield<36> as; // EL1 511 Bitfield<37> tbi0; // EL1 512 Bitfield<38> tbi1; // EL1 513 Bitfield<39> ha; 514 Bitfield<40> hd; 515 Bitfield<41> hpd0; 516 Bitfield<42> hpd1; 517 EndBitUnion(TCR) 518 519 BitUnion32(HTCR) 520 Bitfield<2, 0> t0sz; 521 Bitfield<9, 8> irgn0; 522 Bitfield<11, 10> orgn0; 523 Bitfield<13, 12> sh0; 524 Bitfield<24> hpd; 525 EndBitUnion(HTCR) 526 527 BitUnion32(VTCR_t) 528 Bitfield<3, 0> t0sz; 529 Bitfield<4> s; 530 Bitfield<5, 0> t0sz64; 531 Bitfield<7, 6> sl0; 532 Bitfield<9, 8> irgn0; 533 Bitfield<11, 10> orgn0; 534 Bitfield<13, 12> sh0; 535 Bitfield<15, 14> tg0; 536 Bitfield<18, 16> ps; // Only defined for VTCR_EL2 537 Bitfield<21> ha; // Only defined for VTCR_EL2 538 Bitfield<22> hd; // Only defined for VTCR_EL2 539 EndBitUnion(VTCR_t) 540 541 BitUnion32(PRRR) 542 Bitfield<1,0> tr0; 543 Bitfield<3,2> tr1; 544 Bitfield<5,4> tr2; 545 Bitfield<7,6> tr3; 546 Bitfield<9,8> tr4; 547 Bitfield<11,10> tr5; 548 Bitfield<13,12> tr6; 549 Bitfield<15,14> tr7; 550 Bitfield<16> ds0; 551 Bitfield<17> ds1; 552 Bitfield<18> ns0; 553 Bitfield<19> ns1; 554 Bitfield<24> nos0; 555 Bitfield<25> nos1; 556 Bitfield<26> nos2; 557 Bitfield<27> nos3; 558 Bitfield<28> nos4; 559 Bitfield<29> nos5; 560 Bitfield<30> nos6; 561 Bitfield<31> nos7; 562 EndBitUnion(PRRR) 563 564 BitUnion32(NMRR) 565 Bitfield<1,0> ir0; 566 Bitfield<3,2> ir1; 567 Bitfield<5,4> ir2; 568 Bitfield<7,6> ir3; 569 Bitfield<9,8> ir4; 570 Bitfield<11,10> ir5; 571 Bitfield<13,12> ir6; 572 Bitfield<15,14> ir7; 573 Bitfield<17,16> or0; 574 Bitfield<19,18> or1; 575 Bitfield<21,20> or2; 576 Bitfield<23,22> or3; 577 Bitfield<25,24> or4; 578 Bitfield<27,26> or5; 579 Bitfield<29,28> or6; 580 Bitfield<31,30> or7; 581 EndBitUnion(NMRR) 582 583 BitUnion32(CONTEXTIDR) 584 Bitfield<7,0> asid; 585 Bitfield<31,8> procid; 586 EndBitUnion(CONTEXTIDR) 587 588 BitUnion32(L2CTLR) 589 Bitfield<2,0> sataRAMLatency; 590 Bitfield<4,3> reserved_4_3; 591 Bitfield<5> dataRAMSetup; 592 Bitfield<8,6> tagRAMLatency; 593 Bitfield<9> tagRAMSetup; 594 Bitfield<11,10> dataRAMSlice; 595 Bitfield<12> tagRAMSlice; 596 Bitfield<20,13> reserved_20_13; 597 Bitfield<21> eccandParityEnable; 598 Bitfield<22> reserved_22; 599 Bitfield<23> interptCtrlPresent; 600 Bitfield<25,24> numCPUs; 601 Bitfield<30,26> reserved_30_26; 602 Bitfield<31> l2rstDISABLE_monitor; 603 EndBitUnion(L2CTLR) 604 605 BitUnion32(CTR) 606 Bitfield<3,0> iCacheLineSize; 607 Bitfield<13,4> raz_13_4; 608 Bitfield<15,14> l1IndexPolicy; 609 Bitfield<19,16> dCacheLineSize; 610 Bitfield<23,20> erg; 611 Bitfield<27,24> cwg; 612 Bitfield<28> raz_28; 613 Bitfield<31,29> format; 614 EndBitUnion(CTR) 615 616 BitUnion32(PMSELR) 617 Bitfield<4, 0> sel; 618 EndBitUnion(PMSELR) 619 620 BitUnion64(PAR) 621 // 64-bit format 622 Bitfield<63, 56> attr; 623 Bitfield<39, 12> pa; 624 Bitfield<11> lpae; 625 Bitfield<9> ns; 626 Bitfield<8, 7> sh; 627 Bitfield<0> f; 628 EndBitUnion(PAR) 629 630 BitUnion32(ESR) 631 Bitfield<31, 26> ec; 632 Bitfield<25> il; 633 Bitfield<15, 0> imm16; 634 EndBitUnion(ESR) 635 636 BitUnion32(CPTR) 637 Bitfield<31> tcpac; 638 Bitfield<20> tta; 639 Bitfield<13, 12> res1_13_12_el2; 640 Bitfield<10> tfp;
|
639 Bitfield<9, 0> res1_9_0_el2;
| 641 Bitfield<9> res1_9_el2; 642 Bitfield<8> res1_8_el2; 643 Bitfield<8> ez; // SVE (CPTR_EL3) 644 Bitfield<8> tz; // SVE (CPTR_EL2) 645 Bitfield<7, 0> res1_7_0_el2;
|
640 EndBitUnion(CPTR) 641
| 646 EndBitUnion(CPTR) 647
|
| 648 BitUnion64(ZCR) 649 Bitfield<3, 0> len; 650 EndBitUnion(ZCR) 651
|
642} 643 644#endif // __ARCH_ARM_MISCREGS_TYPES_HH__
| 652} 653 654#endif // __ARCH_ARM_MISCREGS_TYPES_HH__
|