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

Generated on Wed Sep 30 2020 14:01:58 for gem5 by doxygen 1.8.17