gem5 v24.0.0.0
Loading...
Searching...
No Matches
thread_context.cc
Go to the documentation of this file.
1/*
2 * Copyright 2019 Google, Inc.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met: redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer;
8 * redistributions in binary form must reproduce the above copyright
9 * notice, this list of conditions and the following disclaimer in the
10 * documentation and/or other materials provided with the distribution;
11 * neither the name of the copyright holders nor the names of its
12 * contributors may be used to endorse or promote products derived from
13 * this software without specific prior written permission.
14 *
15 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
18 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
19 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
29
31#include "arch/arm/utility.hh"
32#include "iris/detail/IrisCppAdapter.h"
33#include "iris/detail/IrisObjects.h"
34
35namespace gem5
36{
37
38namespace fastmodel
39{
40
43 iris::IrisConnectionInterface *iris_if,
44 const std::string &iris_path) :
45 ThreadContext(cpu, id, system, mmu, isa, iris_if, iris_path)
46{}
47
48bool
50{
51 // Determine what memory spaces are currently active.
52 Iris::CanonicalMsn in_msn;
53 switch (ArmISA::currEL(this)) {
54 case ArmISA::EL3:
56 break;
57 case ArmISA::EL2:
58 in_msn = Iris::NsHypMsn;
59 break;
60 default:
61 in_msn = Iris::GuestMsn;
62 break;
63 }
64
65 Iris::CanonicalMsn out_msn = ArmISA::isSecure(this) ?
67
68 // Figure out what memory spaces match the canonical numbers we need.
69 iris::MemorySpaceId in = getMemorySpaceId(in_msn);
70 iris::MemorySpaceId out = getMemorySpaceId(out_msn);
71
72 panic_if(in == iris::IRIS_UINT64_MAX || out == iris::IRIS_UINT64_MAX,
73 "Canonical IRIS memory space numbers not found.");
74
75 return ThreadContext::translateAddress(paddr, out, vaddr, in);
76}
77
78void
80{
81 ThreadContext::initFromIrisInstance(resources);
82
83 pcRscId = extractResourceId(resources, "PC");
84
86
89
91
93
95}
96
99{
100 ArmISA::CPSR orig_cpsr;
101
102 auto *non_const_this = const_cast<CortexA76TC *>(this);
103
106 ArmISA::CPSR new_cpsr = orig_cpsr;
107 new_cpsr.mode = ArmISA::MODE_MON;
108 non_const_this->setMiscReg(ArmISA::MISCREG_CPSR, new_cpsr);
109 }
110
111 RegVal val = ThreadContext::readIntRegFlat(idx);
112
114 non_const_this->setMiscReg(ArmISA::MISCREG_CPSR, orig_cpsr);
115 }
116
117 return val;
118}
119
120void
122{
123 ArmISA::CPSR orig_cpsr;
124
127 ArmISA::CPSR new_cpsr = orig_cpsr;
128 new_cpsr.mode = ArmISA::MODE_MON;
130 }
131
132 ThreadContext::setIntRegFlat(idx, val);
133
136 }
137}
138
139RegVal
141{
143 switch (idx) {
145 result = ((ArmISA::CPSR)result).nz;
146 break;
148 result = bits(result, 31, 28);
149 break;
150 default:
151 break;
152 }
153 return result;
154}
155
156void
158{
159 switch (idx) {
161 {
162 ArmISA::CPSR cpsr = readMiscRegNoEffect(ArmISA::MISCREG_CPSR);
163 cpsr.nz = val;
164 val = cpsr;
165 }
166 break;
168 {
169 ArmISA::FPSCR fpscr = readMiscRegNoEffect(ArmISA::MISCREG_FPSCR);
170 val = insertBits(fpscr, 31, 28, val);
171 }
172 break;
173 default:
174 break;
175 }
177}
178
181{
182 if (bpSpaceIds.empty()) {
186 for (auto &msn : msns) {
187 auto id = getMemorySpaceId(msn);
188 if (id != iris::IRIS_UINT64_MAX)
189 bpSpaceIds.push_back(id);
190 }
191 panic_if(bpSpaceIds.empty(),
192 "Unable to find address space(s) for breakpoints.");
193 }
194 return bpSpaceIds;
195}
196
198 { ArmISA::MISCREG_CPSR, "CPSR" },
199 { ArmISA::MISCREG_SPSR, "SPSR" },
200 { ArmISA::MISCREG_SPSR_FIQ, "SPSR_fiq" },
201 { ArmISA::MISCREG_SPSR_IRQ, "SPSR_irq" },
202 // ArmISA::MISCREG_SPSR_SVC?
203 // ArmISA::MISCREG_SPSR_MON?
204 { ArmISA::MISCREG_SPSR_ABT, "SPSR_abt" },
205 // ArmISA::MISCREG_SPSR_HYP?
206 { ArmISA::MISCREG_SPSR_UND, "SPSR_und" },
207 // ArmISA::MISCREG_ELR_HYP?
208 // ArmISA::MISCREG_FPSID?
209 { ArmISA::MISCREG_FPSCR, "FPSCR" },
210 { ArmISA::MISCREG_MVFR1, "MVFR1_EL1" }, //XXX verify
211 { ArmISA::MISCREG_MVFR0, "MVFR1_EL1" }, //XXX verify
212 // ArmISA::MISCREG_FPEXC?
213
214 // Helper registers
215 { ArmISA::MISCREG_CPSR_MODE, "CPSR.MODE" },
216 { ArmISA::MISCREG_CPSR_Q, "CPSR.Q" },
217 // ArmISA::MISCREG_FPSCR_EXC?
218 { ArmISA::MISCREG_FPSCR_QC, "FPSR.QC" },
219 // ArmISA::MISCREG_LOCKADDR?
220 // ArmISA::MISCREG_LOCKFLAG?
221 // ArmISA::MISCREG_PRRR_MAIR0?
222 // ArmISA::MISCREG_PRRR_MAIR0_NS?
223 // ArmISA::MISCREG_PRRR_MAIR0_S?
224 // ArmISA::MISCREG_NMRR_MAIR1?
225 // ArmISA::MISCREG_NMRR_MAIR1_NS?
226 // ArmISA::MISCREG_NMRR_MAIR1_S?
227 // ArmISA::MISCREG_PMXEVTYPER_PMCCFILTR?
228 // ArmISA::MISCREG_SCTLR_RST?
229 { ArmISA::MISCREG_SEV_MAILBOX, "SEV_STATE" },
230
231 // AArch32 CP14 registers (debug/trace control)
232 // ArmISA::MISCREG_DBGDIDR?
233 // ArmISA::MISCREG_DBGDSCRint?
234 // ArmISA::MISCREG_DBGDCCINT?
235 // ArmISA::MISCREG_DBGDTRTXint?
236 // ArmISA::MISCREG_DBGDTRRXint?
237 { ArmISA::MISCREG_DBGWFAR, "DBGWFAR" },
238 // ArmISA::MISCREG_DBGVCR?
239 { ArmISA::MISCREG_DBGDTRRXext, "DBGDTRRXext" },
240 // ArmISA::MISCREG_DBGDSCRext?
241 { ArmISA::MISCREG_DBGDTRTXext, "DBGDTRTXext" },
242 // ArmISA::MISCREG_DBGOSECCR?
243 { ArmISA::MISCREG_DBGBVR0, "DBGBVR0" },
244 { ArmISA::MISCREG_DBGBVR1, "DBGBVR1" },
245 { ArmISA::MISCREG_DBGBVR2, "DBGBVR2" },
246 { ArmISA::MISCREG_DBGBVR3, "DBGBVR3" },
247 { ArmISA::MISCREG_DBGBVR4, "DBGBVR4" },
248 { ArmISA::MISCREG_DBGBVR5, "DBGBVR5" },
249 { ArmISA::MISCREG_DBGBCR0, "DBGBCR0" },
250 { ArmISA::MISCREG_DBGBCR1, "DBGBCR1" },
251 { ArmISA::MISCREG_DBGBCR2, "DBGBCR2" },
252 { ArmISA::MISCREG_DBGBCR3, "DBGBCR3" },
253 { ArmISA::MISCREG_DBGBCR4, "DBGBCR4" },
254 { ArmISA::MISCREG_DBGBCR5, "DBGBCR5" },
255 { ArmISA::MISCREG_DBGWVR0, "DBGWVR0" },
256 { ArmISA::MISCREG_DBGWVR1, "DBGWVR1" },
257 { ArmISA::MISCREG_DBGWVR2, "DBGWVR2" },
258 { ArmISA::MISCREG_DBGWVR3, "DBGWVR3" },
259 { ArmISA::MISCREG_DBGWCR0, "DBGWCR0" },
260 { ArmISA::MISCREG_DBGWCR1, "DBGWCR1" },
261 { ArmISA::MISCREG_DBGWCR2, "DBGWCR2" },
262 { ArmISA::MISCREG_DBGWCR3, "DBGWCR3" },
263 // ArmISA::MISCREG_DBGDRAR?
264 { ArmISA::MISCREG_DBGBXVR4, "DBGBXVR4" },
265 { ArmISA::MISCREG_DBGBXVR5, "DBGBXVR5" },
266 { ArmISA::MISCREG_DBGOSLAR, "DBGOSLAR" },
267 // ArmISA::MISCREG_DBGOSLSR?
268 // ArmISA::MISCREG_DBGOSDLR?
269 // ArmISA::MISCREG_DBGPRCR?
270 // ArmISA::MISCREG_DBGDSAR?
271 { ArmISA::MISCREG_DBGCLAIMSET, "DBGCLAIMSET" },
272 { ArmISA::MISCREG_DBGCLAIMCLR, "DBGCLAIMCLR" },
273 { ArmISA::MISCREG_DBGAUTHSTATUS, "DBGAUTHSTATUS" },
274 // ArmISA::MISCREG_DBGDEVID2?
275 // ArmISA::MISCREG_DBGDEVID1?
276 // ArmISA::MISCREG_DBGDEVID0?
277 // ArmISA::MISCREG_TEECR? not in ARM DDI 0487A.b+
278 // ArmISA::MISCREG_JIDR?
279 // ArmISA::MISCREG_TEEHBR? not in ARM DDI 0487A.b+
280 // ArmISA::MISCREG_JOSCR?
281 // ArmISA::MISCREG_JMCR?
282
283 // AArch32 CP15 registers (system control)
284 { ArmISA::MISCREG_MIDR, "MIDR" },
285 // ArmISA::MISCREG_CTR?
286 // ArmISA::MISCREG_TCMTR?
287 // ArmISA::MISCREG_TLBTR?
288 // ArmISA::MISCREG_MPIDR?
289 // ArmISA::MISCREG_REVIDR?
290 // ArmISA::MISCREG_ID_PFR0?
291 // ArmISA::MISCREG_ID_PFR1?
292 // ArmISA::MISCREG_ID_DFR0?
293 // ArmISA::MISCREG_ID_AFR0?
294 // ArmISA::MISCREG_ID_MMFR0?
295 // ArmISA::MISCREG_ID_MMFR1?
296 // ArmISA::MISCREG_ID_MMFR2?
297 // ArmISA::MISCREG_ID_MMFR3?
298 // ArmISA::MISCREG_ID_MMFR4?
299 // ArmISA::MISCREG_ID_ISAR0?
300 // ArmISA::MISCREG_ID_ISAR1?
301 // ArmISA::MISCREG_ID_ISAR2?
302 // ArmISA::MISCREG_ID_ISAR3?
303 // ArmISA::MISCREG_ID_ISAR4?
304 // ArmISA::MISCREG_ID_ISAR5?
305 // ArmISA::MISCREG_ID_ISAR6?
306 // ArmISA::MISCREG_CCSIDR?
307 // ArmISA::MISCREG_CLIDR?
308 // ArmISA::MISCREG_AIDR?
309 // ArmISA::MISCREG_CSSELR?
310 // ArmISA::MISCREG_CSSELR_NS?
311 // ArmISA::MISCREG_CSSELR_S?
312 // ArmISA::MISCREG_VPIDR?
313 // ArmISA::MISCREG_VMPIDR?,
314 // ArmISA::MISCREG_SCTLR?
315 // ArmISA::MISCREG_SCTLR_NS?
316 // ArmISA::MISCREG_SCTLR_S?
317 // ArmISA::MISCREG_ACTLR?
318 // ArmISA::MISCREG_ACTLR_NS?
319 // ArmISA::MISCREG_ACTLR_S?
320 // ArmISA::MISCREG_CPACR?
321 { ArmISA::MISCREG_SCR, "SCR" },
322 { ArmISA::MISCREG_SDER, "SDER" },
323 // ArmISA::MISCREG_NSACR?
324 // ArmISA::MISCREG_HSCTLR?
325 // ArmISA::MISCREG_HACTLR?
326 // ArmISA::MISCREG_HCR?
327 // ArmISA::MISCREG_HDCR?
328 // ArmISA::MISCREG_HCPTR?
329 // ArmISA::MISCREG_HSTR?
330 // ArmISA::MISCREG_HACR?
331 // ArmISA::MISCREG_TTBR0?
332 // ArmISA::MISCREG_TTBR0_NS?
333 // ArmISA::MISCREG_TTBR0_S?
334 // ArmISA::MISCREG_TTBR1?
335 // ArmISA::MISCREG_TTBR1_NS?
336 // ArmISA::MISCREG_TTBR1_S?
337 // ArmISA::MISCREG_TTBCR?
338 // ArmISA::MISCREG_TTBCR_NS?
339 // ArmISA::MISCREG_TTBCR_S?
340 // ArmISA::MISCREG_HTCR?
341 // ArmISA::MISCREG_VTCR?
342 // ArmISA::MISCREG_DACR?
343 // ArmISA::MISCREG_DACR_NS?
344 // ArmISA::MISCREG_DACR_S?
345 // ArmISA::MISCREG_DFSR?
346 // ArmISA::MISCREG_DFSR_NS?
347 // ArmISA::MISCREG_DFSR_S?
348 // ArmISA::MISCREG_IFSR?
349 // ArmISA::MISCREG_IFSR_NS?
350 // ArmISA::MISCREG_IFSR_S?
351 // ArmISA::MISCREG_ADFSR?
352 // ArmISA::MISCREG_ADFSR_NS?
353 // ArmISA::MISCREG_ADFSR_S?
354 // ArmISA::MISCREG_AIFSR?
355 // ArmISA::MISCREG_AIFSR_NS?
356 // ArmISA::MISCREG_AIFSR_S?
357 // ArmISA::MISCREG_HADFSR?
358 // ArmISA::MISCREG_HAIFSR?
359 // ArmISA::MISCREG_HSR?
360 // ArmISA::MISCREG_DFAR?
361 // ArmISA::MISCREG_DFAR_NS?
362 // ArmISA::MISCREG_DFAR_S?
363 // ArmISA::MISCREG_IFAR?
364 // ArmISA::MISCREG_IFAR_NS?
365 // ArmISA::MISCREG_IFAR_S?
366 // ArmISA::MISCREG_HDFAR?
367 // ArmISA::MISCREG_HIFAR?
368 // ArmISA::MISCREG_HPFAR?
369 // ArmISA::MISCREG_ICIALLUIS?
370 // ArmISA::MISCREG_BPIALLIS?
371 // ArmISA::MISCREG_PAR?
372 // ArmISA::MISCREG_PAR_NS?
373 // ArmISA::MISCREG_PAR_S?
374 // ArmISA::MISCREG_ICIALLU?
375 // ArmISA::MISCREG_ICIMVAU?
376 // ArmISA::MISCREG_CP15ISB?
377 // ArmISA::MISCREG_BPIALL?
378 // ArmISA::MISCREG_BPIMVA?
379 // ArmISA::MISCREG_DCIMVAC?
380 // ArmISA::MISCREG_DCISW?
381 // ArmISA::MISCREG_ATS1CPR?
382 // ArmISA::MISCREG_ATS1CPW?
383 // ArmISA::MISCREG_ATS1CUR?
384 // ArmISA::MISCREG_ATS1CUW?
385 // ArmISA::MISCREG_ATS12NSOPR?
386 // ArmISA::MISCREG_ATS12NSOPW?
387 // ArmISA::MISCREG_ATS12NSOUR?
388 // ArmISA::MISCREG_ATS12NSOUW?
389 // ArmISA::MISCREG_DCCMVAC?
390 // ArmISA::MISCREG_DCCSW?
391 // ArmISA::MISCREG_CP15DSB?
392 // ArmISA::MISCREG_CP15DMB?
393 // ArmISA::MISCREG_DCCMVAU?
394 // ArmISA::MISCREG_DCCIMVAC?
395 // ArmISA::MISCREG_DCCISW?
396 // ArmISA::MISCREG_ATS1HR?
397 // ArmISA::MISCREG_ATS1HW?
398 // ArmISA::MISCREG_TLBIALLIS?
399 // ArmISA::MISCREG_TLBIMVAIS?
400 // ArmISA::MISCREG_TLBIASIDIS?
401 // ArmISA::MISCREG_TLBIMVAAIS?
402 // ArmISA::MISCREG_TLBIMVALIS?
403 // ArmISA::MISCREG_TLBIMVAALIS?
404 // ArmISA::MISCREG_ITLBIALL?
405 // ArmISA::MISCREG_ITLBIMVA?
406 // ArmISA::MISCREG_ITLBIASID?
407 // ArmISA::MISCREG_DTLBIALL?
408 // ArmISA::MISCREG_DTLBIMVA?
409 // ArmISA::MISCREG_DTLBIASID?
410 // ArmISA::MISCREG_TLBIALL?
411 // ArmISA::MISCREG_TLBIMVA?
412 // ArmISA::MISCREG_TLBIASID?
413 // ArmISA::MISCREG_TLBIMVAA?
414 // ArmISA::MISCREG_TLBIMVAL?
415 // ArmISA::MISCREG_TLBIMVAAL?
416 // ArmISA::MISCREG_TLBIIPAS2IS?
417 // ArmISA::MISCREG_TLBIIPAS2LIS?
418 // ArmISA::MISCREG_TLBIALLHIS?
419 // ArmISA::MISCREG_TLBIMVAHIS?
420 // ArmISA::MISCREG_TLBIALLNSNHIS?
421 // ArmISA::MISCREG_TLBIMVALHIS?
422 // ArmISA::MISCREG_TLBIIPAS2?
423 // ArmISA::MISCREG_TLBIIPAS2L?
424 // ArmISA::MISCREG_TLBIALLH?
425 // ArmISA::MISCREG_TLBIMVAH?
426 // ArmISA::MISCREG_TLBIALLNSNH?
427 // ArmISA::MISCREG_TLBIMVALH?
428 { ArmISA::MISCREG_PMCR, "PMCR" },
429 { ArmISA::MISCREG_PMCNTENSET, "PMCNTENSET" },
430 { ArmISA::MISCREG_PMCNTENCLR, "PMCNTENCLR" },
431 { ArmISA::MISCREG_PMOVSR, "PMOVSR" },
432 { ArmISA::MISCREG_PMSWINC, "PMSWINC" },
433 { ArmISA::MISCREG_PMSELR, "PMSELR" },
434 { ArmISA::MISCREG_PMCEID0, "PMCEID0" },
435 { ArmISA::MISCREG_PMCEID1, "PMCEID1" },
436 { ArmISA::MISCREG_PMCCNTR, "PMCCNTR" },
437 { ArmISA::MISCREG_PMXEVTYPER, "PMXEVTYPER" },
438 { ArmISA::MISCREG_PMCCFILTR, "PMCCFILTR" },
439 { ArmISA::MISCREG_PMXEVCNTR, "PMXEVCNTR" },
440 { ArmISA::MISCREG_PMUSERENR, "PMUSERENR" },
441 { ArmISA::MISCREG_PMINTENSET, "PMINTENSET" },
442 { ArmISA::MISCREG_PMINTENCLR, "PMINTENCLR" },
443 { ArmISA::MISCREG_PMOVSSET, "PMOVSSET" },
444 // ArmISA::MISCREG_L2CTLR?
445 // ArmISA::MISCREG_L2ECTLR?
446 // ArmISA::MISCREG_PRRR?
447 // ArmISA::MISCREG_PRRR_NS?
448 // ArmISA::MISCREG_PRRR_S?
449 // ArmISA::MISCREG_MAIR0?
450 // ArmISA::MISCREG_MAIR0_NS?
451 // ArmISA::MISCREG_MAIR0_S?
452 // ArmISA::MISCREG_NMRR?
453 // ArmISA::MISCREG_NMRR_NS?
454 // ArmISA::MISCREG_NMRR_S?
455 // ArmISA::MISCREG_MAIR1?
456 // ArmISA::MISCREG_MAIR1_NS?
457 // ArmISA::MISCREG_MAIR1_S?
458 // ArmISA::MISCREG_AMAIR0?
459 // ArmISA::MISCREG_AMAIR0_N?
460 // ArmISA::MISCREG_AMAIR0_S?
461 // ArmISA::MISCREG_AMAIR1?
462 // ArmISA::MISCREG_AMAIR1_NS?
463 // ArmISA::MISCREG_AMAIR1_S?
464 // ArmISA::MISCREG_HMAIR0?
465 // ArmISA::MISCREG_HMAIR1?
466 // ArmISA::MISCREG_HAMAIR0?
467 // ArmISA::MISCREG_HAMAIR1?
468 // ArmISA::MISCREG_VBAR?
469 // ArmISA::MISCREG_VBAR_NS?
470 // ArmISA::MISCREG_VBAR_S?
471 { ArmISA::MISCREG_MVBAR, "MVBAR" },
472 // ArmISA::MISCREG_RMR?
473 // ArmISA::MISCREG_ISR?
474 // ArmISA::MISCREG_HVBAR?
475 // ArmISA::MISCREG_FCSEIDR?
476 // ArmISA::MISCREG_CONTEXTIDR?
477 // ArmISA::MISCREG_CONTEXTIDR_NS?
478 // ArmISA::MISCREG_CONTEXTIDR_S?
479 // ArmISA::MISCREG_TPIDRURW?
480 // ArmISA::MISCREG_TPIDRURW_NS?
481 // ArmISA::MISCREG_TPIDRURW_S?
482 // ArmISA::MISCREG_TPIDRURO?
483 // ArmISA::MISCREG_TPIDRURO_NS?
484 // ArmISA::MISCREG_TPIDRURO_S?
485 // ArmISA::MISCREG_TPIDRPRW?
486 // ArmISA::MISCREG_TPIDRPRW_NS?
487 // ArmISA::MISCREG_TPIDRPRW_S?
488 // ArmISA::MISCREG_HTPIDR?
489 { ArmISA::MISCREG_CNTFRQ, "CNTFRQ" },
490 // ArmISA::MISCREG_CNTKCTL?
491 { ArmISA::MISCREG_CNTP_TVAL, "CNTP_TVAL" },
492 // ArmISA::MISCREG_CNTP_TVAL_NS?
493 // ArmISA::MISCREG_CNTP_TVAL_S?
494 { ArmISA::MISCREG_CNTP_CTL, "CNTP_CTL" },
495 // ArmISA::MISCREG_CNTP_CTL_NS?
496 // ArmISA::MISCREG_CNTP_CTL_S?
497 { ArmISA::MISCREG_CNTV_TVAL, "CNTV_TVAL" },
498 { ArmISA::MISCREG_CNTV_CTL, "CNTV_CTL" },
499 // ArmISA::MISCREG_CNTHCTL?
500 // ArmISA::MISCREG_CNTHP_TVAL?
501 // ArmISA::MISCREG_CNTHP_CTL?
502 // ArmISA::MISCREG_IL1DATA0?
503 // ArmISA::MISCREG_IL1DATA1?
504 // ArmISA::MISCREG_IL1DATA2?
505 // ArmISA::MISCREG_IL1DATA3?
506 // ArmISA::MISCREG_DL1DATA0?
507 // ArmISA::MISCREG_DL1DATA1?
508 // ArmISA::MISCREG_DL1DATA2?
509 // ArmISA::MISCREG_DL1DATA3?
510 // ArmISA::MISCREG_DL1DATA4?
511 // ArmISA::MISCREG_RAMINDEX?
512 // ArmISA::MISCREG_L2ACTLR?
513 // ArmISA::MISCREG_CBAR?
514 // ArmISA::MISCREG_HTTBR?
515 // ArmISA::MISCREG_VTTBR?
516 { ArmISA::MISCREG_CNTPCT, "CNTPCT" },
517 { ArmISA::MISCREG_CNTVCT, "CNTVCT" },
518 { ArmISA::MISCREG_CNTP_CVAL, "CNTP_CVAL" },
519 // ArmISA::MISCREG_CNTP_CVAL_NS?
520 // ArmISA::MISCREG_CNTP_CVAL_S?
521 { ArmISA::MISCREG_CNTV_CVAL, "CNTV_CVAL" },
522 { ArmISA::MISCREG_CNTVOFF, "CNTVOFF" },
523 // ArmISA::MISCREG_CNTHP_CVAL?
524 // ArmISA::MISCREG_CPUMERRSR?
525 // ArmISA::MISCREG_L2MERRSR?
526
527 // AArch64 registers (Op0=2)
528 { ArmISA::MISCREG_MDCCINT_EL1, "MDCCINT_EL1" },
529 { ArmISA::MISCREG_OSDTRRX_EL1, "OSDTRRX_EL1" },
530 { ArmISA::MISCREG_MDSCR_EL1, "MDSCR_EL1" },
531 { ArmISA::MISCREG_OSDTRTX_EL1, "OSDTRTX_EL1" },
532 { ArmISA::MISCREG_OSECCR_EL1, "OSECCR_EL1" },
533 { ArmISA::MISCREG_DBGBVR0_EL1, "DBGBVR0_EL1" },
534 { ArmISA::MISCREG_DBGBVR1_EL1, "DBGBVR1_EL1" },
535 { ArmISA::MISCREG_DBGBVR2_EL1, "DBGBVR2_EL1" },
536 { ArmISA::MISCREG_DBGBVR3_EL1, "DBGBVR3_EL1" },
537 { ArmISA::MISCREG_DBGBVR4_EL1, "DBGBVR4_EL1" },
538 { ArmISA::MISCREG_DBGBVR5_EL1, "DBGBVR5_EL1" },
539 { ArmISA::MISCREG_DBGBCR0_EL1, "DBGBCR0_EL1" },
540 { ArmISA::MISCREG_DBGBCR1_EL1, "DBGBCR1_EL1" },
541 { ArmISA::MISCREG_DBGBCR2_EL1, "DBGBCR2_EL1" },
542 { ArmISA::MISCREG_DBGBCR3_EL1, "DBGBCR3_EL1" },
543 { ArmISA::MISCREG_DBGBCR4_EL1, "DBGBCR4_EL1" },
544 { ArmISA::MISCREG_DBGBCR5_EL1, "DBGBCR5_EL1" },
545 { ArmISA::MISCREG_DBGWVR0_EL1, "DBGWVR0_EL1" },
546 { ArmISA::MISCREG_DBGWVR1_EL1, "DBGWVR1_EL1" },
547 { ArmISA::MISCREG_DBGWVR2_EL1, "DBGWVR2_EL1" },
548 { ArmISA::MISCREG_DBGWVR3_EL1, "DBGWVR3_EL1" },
549 { ArmISA::MISCREG_DBGWCR0_EL1, "DBGWCR0_EL1" },
550 { ArmISA::MISCREG_DBGWCR1_EL1, "DBGWCR1_EL1" },
551 { ArmISA::MISCREG_DBGWCR2_EL1, "DBGWCR2_EL1" },
552 { ArmISA::MISCREG_DBGWCR3_EL1, "DBGWCR3_EL1" },
553 { ArmISA::MISCREG_MDCCSR_EL0, "MDCCSR_EL0" },
554 // ArmISA::MISCREG_MDDTR_EL0?
555 // ArmISA::MISCREG_MDDTRTX_EL0?
556 // ArmISA::MISCREG_MDDTRRX_EL0?
557 // ArmISA::MISCREG_DBGVCR32_EL2?
558 { ArmISA::MISCREG_MDRAR_EL1, "MDRAR_EL1" },
559 { ArmISA::MISCREG_OSLAR_EL1, "OSLAR_EL1" },
560 { ArmISA::MISCREG_OSLSR_EL1, "OSLSR_EL1" },
561 { ArmISA::MISCREG_OSDLR_EL1, "OSDLR_EL1" },
562 { ArmISA::MISCREG_DBGPRCR_EL1, "DBGPRCR_EL1" },
563 { ArmISA::MISCREG_DBGCLAIMSET_EL1, "DBGCLAIMSET_EL1" },
564 { ArmISA::MISCREG_DBGCLAIMCLR_EL1, "DBGCLAIMCLR_EL1" },
565 { ArmISA::MISCREG_DBGAUTHSTATUS_EL1, "DBGAUTHSTATUS_EL1" },
566 // ArmISA::MISCREG_TEECR32_EL1? not in ARM DDI 0487A.b+
567 // ArmISA::MISCREG_TEEHBR32_EL1? not in ARM DDI 0487A.b+
568
569 // AArch64 registers (Op0=1)
570 { ArmISA::MISCREG_MIDR_EL1, "MIDR_EL1" },
571 { ArmISA::MISCREG_MPIDR_EL1, "MPIDR_EL1" },
572 { ArmISA::MISCREG_REVIDR_EL1, "REVIDR_EL1" },
573 { ArmISA::MISCREG_ID_PFR0_EL1, "ID_PFR0_EL1" },
574 { ArmISA::MISCREG_ID_PFR1_EL1, "ID_PFR1_EL1" },
575 { ArmISA::MISCREG_ID_DFR0_EL1, "ID_DFR0_EL1" },
576 { ArmISA::MISCREG_ID_AFR0_EL1, "ID_AFR0_EL1" },
577 { ArmISA::MISCREG_ID_MMFR0_EL1, "ID_MMFR0_EL1" },
578 { ArmISA::MISCREG_ID_MMFR1_EL1, "ID_MMFR1_EL1" },
579 { ArmISA::MISCREG_ID_MMFR2_EL1, "ID_MMFR2_EL1" },
580 { ArmISA::MISCREG_ID_MMFR3_EL1, "ID_MMFR3_EL1" },
581 { ArmISA::MISCREG_ID_MMFR4_EL1, "ID_MMFR4_EL1" },
582 { ArmISA::MISCREG_ID_ISAR0_EL1, "ID_ISAR0_EL1" },
583 { ArmISA::MISCREG_ID_ISAR1_EL1, "ID_ISAR1_EL1" },
584 { ArmISA::MISCREG_ID_ISAR2_EL1, "ID_ISAR2_EL1" },
585 { ArmISA::MISCREG_ID_ISAR3_EL1, "ID_ISAR3_EL1" },
586 { ArmISA::MISCREG_ID_ISAR4_EL1, "ID_ISAR4_EL1" },
587 { ArmISA::MISCREG_ID_ISAR5_EL1, "ID_ISAR5_EL1" },
588 { ArmISA::MISCREG_ID_ISAR6_EL1, "ID_ISAR6_EL1" },
589 { ArmISA::MISCREG_MVFR0_EL1, "MVFR0_EL1" },
590 { ArmISA::MISCREG_MVFR1_EL1, "MVFR1_EL1" },
591 { ArmISA::MISCREG_MVFR2_EL1, "MVFR2_EL1" },
592 { ArmISA::MISCREG_ID_AA64PFR0_EL1, "ID_AA64PFR0_EL1" },
593 { ArmISA::MISCREG_ID_AA64PFR1_EL1, "ID_AA64PFR1_EL1" },
594 { ArmISA::MISCREG_ID_AA64DFR0_EL1, "ID_AA64DFR0_EL1" },
595 { ArmISA::MISCREG_ID_AA64DFR1_EL1, "ID_AA64DFR1_EL1" },
596 { ArmISA::MISCREG_ID_AA64AFR0_EL1, "ID_AA64AFR0_EL1" },
597 { ArmISA::MISCREG_ID_AA64AFR1_EL1, "ID_AA64AFR1_EL1" },
598 { ArmISA::MISCREG_ID_AA64ISAR0_EL1, "ID_AA64ISAR0_EL1" },
599 { ArmISA::MISCREG_ID_AA64ISAR1_EL1, "ID_AA64ISAR1_EL1" },
600 { ArmISA::MISCREG_ID_AA64MMFR0_EL1, "ID_AA64MMFR0_EL1" },
601 { ArmISA::MISCREG_ID_AA64MMFR1_EL1, "ID_AA64MMFR1_EL1" },
602 { ArmISA::MISCREG_CCSIDR_EL1, "CCSIDR_EL1" },
603 { ArmISA::MISCREG_CLIDR_EL1, "CLIDR_EL1" },
604 { ArmISA::MISCREG_AIDR_EL1, "AIDR_EL1" },
605 { ArmISA::MISCREG_CSSELR_EL1, "CSSELR_EL1" },
606 { ArmISA::MISCREG_CTR_EL0, "CTR_EL0" },
607 { ArmISA::MISCREG_DCZID_EL0, "DCZID_EL0" },
608 { ArmISA::MISCREG_VPIDR_EL2, "VPIDR_EL2" },
609 { ArmISA::MISCREG_VMPIDR_EL2, "VMPIDR_EL2" },
610 { ArmISA::MISCREG_SCTLR_EL1, "SCTLR_EL1" },
611 { ArmISA::MISCREG_ACTLR_EL1, "ACTLR_EL1" },
612 { ArmISA::MISCREG_CPACR_EL1, "CPACR_EL1" },
613 { ArmISA::MISCREG_SCTLR_EL2, "SCTLR_EL2" },
614 { ArmISA::MISCREG_ACTLR_EL2, "ACTLR_EL2" },
615 { ArmISA::MISCREG_HCR_EL2, "HCR_EL2" },
616 { ArmISA::MISCREG_MDCR_EL2, "MDCR_EL2" },
617 { ArmISA::MISCREG_CPTR_EL2, "CPTR_EL2" },
618 { ArmISA::MISCREG_HSTR_EL2, "HSTR_EL2" },
619 { ArmISA::MISCREG_HACR_EL2, "HACR_EL2" },
620 { ArmISA::MISCREG_SCTLR_EL3, "SCTLR_EL3" },
621 { ArmISA::MISCREG_ACTLR_EL3, "ACTLR_EL3" },
622 { ArmISA::MISCREG_SCR_EL3, "SCR_EL3" },
623 // ArmISA::MISCREG_SDER32_EL3?
624 { ArmISA::MISCREG_CPTR_EL3, "CPTR_EL3" },
625 { ArmISA::MISCREG_MDCR_EL3, "MDCR_EL3" },
626 { ArmISA::MISCREG_TTBR0_EL1, "TTBR0_EL1" },
627 { ArmISA::MISCREG_TTBR1_EL1, "TTBR1_EL1" },
628 { ArmISA::MISCREG_TCR_EL1, "TCR_EL1" },
629 { ArmISA::MISCREG_TTBR0_EL2, "TTBR0_EL2" },
630 { ArmISA::MISCREG_TCR_EL2, "TCR_EL2" },
631 { ArmISA::MISCREG_VTTBR_EL2, "VTTBR_EL2" },
632 { ArmISA::MISCREG_VTCR_EL2, "VTCR_EL2" },
633 { ArmISA::MISCREG_TTBR0_EL3, "TTBR0_EL3" },
634 { ArmISA::MISCREG_TCR_EL3, "TCR_EL3" },
635 // ArmISA::MISCREG_DACR32_EL2?
636 { ArmISA::MISCREG_SPSR_EL1, "SPSR_EL1" },
637 { ArmISA::MISCREG_ELR_EL1, "ELR_EL1" },
638 { ArmISA::MISCREG_SP_EL0, "SP_EL0" },
639 // ArmISA::MISCREG_SPSEL?
640 // ArmISA::MISCREG_CURRENTEL?
641 // ArmISA::MISCREG_NZCV?
642 // ArmISA::MISCREG_DAIF?
643 { ArmISA::MISCREG_FPCR, "FPCR" },
644 { ArmISA::MISCREG_FPSR, "FPSR" },
645 { ArmISA::MISCREG_DSPSR_EL0, "DSPSR_EL0" },
646 { ArmISA::MISCREG_DLR_EL0, "DLR_EL0" },
647 { ArmISA::MISCREG_SPSR_EL2, "SPSR_EL2" },
648 { ArmISA::MISCREG_ELR_EL2, "ELR_EL2" },
649 { ArmISA::MISCREG_SP_EL1, "SP_EL1" },
650 // ArmISA::MISCREG_SPSR_IRQ_AA64?
651 // ArmISA::MISCREG_SPSR_ABT_AA64?
652 // ArmISA::MISCREG_SPSR_UND_AA64?
653 // ArmISA::MISCREG_SPSR_FIQ_AA64?
654 { ArmISA::MISCREG_SPSR_EL3, "SPSR_EL3" },
655 { ArmISA::MISCREG_ELR_EL3, "ELR_EL3" },
656 { ArmISA::MISCREG_SP_EL2, "SP_EL2" },
657 { ArmISA::MISCREG_AFSR0_EL1, "AFSR0_EL1" },
658 { ArmISA::MISCREG_AFSR1_EL1, "AFSR1_EL1" },
659 { ArmISA::MISCREG_ESR_EL1, "ESR_EL1" },
660 // ArmISA::MISCREG_IFSR32_EL2?
661 { ArmISA::MISCREG_AFSR0_EL2, "AFSR0_EL2" },
662 { ArmISA::MISCREG_AFSR1_EL2, "AFSR1_EL2" },
663 { ArmISA::MISCREG_ESR_EL2, "ESR_EL2" },
664 // ArmISA::MISCREG_FPEXC32_EL2?
665 { ArmISA::MISCREG_AFSR0_EL3, "AFSR0_EL3" },
666 { ArmISA::MISCREG_AFSR1_EL3, "AFSR1_EL3" },
667 { ArmISA::MISCREG_ESR_EL3, "ESR_EL3" },
668 { ArmISA::MISCREG_FAR_EL1, "FAR_EL1" },
669 { ArmISA::MISCREG_FAR_EL2, "FAR_EL2" },
670 { ArmISA::MISCREG_HPFAR_EL2, "HPFAR_EL2" },
671 { ArmISA::MISCREG_FAR_EL3, "FAR_EL3" },
672 { ArmISA::MISCREG_IC_IALLUIS, "IC IALLUIS" },
673 { ArmISA::MISCREG_PAR_EL1, "PAR_EL1" },
674 { ArmISA::MISCREG_IC_IALLU, "IC IALLU" },
675 { ArmISA::MISCREG_DC_IVAC_Xt, "DC IVAC" }, //XXX verify
676 { ArmISA::MISCREG_DC_ISW_Xt, "DC ISW" }, //XXX verify
677 { ArmISA::MISCREG_AT_S1E1R_Xt, "AT S1E1R" }, //XXX verify
678 { ArmISA::MISCREG_AT_S1E1W_Xt, "AT S1E1W" }, //XXX verify
679 { ArmISA::MISCREG_AT_S1E0R_Xt, "AT S1E0R" }, //XXX verify
680 { ArmISA::MISCREG_AT_S1E0W_Xt, "AT S1E0W" }, //XXX verify
681 { ArmISA::MISCREG_DC_CSW_Xt, "DC CSW" }, //XXX verify
682 { ArmISA::MISCREG_DC_CISW_Xt, "DC CISW" }, //XXX verify
683 { ArmISA::MISCREG_DC_ZVA_Xt, "DC ZVA" }, //XXX verify
684 { ArmISA::MISCREG_IC_IVAU_Xt, "IC IVAU" }, //XXX verify
685 { ArmISA::MISCREG_DC_CVAC_Xt, "DC CVAC" }, //XXX verify
686 { ArmISA::MISCREG_DC_CVAU_Xt, "DC CVAU" }, //XXX verify
687 { ArmISA::MISCREG_DC_CIVAC_Xt, "DC CIVAC" }, //XXX verify
688 { ArmISA::MISCREG_AT_S1E2R_Xt, "AT S1E2R" }, //XXX verify
689 { ArmISA::MISCREG_AT_S1E2W_Xt, "AT S1E2W" }, //XXX verify
690 { ArmISA::MISCREG_AT_S12E1R_Xt, "AT S12E1R" }, //XXX verify
691 { ArmISA::MISCREG_AT_S12E1W_Xt, "AT S12E1W" }, //XXX verify
692 { ArmISA::MISCREG_AT_S12E0R_Xt, "AT S12E0R" }, //XXX verify
693 { ArmISA::MISCREG_AT_S12E0W_Xt, "AT S12E0W" }, //XXX verify
694 { ArmISA::MISCREG_AT_S1E3R_Xt, "AT S1E3R" }, //XXX verify
695 { ArmISA::MISCREG_AT_S1E3W_Xt, "AT S1E3W" }, //XXX verify
696 { ArmISA::MISCREG_TLBI_VMALLE1IS, "TLBI VMALLE1IS" },
697 { ArmISA::MISCREG_TLBI_VAE1IS_Xt, "TLBI VAE1IS" }, //XXX verify
698 { ArmISA::MISCREG_TLBI_ASIDE1IS_Xt, "TLBI ASIDE1IS" }, //XXX verify
699 { ArmISA::MISCREG_TLBI_VAAE1IS_Xt, "TLBI VAAE1IS" }, //XXX verify
700 { ArmISA::MISCREG_TLBI_VALE1IS_Xt, "TLBI VALE1IS" }, //XXX verify
701 { ArmISA::MISCREG_TLBI_VAALE1IS_Xt, "TLBI VAALE1IS" }, //XXX verify
702 { ArmISA::MISCREG_TLBI_VMALLE1, "TLBI VMALLE1" },
703 { ArmISA::MISCREG_TLBI_VAE1_Xt, "TLBI VAE1" }, //XXX verify
704 { ArmISA::MISCREG_TLBI_ASIDE1_Xt, "TLBI ASIDE1" }, //XXX verify
705 { ArmISA::MISCREG_TLBI_VAAE1_Xt, "TLBI VAAE1" }, //XXX verify
706 { ArmISA::MISCREG_TLBI_VALE1_Xt, "TLBI VALE1" }, //XXX verify
707 { ArmISA::MISCREG_TLBI_VAALE1_Xt, "TLBI VAALE1" }, //XXX verify
708 { ArmISA::MISCREG_TLBI_IPAS2E1IS_Xt, "TLBI IPAS2E1IS" }, //XXX verify
709 { ArmISA::MISCREG_TLBI_IPAS2LE1IS_Xt, "TLBI IPAS2LE1IS" }, //XXX verify
710 { ArmISA::MISCREG_TLBI_ALLE2IS, "TLBI ALLE2IS" },
711 { ArmISA::MISCREG_TLBI_VAE2IS_Xt, "TLBI VAE2IS" }, //XXX verify
712 { ArmISA::MISCREG_TLBI_ALLE1IS, "TLBI ALLE1IS" },
713 { ArmISA::MISCREG_TLBI_VALE2IS_Xt, "TLBI VALE2IS" }, //XXX verify
714 { ArmISA::MISCREG_TLBI_VMALLS12E1IS, "TLBI VMALLS12E1IS" },
715 { ArmISA::MISCREG_TLBI_IPAS2E1_Xt, "TLBI IPAS2E1" }, //XXX verify
716 { ArmISA::MISCREG_TLBI_IPAS2LE1_Xt, "TLBI IPAS2LE1" }, //XXX verify
717 { ArmISA::MISCREG_TLBI_ALLE2, "TLBI ALLE2" },
718 { ArmISA::MISCREG_TLBI_VAE2_Xt, "TLBI VAE2" }, //XXX verify
719 { ArmISA::MISCREG_TLBI_ALLE1, "TLBI ALLE1" },
720 { ArmISA::MISCREG_TLBI_VALE2_Xt, "TLBI VALE2" }, //XXX verify
721 { ArmISA::MISCREG_TLBI_VMALLS12E1, "TLBI VMALLS12E1" },
722 { ArmISA::MISCREG_TLBI_ALLE3IS, "TLBI ALLE3IS" },
723 { ArmISA::MISCREG_TLBI_VAE3IS_Xt, "TLBI VAE3IS" }, //XXX verify
724 { ArmISA::MISCREG_TLBI_VALE3IS_Xt, "TLBI VALE3IS" }, //XXX verify
725 { ArmISA::MISCREG_TLBI_ALLE3, "TLBI ALLE3" },
726 { ArmISA::MISCREG_TLBI_VAE3_Xt, "TLBI VAE3" }, //XXX verify
727 { ArmISA::MISCREG_TLBI_VALE3_Xt, "TLBI VALE3" }, //XXX verify
728 { ArmISA::MISCREG_PMINTENSET_EL1, "PMINTENSET_EL1" },
729 { ArmISA::MISCREG_PMINTENCLR_EL1, "PMINTENCLR_EL1" },
730 { ArmISA::MISCREG_PMCR_EL0, "PMCR_EL0" },
731 { ArmISA::MISCREG_PMCNTENSET_EL0, "PMCNTENSET_EL0" },
732 { ArmISA::MISCREG_PMCNTENCLR_EL0, "PMCNTENCLR_EL0" },
733 { ArmISA::MISCREG_PMOVSCLR_EL0, "PMOVSCLR_EL0" },
734 { ArmISA::MISCREG_PMSWINC_EL0, "PMSWINC_EL0" },
735 { ArmISA::MISCREG_PMSELR_EL0, "PMSELR_EL0" },
736 { ArmISA::MISCREG_PMCEID0_EL0, "PMCEID0_EL0" },
737 { ArmISA::MISCREG_PMCEID1_EL0, "PMCEID1_EL0" },
738 { ArmISA::MISCREG_PMCCNTR_EL0, "PMCCNTR_EL0" },
739 { ArmISA::MISCREG_PMXEVTYPER_EL0, "PMXEVTYPER_EL0" },
740 { ArmISA::MISCREG_PMCCFILTR_EL0, "PMCCFILTR_EL0" },
741 { ArmISA::MISCREG_PMXEVCNTR_EL0, "PMXEVCNTR_EL0" },
742 { ArmISA::MISCREG_PMUSERENR_EL0, "PMUSERENR_EL0" },
743 { ArmISA::MISCREG_PMOVSSET_EL0, "PMOVSSET_EL0" },
744 { ArmISA::MISCREG_MAIR_EL1, "MAIR_EL1" },
745 { ArmISA::MISCREG_AMAIR_EL1, "AMAIR_EL1" },
746 { ArmISA::MISCREG_MAIR_EL2, "MAIR_EL2" },
747 { ArmISA::MISCREG_AMAIR_EL2, "AMAIR_EL2" },
748 { ArmISA::MISCREG_MAIR_EL3, "MAIR_EL3" },
749 { ArmISA::MISCREG_AMAIR_EL3, "AMAIR_EL3" },
750 // ArmISA::MISCREG_L2CTLR_EL1?
751 // ArmISA::MISCREG_L2ECTLR_EL1?
752 { ArmISA::MISCREG_VBAR_EL1, "VBAR_EL1" },
753 // ArmISA::MISCREG_RVBAR_EL1?
754 { ArmISA::MISCREG_ISR_EL1, "ISR_EL1" },
755 { ArmISA::MISCREG_VBAR_EL2, "VBAR_EL2" },
756 // ArmISA::MISCREG_RVBAR_EL2?
757 { ArmISA::MISCREG_VBAR_EL3, "VBAR_EL3" },
758 { ArmISA::MISCREG_RVBAR_EL3, "RVBAR_EL3" },
759 { ArmISA::MISCREG_RMR_EL3, "RMR_EL3" },
760 { ArmISA::MISCREG_CONTEXTIDR_EL1, "CONTEXTIDR_EL1" },
761 { ArmISA::MISCREG_TPIDR_EL1, "TPIDR_EL1" },
762 { ArmISA::MISCREG_TPIDR_EL0, "TPIDR_EL0" },
763 { ArmISA::MISCREG_TPIDRRO_EL0, "TPIDRRO_EL0" },
764 { ArmISA::MISCREG_TPIDR_EL2, "TPIDR_EL2" },
765 { ArmISA::MISCREG_TPIDR_EL3, "TPIDR_EL3" },
766 { ArmISA::MISCREG_CNTKCTL_EL1, "CNTKCTL_EL1" },
767 { ArmISA::MISCREG_CNTFRQ_EL0, "CNTFRQ_EL0" },
768 { ArmISA::MISCREG_CNTPCT_EL0, "CNTPCT_EL0" },
769 { ArmISA::MISCREG_CNTVCT_EL0, "CNTVCT_EL0" },
770 { ArmISA::MISCREG_CNTP_TVAL_EL0, "CNTP_TVAL_EL0" },
771 { ArmISA::MISCREG_CNTP_CTL_EL0, "CNTP_CTL_EL0" },
772 { ArmISA::MISCREG_CNTP_CVAL_EL0, "CNTP_CVAL_EL0" },
773 { ArmISA::MISCREG_CNTV_TVAL_EL0, "CNTV_TVAL_EL0" },
774 { ArmISA::MISCREG_CNTV_CTL_EL0, "CNTV_CTL_EL0" },
775 { ArmISA::MISCREG_CNTV_CVAL_EL0, "CNTV_CVAL_EL0" },
776 { ArmISA::MISCREG_PMEVCNTR0_EL0, "PMEVCNTR0_EL0" },
777 { ArmISA::MISCREG_PMEVCNTR1_EL0, "PMEVCNTR1_EL0" },
778 { ArmISA::MISCREG_PMEVCNTR2_EL0, "PMEVCNTR2_EL0" },
779 { ArmISA::MISCREG_PMEVCNTR3_EL0, "PMEVCNTR3_EL0" },
780 { ArmISA::MISCREG_PMEVCNTR4_EL0, "PMEVCNTR4_EL0" },
781 { ArmISA::MISCREG_PMEVCNTR5_EL0, "PMEVCNTR5_EL0" },
782 { ArmISA::MISCREG_PMEVTYPER0_EL0, "PMEVTYPER0_EL0" },
783 { ArmISA::MISCREG_PMEVTYPER1_EL0, "PMEVTYPER1_EL0" },
784 { ArmISA::MISCREG_PMEVTYPER2_EL0, "PMEVTYPER2_EL0" },
785 { ArmISA::MISCREG_PMEVTYPER3_EL0, "PMEVTYPER3_EL0" },
786 { ArmISA::MISCREG_PMEVTYPER4_EL0, "PMEVTYPER4_EL0" },
787 { ArmISA::MISCREG_PMEVTYPER5_EL0, "PMEVTYPER5_EL0" },
788 { ArmISA::MISCREG_CNTVOFF_EL2, "CNTVOFF_EL2" },
789 { ArmISA::MISCREG_CNTHCTL_EL2, "CNTHCTL_EL2" },
790 { ArmISA::MISCREG_CNTHP_TVAL_EL2, "CNTHP_TVAL_EL2" },
791 { ArmISA::MISCREG_CNTHP_CTL_EL2, "CNTHP_CTL_EL2" },
792 { ArmISA::MISCREG_CNTHP_CVAL_EL2, "CNTHP_CVAL_EL2" },
793 { ArmISA::MISCREG_CNTPS_TVAL_EL1, "CNTPS_TVAL_EL1" },
794 { ArmISA::MISCREG_CNTPS_CTL_EL1, "CNTPS_CTL_EL1" },
795 { ArmISA::MISCREG_CNTPS_CVAL_EL1, "CNTPS_CVAL_EL1" },
796 // ArmISA::MISCREG_IL1DATA0_EL1?
797 // ArmISA::MISCREG_IL1DATA1_EL1?
798 // ArmISA::MISCREG_IL1DATA2_EL1?
799 // ArmISA::MISCREG_IL1DATA3_EL1?
800 // ArmISA::MISCREG_DL1DATA0_EL1?
801 // ArmISA::MISCREG_DL1DATA1_EL1?
802 // ArmISA::MISCREG_DL1DATA2_EL1?
803 // ArmISA::MISCREG_DL1DATA3_EL1?
804 // ArmISA::MISCREG_DL1DATA4_EL1?
805 // ArmISA::MISCREG_L2ACTLR_EL1?
806 { ArmISA::MISCREG_CPUACTLR_EL1, "CPUACTLR_EL1" },
807 { ArmISA::MISCREG_CPUECTLR_EL1, "CPUECTLR_EL1" },
808 // ArmISA::MISCREG_CPUMERRSR_EL1?
809 // ArmISA::MISCREG_L2MERRSR_EL1?
810 // ArmISA::MISCREG_CBAR_EL1?
811 { ArmISA::MISCREG_CONTEXTIDR_EL2, "CONTEXTIDR_EL2" },
812
813 // Introduced in ARMv8.1
814 { ArmISA::MISCREG_TTBR1_EL2, "TTBR1_EL2" },
815 { ArmISA::MISCREG_CNTHV_CTL_EL2, "CNTHV_CTL_EL2" },
816 { ArmISA::MISCREG_CNTHV_CVAL_EL2, "CNTHV_CVAL_EL2" },
817 { ArmISA::MISCREG_CNTHV_TVAL_EL2, "CNTHV_TVAL_EL2" },
818
819 // RAS extension (unimplemented)
820 { ArmISA::MISCREG_ERRIDR_EL1, "ERRIDR_EL1" },
821 { ArmISA::MISCREG_ERRSELR_EL1, "ERRSELR_EL1" },
822 { ArmISA::MISCREG_ERXFR_EL1, "ERXFR_EL1" },
823 { ArmISA::MISCREG_ERXCTLR_EL1, "ERXCTLR_EL1" },
824 { ArmISA::MISCREG_ERXSTATUS_EL1, "ERXSTATUS_EL1" },
825 { ArmISA::MISCREG_ERXADDR_EL1, "ERXADDR_EL1" },
826 { ArmISA::MISCREG_ERXMISC0_EL1, "ERXMISC0_EL1" },
827 { ArmISA::MISCREG_ERXMISC1_EL1, "ERXMISC1_EL1" },
828 { ArmISA::MISCREG_DISR_EL1, "DISR_EL1" },
829 { ArmISA::MISCREG_VSESR_EL2, "VSESR_EL2" },
830 { ArmISA::MISCREG_VDISR_EL2, "VDISR_EL2" }
831});
832
834 { ArmISA::int_reg::R0, "R0" },
835 { ArmISA::int_reg::R1, "R1" },
836 { ArmISA::int_reg::R2, "R2" },
837 { ArmISA::int_reg::R3, "R3" },
838 { ArmISA::int_reg::R4, "R4" },
839 { ArmISA::int_reg::R5, "R5" },
840 { ArmISA::int_reg::R6, "R6" },
841 { ArmISA::int_reg::R7, "R7" },
842 { ArmISA::int_reg::R8, "R8" },
843 { ArmISA::int_reg::R9, "R9" },
844 { ArmISA::int_reg::R10, "R10" },
845 { ArmISA::int_reg::R11, "R11" },
846 { ArmISA::int_reg::R12, "R12" },
847 { ArmISA::int_reg::R13, "R13" },
848 { ArmISA::int_reg::R14, "R14" },
849 { ArmISA::int_reg::R15, "R15" }
850});
851
853 { ArmISA::int_reg::X0, "X0" },
854 { ArmISA::int_reg::X1, "X1" },
855 { ArmISA::int_reg::X2, "X2" },
856 { ArmISA::int_reg::X3, "X3" },
857 { ArmISA::int_reg::X4, "X4" },
858 { ArmISA::int_reg::X5, "X5" },
859 { ArmISA::int_reg::X6, "X6" },
860 { ArmISA::int_reg::X7, "X7" },
861 { ArmISA::int_reg::X8, "X8" },
862 { ArmISA::int_reg::X9, "X9" },
863 { ArmISA::int_reg::X10, "X10" },
864 { ArmISA::int_reg::X11, "X11" },
865 { ArmISA::int_reg::X12, "X12" },
866 { ArmISA::int_reg::X13, "X13" },
867 { ArmISA::int_reg::X14, "X14" },
868 { ArmISA::int_reg::X15, "X15" },
869 { ArmISA::int_reg::X16, "X16" },
870 { ArmISA::int_reg::X17, "X17" },
871 { ArmISA::int_reg::X18, "X18" },
872 { ArmISA::int_reg::X19, "X19" },
873 { ArmISA::int_reg::X20, "X20" },
874 { ArmISA::int_reg::X21, "X21" },
875 { ArmISA::int_reg::X22, "X22" },
876 { ArmISA::int_reg::X23, "X23" },
877 { ArmISA::int_reg::X24, "X24" },
878 { ArmISA::int_reg::X25, "X25" },
879 { ArmISA::int_reg::X26, "X26" },
880 { ArmISA::int_reg::X27, "X27" },
881 { ArmISA::int_reg::X28, "X28" },
882 { ArmISA::int_reg::X29, "X29" },
883 { ArmISA::int_reg::X30, "X30" },
884 { ArmISA::int_reg::Spx, "SP" },
885});
886
888 { ArmISA::int_reg::R0, "X0" },
889 { ArmISA::int_reg::R1, "X1" },
890 { ArmISA::int_reg::R2, "X2" },
891 { ArmISA::int_reg::R3, "X3" },
892 { ArmISA::int_reg::R4, "X4" },
893 { ArmISA::int_reg::R5, "X5" },
894 { ArmISA::int_reg::R6, "X6" },
895 { ArmISA::int_reg::R7, "X7" },
896 { ArmISA::int_reg::R8, "X8" },
897 { ArmISA::int_reg::R9, "X9" },
898 { ArmISA::int_reg::R10, "X10" },
899 { ArmISA::int_reg::R11, "X11" },
900 { ArmISA::int_reg::R12, "X12" },
901 { ArmISA::int_reg::R13, "X13" },
902 { ArmISA::int_reg::R14, "X14" },
903 // Skip PC.
904 { ArmISA::int_reg::R13Svc, "X19" },
905 { ArmISA::int_reg::R14Svc, "X18" },
906 { ArmISA::int_reg::R13Mon, "R13" }, // Need to be in monitor mode?
907 { ArmISA::int_reg::R14Mon, "R14" }, // Need to be in monitor mode?
908 { ArmISA::int_reg::R13Hyp, "X15" },
909 { ArmISA::int_reg::R13Abt, "X21" },
910 { ArmISA::int_reg::R14Abt, "X20" },
911 { ArmISA::int_reg::R13Und, "X23" },
912 { ArmISA::int_reg::R14Und, "X22" },
913 { ArmISA::int_reg::R13Irq, "X17" },
914 { ArmISA::int_reg::R14Irq, "X16" },
915 { ArmISA::int_reg::R8Fiq, "X24" },
916 { ArmISA::int_reg::R9Fiq, "X25" },
917 { ArmISA::int_reg::R10Fiq, "X26" },
918 { ArmISA::int_reg::R11Fiq, "X27" },
919 { ArmISA::int_reg::R12Fiq, "X28" },
920 { ArmISA::int_reg::R13Fiq, "X29" },
921 { ArmISA::int_reg::R14Fiq, "X30" },
922 // Skip zero, ureg0-2, and dummy regs.
923 { ArmISA::int_reg::Sp0, "SP_EL0" },
924 { ArmISA::int_reg::Sp1, "SP_EL1" },
925 { ArmISA::int_reg::Sp2, "SP_EL2" },
926 { ArmISA::int_reg::Sp3, "SP_EL3" },
927});
928
930 { ArmISA::cc_reg::Nz, "CPSR" },
931 { ArmISA::cc_reg::C, "CPSR.C" },
932 { ArmISA::cc_reg::V, "CPSR.V" },
933 { ArmISA::cc_reg::Ge, "CPSR.GE" },
934 { ArmISA::cc_reg::Fp, "FPSCR" },
935});
936
938 { 0, "V0" }, { 1, "V1" }, { 2, "V2" }, { 3, "V3" },
939 { 4, "V4" }, { 5, "V5" }, { 6, "V6" }, { 7, "V7" },
940 { 8, "V8" }, { 9, "V9" }, { 10, "V10" }, { 11, "V11" },
941 { 12, "V12" }, { 13, "V13" }, { 14, "V14" }, { 15, "V15" },
942 { 16, "V16" }, { 17, "V17" }, { 18, "V18" }, { 19, "V19" },
943 { 20, "V20" }, { 21, "V21" }, { 22, "V22" }, { 23, "V23" },
944 { 24, "V24" }, { 25, "V25" }, { 26, "V26" }, { 27, "V27" },
945 { 28, "V28" }, { 29, "V29" }, { 30, "V30" }, { 31, "V31" }
946});
947
949
950} // namespace fastmodel
951} // namespace gem5
virtual RegVal readCCRegFlat(RegIndex idx) const
void extractResourceMap(ResourceIds &ids, const ResourceMap &resources, const IdxNameMap &idx_names)
void setMiscReg(RegIndex misc_reg, const RegVal val) override
std::map< std::string, iris::ResourceInfo > ResourceMap
std::map< int, std::string > IdxNameMap
iris::MemorySpaceId getMemorySpaceId(const Iris::CanonicalMsn &msn) const
RegVal readMiscRegNoEffect(RegIndex misc_reg) const override
iris::ResourceId extractResourceId(const ResourceMap &resources, const std::string &name)
virtual void setCCRegFlat(RegIndex idx, RegVal val)
ThreadContext is the external interface to all thread state for anything outside of the CPU.
static IdxNameMap intReg32IdxNameMap
static IdxNameMap vecRegIdxNameMap
const std::vector< iris::MemorySpaceId > & getBpSpaceIds() const override
CortexA76TC(gem5::BaseCPU *cpu, int id, System *system, gem5::BaseMMU *mmu, gem5::BaseISA *isa, iris::IrisConnectionInterface *iris_if, const std::string &iris_path)
void setIntRegFlat(RegIndex idx, RegVal val) override
void setCCRegFlat(RegIndex idx, RegVal val) override
RegVal readIntRegFlat(RegIndex idx) const override
static IdxNameMap flattenedIntIdxNameMap
static IdxNameMap intReg64IdxNameMap
void initFromIrisInstance(const ResourceMap &resources) override
static IdxNameMap miscRegIdxNameMap
static std::vector< iris::MemorySpaceId > bpSpaceIds
static IdxNameMap ccRegIdxNameMap
RegVal readCCRegFlat(RegIndex idx) const override
bool translateAddress(Addr &paddr, Addr vaddr) override
STL vector class.
Definition stl.hh:37
constexpr T bits(T val, unsigned first, unsigned last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it.
Definition bitfield.hh:79
constexpr T insertBits(T val, unsigned first, unsigned last, B bit_val)
Returns val with bits first to last set to the LSBs of bit_val.
Definition bitfield.hh:185
#define panic_if(cond,...)
Conditional panic macro that checks the supplied condition and only panics if the condition is true a...
Definition logging.hh:214
constexpr RegId V
Definition cc.hh:96
constexpr RegId C
Definition cc.hh:95
constexpr RegId Fp
Definition cc.hh:98
constexpr RegId Ge
Definition cc.hh:97
constexpr RegId Nz
Definition cc.hh:94
constexpr RegId X0
Definition int.hh:240
constexpr RegId R14Und
Definition int.hh:215
constexpr RegId X30
Definition int.hh:270
constexpr RegId X17
Definition int.hh:257
constexpr RegId R4
Definition int.hh:190
constexpr RegId X6
Definition int.hh:246
constexpr RegId Sp2
Definition int.hh:235
constexpr RegId R9
Definition int.hh:195
constexpr RegId R6
Definition int.hh:192
constexpr RegId R14Abt
Definition int.hh:212
constexpr RegId R9Fiq
Definition int.hh:221
constexpr RegId Sp3
Definition int.hh:236
constexpr RegId X13
Definition int.hh:253
constexpr RegId R14Mon
Definition int.hh:207
constexpr RegId X14
Definition int.hh:254
constexpr RegId X1
Definition int.hh:241
constexpr RegId R12
Definition int.hh:198
constexpr RegId Sp0
Definition int.hh:233
constexpr RegId X27
Definition int.hh:267
constexpr RegId R14Fiq
Definition int.hh:226
constexpr RegId X20
Definition int.hh:260
constexpr RegId R13Irq
Definition int.hh:217
constexpr RegId X18
Definition int.hh:258
constexpr RegId R7
Definition int.hh:193
constexpr RegId X3
Definition int.hh:243
constexpr RegId X29
Definition int.hh:269
constexpr RegId Sp1
Definition int.hh:234
constexpr RegId X12
Definition int.hh:252
constexpr RegId X26
Definition int.hh:266
constexpr RegId X24
Definition int.hh:264
constexpr RegId X16
Definition int.hh:256
constexpr RegId X21
Definition int.hh:261
constexpr RegId X4
Definition int.hh:244
constexpr RegId R3
Definition int.hh:189
constexpr RegId R11Fiq
Definition int.hh:223
constexpr RegId R13Mon
Definition int.hh:206
constexpr RegId R8
Definition int.hh:194
constexpr RegId X9
Definition int.hh:249
constexpr RegId Spx
Definition int.hh:238
constexpr RegId R13Svc
Definition int.hh:203
constexpr RegId X23
Definition int.hh:263
constexpr RegId X28
Definition int.hh:268
constexpr RegId R8Fiq
Definition int.hh:220
constexpr RegId R14Irq
Definition int.hh:218
constexpr RegId R13Fiq
Definition int.hh:225
constexpr RegId R13Hyp
Definition int.hh:209
constexpr RegId R13Abt
Definition int.hh:211
constexpr RegId R14Svc
Definition int.hh:204
constexpr RegId X7
Definition int.hh:247
constexpr RegId X19
Definition int.hh:259
constexpr RegId R11
Definition int.hh:197
constexpr RegId X22
Definition int.hh:262
constexpr RegId X25
Definition int.hh:265
constexpr RegId R5
Definition int.hh:191
constexpr RegId X8
Definition int.hh:248
constexpr RegId R14
Definition int.hh:200
constexpr RegId R13Und
Definition int.hh:214
constexpr RegId X11
Definition int.hh:251
constexpr RegId R10
Definition int.hh:196
constexpr RegId X2
Definition int.hh:242
constexpr RegId R2
Definition int.hh:188
constexpr RegId X15
Definition int.hh:255
constexpr RegId R1
Definition int.hh:187
constexpr RegId R15
Definition int.hh:201
constexpr RegId X5
Definition int.hh:245
constexpr RegId R0
Definition int.hh:186
constexpr RegId X10
Definition int.hh:250
constexpr RegId R10Fiq
Definition int.hh:222
constexpr RegId R12Fiq
Definition int.hh:224
constexpr RegId R13
Definition int.hh:199
ExceptionLevel currEL(const ThreadContext *tc)
Returns the current Exception Level (EL) of the provided ThreadContext.
Definition utility.cc:133
bool isSecure(ThreadContext *tc)
Definition utility.cc:74
Bitfield< 33 > id
@ MISCREG_PMXEVTYPER_EL0
Definition misc.hh:781
@ MISCREG_ERXSTATUS_EL1
Definition misc.hh:1185
@ MISCREG_AMAIR_EL3
Definition misc.hh:793
@ MISCREG_DBGWVR1_EL1
Definition misc.hh:497
@ MISCREG_ID_AA64PFR0_EL1
Definition misc.hh:567
@ MISCREG_HSTR_EL2
Definition misc.hh:599
@ MISCREG_PMUSERENR
Definition misc.hh:369
@ MISCREG_DBGDTRRXext
Definition misc.hh:108
@ MISCREG_ID_MMFR2_EL1
Definition misc.hh:554
@ MISCREG_ERRIDR_EL1
Definition misc.hh:1181
@ MISCREG_CNTV_CTL_EL0
Definition misc.hh:819
@ MISCREG_CPSR_MODE
Definition misc.hh:84
@ MISCREG_TLBI_ALLE3
Definition misc.hh:737
@ MISCREG_TLBI_ALLE1IS
Definition misc.hh:718
@ MISCREG_MPIDR_EL1
Definition misc.hh:546
@ MISCREG_CPUECTLR_EL1
Definition misc.hh:873
@ MISCREG_ERXCTLR_EL1
Definition misc.hh:1184
@ MISCREG_SCTLR_EL2
Definition misc.hh:592
@ MISCREG_PMSELR_EL0
Definition misc.hh:777
@ MISCREG_ID_DFR0_EL1
Definition misc.hh:550
@ MISCREG_CNTP_CTL_EL0
Definition misc.hh:816
@ MISCREG_PMOVSSET
Definition misc.hh:372
@ MISCREG_DBGWCR1
Definition misc.hh:161
@ MISCREG_TCR_EL2
Definition misc.hh:617
@ MISCREG_AT_S1E1W_Xt
Definition misc.hh:674
@ MISCREG_ID_ISAR0_EL1
Definition misc.hh:557
@ MISCREG_DBGWVR2
Definition misc.hh:146
@ MISCREG_MVFR1
Definition misc.hh:79
@ MISCREG_MIDR_EL1
Definition misc.hh:545
@ MISCREG_SDER
Definition misc.hh:250
@ MISCREG_OSDLR_EL1
Definition misc.hh:536
@ MISCREG_CNTFRQ
Definition misc.hh:419
@ MISCREG_CPSR_Q
Definition misc.hh:85
@ MISCREG_DBGBVR5_EL1
Definition misc.hh:469
@ MISCREG_MAIR_EL1
Definition misc.hh:786
@ MISCREG_DBGBCR2_EL1
Definition misc.hh:482
@ MISCREG_ID_ISAR2_EL1
Definition misc.hh:559
@ MISCREG_DBGBVR1_EL1
Definition misc.hh:465
@ MISCREG_PMXEVCNTR_EL0
Definition misc.hh:783
@ MISCREG_CONTEXTIDR_EL1
Definition misc.hh:805
@ MISCREG_CNTV_TVAL
Definition misc.hh:433
@ MISCREG_VBAR_EL3
Definition misc.hh:802
@ MISCREG_CNTPS_TVAL_EL1
Definition misc.hh:832
@ MISCREG_SPSR_EL2
Definition misc.hh:639
@ MISCREG_DBGWFAR
Definition misc.hh:106
@ MISCREG_TLBI_ALLE1
Definition misc.hh:728
@ MISCREG_AT_S1E2W_Xt
Definition misc.hh:685
@ MISCREG_PMEVTYPER1_EL0
Definition misc.hh:857
@ MISCREG_ID_AFR0_EL1
Definition misc.hh:551
@ MISCREG_DBGBVR2
Definition misc.hh:114
@ MISCREG_PAR_EL1
Definition misc.hh:669
@ MISCREG_DBGWVR3_EL1
Definition misc.hh:499
@ MISCREG_AT_S12E1W_Xt
Definition misc.hh:687
@ MISCREG_MAIR_EL2
Definition misc.hh:790
@ MISCREG_CNTV_CVAL
Definition misc.hh:432
@ MISCREG_MDRAR_EL1
Definition misc.hh:533
@ MISCREG_SCR_EL3
Definition misc.hh:604
@ MISCREG_ID_AA64DFR0_EL1
Definition misc.hh:569
@ MISCREG_DBGCLAIMCLR
Definition misc.hh:199
@ MISCREG_TPIDRRO_EL0
Definition misc.hh:809
@ MISCREG_DBGBVR3
Definition misc.hh:115
@ MISCREG_DBGOSLAR
Definition misc.hh:193
@ MISCREG_PMEVTYPER3_EL0
Definition misc.hh:859
@ MISCREG_REVIDR_EL1
Definition misc.hh:547
@ MISCREG_TCR_EL3
Definition misc.hh:624
@ MISCREG_FPSR
Definition misc.hh:636
@ MISCREG_ESR_EL1
Definition misc.hh:653
@ MISCREG_DISR_EL1
Definition misc.hh:1189
@ MISCREG_PMCCNTR_EL0
Definition misc.hh:780
@ MISCREG_CNTP_TVAL
Definition misc.hh:428
@ MISCREG_MDCCSR_EL0
Definition misc.hh:528
@ MISCREG_AT_S12E0W_Xt
Definition misc.hh:689
@ MISCREG_DBGBXVR4
Definition misc.hh:181
@ MISCREG_TCR_EL1
Definition misc.hh:612
@ MISCREG_PMINTENSET
Definition misc.hh:370
@ MISCREG_PMXEVTYPER
Definition misc.hh:366
@ MISCREG_TPIDR_EL3
Definition misc.hh:811
@ MISCREG_CCSIDR_EL1
Definition misc.hh:577
@ MISCREG_DBGBXVR5
Definition misc.hh:182
@ MISCREG_CNTVCT
Definition misc.hh:421
@ MISCREG_AFSR0_EL1
Definition misc.hh:649
@ MISCREG_SPSR_UND
Definition misc.hh:75
@ MISCREG_TLBI_ALLE2IS
Definition misc.hh:714
@ MISCREG_SPSR_IRQ
Definition misc.hh:70
@ MISCREG_ID_ISAR3_EL1
Definition misc.hh:560
@ MISCREG_PMEVTYPER4_EL0
Definition misc.hh:860
@ MISCREG_DC_CVAC_Xt
Definition misc.hh:681
@ MISCREG_VPIDR_EL2
Definition misc.hh:583
@ MISCREG_DBGWCR2
Definition misc.hh:162
@ MISCREG_OSLAR_EL1
Definition misc.hh:534
@ MISCREG_CNTPCT_EL0
Definition misc.hh:814
@ MISCREG_ERXADDR_EL1
Definition misc.hh:1186
@ MISCREG_SPSR_ABT
Definition misc.hh:73
@ MISCREG_DBGWVR0_EL1
Definition misc.hh:496
@ MISCREG_AFSR1_EL2
Definition misc.hh:657
@ MISCREG_DBGBCR0_EL1
Definition misc.hh:480
@ MISCREG_PMEVCNTR4_EL0
Definition misc.hh:854
@ MISCREG_DBGBCR3_EL1
Definition misc.hh:483
@ MISCREG_SCTLR_EL1
Definition misc.hh:585
@ MISCREG_AIDR_EL1
Definition misc.hh:579
@ MISCREG_DC_CIVAC_Xt
Definition misc.hh:683
@ MISCREG_DC_CVAU_Xt
Definition misc.hh:682
@ MISCREG_PMEVTYPER0_EL0
Definition misc.hh:856
@ MISCREG_CPTR_EL2
Definition misc.hh:598
@ MISCREG_FAR_EL1
Definition misc.hh:663
@ MISCREG_ERXMISC0_EL1
Definition misc.hh:1187
@ MISCREG_TPIDR_EL1
Definition misc.hh:807
@ MISCREG_PMUSERENR_EL0
Definition misc.hh:784
@ MISCREG_DBGWCR0
Definition misc.hh:160
@ MISCREG_AT_S1E2R_Xt
Definition misc.hh:684
@ MISCREG_PMCR
Definition misc.hh:357
@ MISCREG_CNTHV_CTL_EL2
Definition misc.hh:841
@ MISCREG_CNTV_CTL
Definition misc.hh:431
@ MISCREG_AFSR1_EL3
Definition misc.hh:661
@ MISCREG_ID_AA64DFR1_EL1
Definition misc.hh:570
@ MISCREG_DC_CSW_Xt
Definition misc.hh:677
@ MISCREG_RMR_EL3
Definition misc.hh:804
@ MISCREG_ID_AA64ISAR1_EL1
Definition misc.hh:574
@ MISCREG_DBGBVR0
Definition misc.hh:112
@ MISCREG_PMEVCNTR0_EL0
Definition misc.hh:850
@ MISCREG_AFSR0_EL3
Definition misc.hh:660
@ MISCREG_CSSELR_EL1
Definition misc.hh:580
@ MISCREG_MAIR_EL3
Definition misc.hh:792
@ MISCREG_ID_AA64MMFR1_EL1
Definition misc.hh:576
@ MISCREG_DBGPRCR_EL1
Definition misc.hh:537
@ MISCREG_PMOVSR
Definition misc.hh:360
@ MISCREG_CNTVCT_EL0
Definition misc.hh:815
@ MISCREG_TLBI_VMALLE1
Definition misc.hh:704
@ MISCREG_SP_EL0
Definition misc.hh:630
@ MISCREG_PMCNTENCLR
Definition misc.hh:359
@ MISCREG_ERRSELR_EL1
Definition misc.hh:1182
@ MISCREG_TLBI_VMALLS12E1
Definition misc.hh:730
@ MISCREG_DBGBVR0_EL1
Definition misc.hh:464
@ MISCREG_DBGBCR4_EL1
Definition misc.hh:484
@ MISCREG_CPSR
Definition misc.hh:67
@ MISCREG_FPCR
Definition misc.hh:635
@ MISCREG_CPACR_EL1
Definition misc.hh:590
@ MISCREG_PMEVTYPER5_EL0
Definition misc.hh:861
@ MISCREG_CNTP_CVAL
Definition misc.hh:425
@ MISCREG_DBGBVR2_EL1
Definition misc.hh:466
@ MISCREG_CNTKCTL_EL1
Definition misc.hh:828
@ MISCREG_CNTPCT
Definition misc.hh:420
@ MISCREG_SP_EL2
Definition misc.hh:648
@ MISCREG_PMCCFILTR_EL0
Definition misc.hh:782
@ MISCREG_CNTPS_CTL_EL1
Definition misc.hh:830
@ MISCREG_TLBI_VMALLS12E1IS
Definition misc.hh:722
@ MISCREG_PMSWINC_EL0
Definition misc.hh:776
@ MISCREG_TTBR1_EL1
Definition misc.hh:610
@ MISCREG_PMEVTYPER2_EL0
Definition misc.hh:858
@ MISCREG_SEV_MAILBOX
Definition misc.hh:97
@ MISCREG_PMINTENSET_EL1
Definition misc.hh:770
@ MISCREG_PMINTENCLR_EL1
Definition misc.hh:771
@ MISCREG_PMCCFILTR
Definition misc.hh:367
@ MISCREG_ACTLR_EL3
Definition misc.hh:603
@ MISCREG_ID_PFR1_EL1
Definition misc.hh:549
@ MISCREG_DBGBCR1_EL1
Definition misc.hh:481
@ MISCREG_ID_PFR0_EL1
Definition misc.hh:548
@ MISCREG_OSECCR_EL1
Definition misc.hh:463
@ MISCREG_ID_ISAR5_EL1
Definition misc.hh:562
@ MISCREG_PMCEID1
Definition misc.hh:364
@ MISCREG_TLBI_ALLE3IS
Definition misc.hh:731
@ MISCREG_ID_ISAR4_EL1
Definition misc.hh:561
@ MISCREG_SCR
Definition misc.hh:249
@ MISCREG_DC_IVAC_Xt
Definition misc.hh:671
@ MISCREG_PMCNTENSET
Definition misc.hh:358
@ MISCREG_ELR_EL2
Definition misc.hh:640
@ MISCREG_CONTEXTIDR_EL2
Definition misc.hh:877
@ MISCREG_CNTHCTL_EL2
Definition misc.hh:833
@ MISCREG_ERXMISC1_EL1
Definition misc.hh:1188
@ MISCREG_MDSCR_EL1
Definition misc.hh:461
@ MISCREG_DBGWCR2_EL1
Definition misc.hh:514
@ MISCREG_ID_MMFR4_EL1
Definition misc.hh:556
@ MISCREG_TTBR1_EL2
Definition misc.hh:880
@ MISCREG_ID_AA64MMFR0_EL1
Definition misc.hh:575
@ MISCREG_IC_IALLU
Definition misc.hh:670
@ MISCREG_SPSR_EL3
Definition misc.hh:646
@ MISCREG_AT_S1E1R_Xt
Definition misc.hh:673
@ MISCREG_AMAIR_EL1
Definition misc.hh:788
@ MISCREG_ESR_EL3
Definition misc.hh:662
@ MISCREG_AT_S1E3R_Xt
Definition misc.hh:690
@ MISCREG_DC_ZVA_Xt
Definition misc.hh:679
@ MISCREG_SPSR_EL1
Definition misc.hh:626
@ MISCREG_CNTP_CVAL_EL0
Definition misc.hh:817
@ MISCREG_HCR_EL2
Definition misc.hh:595
@ MISCREG_AT_S12E0R_Xt
Definition misc.hh:688
@ MISCREG_DBGCLAIMSET
Definition misc.hh:198
@ MISCREG_PMCEID0_EL0
Definition misc.hh:778
@ MISCREG_TPIDR_EL0
Definition misc.hh:808
@ MISCREG_DBGDTRTXext
Definition misc.hh:110
@ MISCREG_VTCR_EL2
Definition misc.hh:620
@ MISCREG_DBGWCR3
Definition misc.hh:163
@ MISCREG_ELR_EL3
Definition misc.hh:647
@ MISCREG_DBGCLAIMSET_EL1
Definition misc.hh:538
@ MISCREG_CNTVOFF_EL2
Definition misc.hh:848
@ MISCREG_FAR_EL3
Definition misc.hh:667
@ MISCREG_ACTLR_EL1
Definition misc.hh:589
@ MISCREG_DBGBVR3_EL1
Definition misc.hh:467
@ MISCREG_MDCCINT_EL1
Definition misc.hh:459
@ MISCREG_DC_CISW_Xt
Definition misc.hh:678
@ MISCREG_VBAR_EL2
Definition misc.hh:800
@ MISCREG_DBGBCR5_EL1
Definition misc.hh:485
@ MISCREG_ACTLR_EL2
Definition misc.hh:594
@ MISCREG_HPFAR_EL2
Definition misc.hh:666
@ MISCREG_MDCR_EL2
Definition misc.hh:597
@ MISCREG_PMSELR
Definition misc.hh:362
@ MISCREG_ID_MMFR0_EL1
Definition misc.hh:552
@ MISCREG_CNTHV_TVAL_EL2
Definition misc.hh:843
@ MISCREG_VBAR_EL1
Definition misc.hh:796
@ MISCREG_MIDR
Definition misc.hh:211
@ MISCREG_PMEVCNTR2_EL0
Definition misc.hh:852
@ MISCREG_CNTPS_CVAL_EL1
Definition misc.hh:831
@ MISCREG_AMAIR_EL2
Definition misc.hh:791
@ MISCREG_DC_ISW_Xt
Definition misc.hh:672
@ MISCREG_CNTP_CTL
Definition misc.hh:422
@ MISCREG_TTBR0_EL3
Definition misc.hh:623
@ MISCREG_DBGWCR0_EL1
Definition misc.hh:512
@ MISCREG_DCZID_EL0
Definition misc.hh:582
@ MISCREG_ISR_EL1
Definition misc.hh:799
@ MISCREG_HACR_EL2
Definition misc.hh:600
@ MISCREG_DBGBCR4
Definition misc.hh:132
@ MISCREG_OSDTRTX_EL1
Definition misc.hh:462
@ MISCREG_CNTVOFF
Definition misc.hh:439
@ MISCREG_DBGCLAIMCLR_EL1
Definition misc.hh:539
@ MISCREG_AT_S1E0W_Xt
Definition misc.hh:676
@ MISCREG_AT_S12E1R_Xt
Definition misc.hh:686
@ MISCREG_DBGWVR0
Definition misc.hh:144
@ MISCREG_ID_AA64AFR1_EL1
Definition misc.hh:572
@ MISCREG_ID_ISAR6_EL1
Definition misc.hh:563
@ MISCREG_ELR_EL1
Definition misc.hh:628
@ MISCREG_PMXEVCNTR
Definition misc.hh:368
@ MISCREG_DBGBVR1
Definition misc.hh:113
@ MISCREG_PMCEID0
Definition misc.hh:363
@ MISCREG_TPIDR_EL2
Definition misc.hh:810
@ MISCREG_CNTHP_CVAL_EL2
Definition misc.hh:835
@ MISCREG_CNTV_TVAL_EL0
Definition misc.hh:821
@ MISCREG_DBGBCR2
Definition misc.hh:130
@ MISCREG_FPSCR
Definition misc.hh:78
@ MISCREG_DBGWVR1
Definition misc.hh:145
@ MISCREG_TTBR0_EL2
Definition misc.hh:616
@ MISCREG_DBGWVR2_EL1
Definition misc.hh:498
@ MISCREG_PMINTENCLR
Definition misc.hh:371
@ MISCREG_PMCNTENCLR_EL0
Definition misc.hh:774
@ MISCREG_TTBR0_EL1
Definition misc.hh:608
@ MISCREG_PMEVCNTR5_EL0
Definition misc.hh:855
@ MISCREG_SCTLR_EL3
Definition misc.hh:601
@ MISCREG_CNTP_TVAL_EL0
Definition misc.hh:818
@ MISCREG_FPSCR_QC
Definition misc.hh:87
@ MISCREG_VSESR_EL2
Definition misc.hh:1190
@ MISCREG_DBGAUTHSTATUS
Definition misc.hh:200
@ MISCREG_MVFR0_EL1
Definition misc.hh:564
@ MISCREG_DBGBCR0
Definition misc.hh:128
@ MISCREG_PMSWINC
Definition misc.hh:361
@ MISCREG_MVFR1_EL1
Definition misc.hh:565
@ MISCREG_ID_AA64AFR0_EL1
Definition misc.hh:571
@ MISCREG_MVFR2_EL1
Definition misc.hh:566
@ MISCREG_DBGBCR3
Definition misc.hh:131
@ MISCREG_OSLSR_EL1
Definition misc.hh:535
@ MISCREG_PMCNTENSET_EL0
Definition misc.hh:773
@ MISCREG_ID_ISAR1_EL1
Definition misc.hh:558
@ MISCREG_CPUACTLR_EL1
Definition misc.hh:872
@ MISCREG_DLR_EL0
Definition misc.hh:638
@ MISCREG_DBGBVR5
Definition misc.hh:117
@ MISCREG_MVFR0
Definition misc.hh:80
@ MISCREG_ID_MMFR1_EL1
Definition misc.hh:553
@ MISCREG_TLBI_VMALLE1IS
Definition misc.hh:692
@ MISCREG_ID_AA64ISAR0_EL1
Definition misc.hh:573
@ MISCREG_CNTHP_TVAL_EL2
Definition misc.hh:836
@ MISCREG_AT_S1E3W_Xt
Definition misc.hh:691
@ MISCREG_TLBI_ALLE2
Definition misc.hh:726
@ MISCREG_DBGWCR1_EL1
Definition misc.hh:513
@ MISCREG_VMPIDR_EL2
Definition misc.hh:584
@ MISCREG_IC_IVAU_Xt
Definition misc.hh:680
@ MISCREG_DBGWCR3_EL1
Definition misc.hh:515
@ MISCREG_PMOVSCLR_EL0
Definition misc.hh:775
@ MISCREG_DBGBCR5
Definition misc.hh:133
@ MISCREG_PMCCNTR
Definition misc.hh:365
@ MISCREG_DSPSR_EL0
Definition misc.hh:637
@ MISCREG_FAR_EL2
Definition misc.hh:665
@ MISCREG_DBGWVR3
Definition misc.hh:147
@ MISCREG_PMEVCNTR3_EL0
Definition misc.hh:853
@ MISCREG_RVBAR_EL3
Definition misc.hh:803
@ MISCREG_OSDTRRX_EL1
Definition misc.hh:460
@ MISCREG_AT_S1E0R_Xt
Definition misc.hh:675
@ MISCREG_CNTHP_CTL_EL2
Definition misc.hh:834
@ MISCREG_MVBAR
Definition misc.hh:400
@ MISCREG_ERXFR_EL1
Definition misc.hh:1183
@ MISCREG_PMCR_EL0
Definition misc.hh:772
@ MISCREG_CPTR_EL3
Definition misc.hh:606
@ MISCREG_ESR_EL2
Definition misc.hh:658
@ MISCREG_IC_IALLUIS
Definition misc.hh:668
@ MISCREG_CLIDR_EL1
Definition misc.hh:578
@ MISCREG_ID_MMFR3_EL1
Definition misc.hh:555
@ MISCREG_AFSR1_EL1
Definition misc.hh:651
@ MISCREG_DBGBVR4_EL1
Definition misc.hh:468
@ MISCREG_CNTHV_CVAL_EL2
Definition misc.hh:842
@ MISCREG_PMCEID1_EL0
Definition misc.hh:779
@ MISCREG_CTR_EL0
Definition misc.hh:581
@ MISCREG_CNTFRQ_EL0
Definition misc.hh:813
@ MISCREG_DBGAUTHSTATUS_EL1
Definition misc.hh:540
@ MISCREG_DBGBCR1
Definition misc.hh:129
@ MISCREG_PMEVCNTR1_EL0
Definition misc.hh:851
@ MISCREG_SPSR
Definition misc.hh:68
@ MISCREG_VTTBR_EL2
Definition misc.hh:619
@ MISCREG_VDISR_EL2
Definition misc.hh:1191
@ MISCREG_DBGBVR4
Definition misc.hh:116
@ MISCREG_ID_AA64PFR1_EL1
Definition misc.hh:568
@ MISCREG_MDCR_EL3
Definition misc.hh:607
@ MISCREG_AFSR0_EL2
Definition misc.hh:656
@ MISCREG_SPSR_FIQ
Definition misc.hh:69
@ MISCREG_CNTV_CVAL_EL0
Definition misc.hh:820
@ MISCREG_SP_EL1
Definition misc.hh:641
@ MISCREG_PMOVSSET_EL0
Definition misc.hh:785
@ PhysicalMemorySecureMsn
@ PhysicalMemoryNonSecureMsn
Bitfield< 15 > system
Definition misc.hh:1032
Bitfield< 63 > val
Definition misc.hh:804
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Definition binary32.hh:36
uint16_t RegIndex
Definition types.hh:176
uint64_t RegVal
Definition types.hh:173
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Definition types.hh:147

Generated on Tue Jun 18 2024 16:24:02 for gem5 by doxygen 1.11.0