gem5  v20.1.0.0
intregs.hh
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2010-2014 ARM Limited
3  * All rights reserved
4  *
5  * The license below extends only to copyright in the software and shall
6  * not be construed as granting a license to any other intellectual
7  * property including but not limited to intellectual property relating
8  * to a hardware implementation of the functionality of the software
9  * licensed hereunder. You may use the software subject to the license
10  * terms below provided that you ensure that this notice is replicated
11  * unmodified and in its entirety in all distributions of the software,
12  * modified or unmodified, in source code or in binary form.
13  *
14  * Copyright (c) 2009 The Regents of The University of Michigan
15  * All rights reserved.
16  *
17  * Redistribution and use in source and binary forms, with or without
18  * modification, are permitted provided that the following conditions are
19  * met: redistributions of source code must retain the above copyright
20  * notice, this list of conditions and the following disclaimer;
21  * redistributions in binary form must reproduce the above copyright
22  * notice, this list of conditions and the following disclaimer in the
23  * documentation and/or other materials provided with the distribution;
24  * neither the name of the copyright holders nor the names of its
25  * contributors may be used to endorse or promote products derived from
26  * this software without specific prior written permission.
27  *
28  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
29  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
31  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
32  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
33  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
34  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
35  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
36  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
37  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
38  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39  */
40 
41 #include <cassert>
42 
43 #ifndef __ARCH_ARM_INTREGS_HH__
44 #define __ARCH_ARM_INTREGS_HH__
45 
46 #include "arch/arm/types.hh"
47 
48 namespace ArmISA
49 {
50 
52 {
53  /* All the unique register indices. */
73 
78 
83 
86 
91 
96 
101 
111 
116  INTREG_DUMMY, // Dummy reg used to throw away int reg results
117 
122 
125 
126  /* AArch64 registers */
159 
161 
162  /* All the aliased indexes. */
163 
164  /* USR mode */
184 
185  /* SVC mode */
201 
202  /* MON mode */
218 
219  /* ABT mode */
235 
236  /* HYP mode */
254 
255  /* UND mode */
271 
272  /* IRQ mode */
288 
289  /* FIQ mode */
300 };
301 
303 
313 };
314 
324 };
325 
326 static inline IntRegIndex
327 INTREG_USR(unsigned index)
328 {
329  assert(index < NUM_ARCH_INTREGS);
330  return IntRegUsrMap[index];
331 }
332 
342 };
343 
344 static inline IntRegIndex
345 INTREG_HYP(unsigned index)
346 {
347  assert(index < NUM_ARCH_INTREGS);
348  return IntRegHypMap[index];
349 }
350 
360 };
361 
362 static inline IntRegIndex
363 INTREG_SVC(unsigned index)
364 {
365  assert(index < NUM_ARCH_INTREGS);
366  return IntRegSvcMap[index];
367 }
368 
378 };
379 
380 static inline IntRegIndex
381 INTREG_MON(unsigned index)
382 {
383  assert(index < NUM_ARCH_INTREGS);
384  return IntRegMonMap[index];
385 }
386 
396 };
397 
398 static inline IntRegIndex
399 INTREG_ABT(unsigned index)
400 {
401  assert(index < NUM_ARCH_INTREGS);
402  return IntRegAbtMap[index];
403 }
404 
414 };
415 
416 static inline IntRegIndex
417 INTREG_UND(unsigned index)
418 {
419  assert(index < NUM_ARCH_INTREGS);
420  return IntRegUndMap[index];
421 }
422 
432 };
433 
434 static inline IntRegIndex
435 INTREG_IRQ(unsigned index)
436 {
437  assert(index < NUM_ARCH_INTREGS);
438  return IntRegIrqMap[index];
439 }
440 
450 };
451 
452 static inline IntRegIndex
453 INTREG_FIQ(unsigned index)
454 {
455  assert(index < NUM_ARCH_INTREGS);
456  return IntRegFiqMap[index];
457 }
458 
459 static const unsigned intRegsPerMode = NUM_INTREGS;
460 
461 static inline int
463 {
464  assert(reg < NUM_ARCH_INTREGS);
465  return mode * intRegsPerMode + reg;
466 }
467 
468 static inline int
470 {
471  int mode = reg / intRegsPerMode;
472  reg = reg % intRegsPerMode;
473  switch (mode) {
474  case MODE_USER:
475  case MODE_SYSTEM:
476  return INTREG_USR(reg);
477  case MODE_FIQ:
478  return INTREG_FIQ(reg);
479  case MODE_IRQ:
480  return INTREG_IRQ(reg);
481  case MODE_SVC:
482  return INTREG_SVC(reg);
483  case MODE_MON:
484  return INTREG_MON(reg);
485  case MODE_ABORT:
486  return INTREG_ABT(reg);
487  case MODE_HYP:
488  return INTREG_HYP(reg);
489  case MODE_UNDEFINED:
490  return INTREG_UND(reg);
491  default:
492  panic("%d: Flattening into an unknown mode: reg:%#x mode:%#x\n",
493  curTick(), reg, mode);
494  }
495 }
496 
497 
498 static inline IntRegIndex
500 {
501  if (reg == INTREG_X31)
502  reg = INTREG_SPX;
503  return reg;
504 }
505 
506 static inline IntRegIndex
508 {
509  if (reg == INTREG_X31)
510  reg = INTREG_ZERO;
511  return reg;
512 }
513 
514 static inline bool
516 {
517  return reg == INTREG_SPX;
518 }
519 
520 }
521 
522 #endif
ArmISA::INTREG_R0_ABT
@ INTREG_R0_ABT
Definition: intregs.hh:220
ArmISA::INTREG_R4
@ INTREG_R4
Definition: intregs.hh:58
ArmISA::INTREG_R14_UND
@ INTREG_R14_UND
Definition: intregs.hh:94
ArmISA::INTREG_R10_FIQ
@ INTREG_R10_FIQ
Definition: intregs.hh:104
ArmISA::INTREG_R4_ABT
@ INTREG_R4_ABT
Definition: intregs.hh:224
ArmISA::IntReg64Map
const IntRegMap IntReg64Map
Definition: intregs.hh:304
ArmISA::INTREG_R0_FIQ
@ INTREG_R0_FIQ
Definition: intregs.hh:290
ArmISA::INTREG_R7_UND
@ INTREG_R7_UND
Definition: intregs.hh:263
ArmISA::MODE_HYP
@ MODE_HYP
Definition: types.hh:642
ArmISA::INTREG_R14_USR
@ INTREG_R14_USR
Definition: intregs.hh:180
ArmISA::MODE_UNDEFINED
@ MODE_UNDEFINED
Definition: types.hh:643
ArmISA::INTREG_PC_HYP
@ INTREG_PC_HYP
Definition: intregs.hh:252
ArmISA::INTREG_X15
@ INTREG_X15
Definition: intregs.hh:142
ArmISA::INTREG_PC
@ INTREG_PC
Definition: intregs.hh:72
ArmISA::INTREG_X29
@ INTREG_X29
Definition: intregs.hh:156
ArmISA::INTREG_R2_USR
@ INTREG_R2_USR
Definition: intregs.hh:167
ArmISA::INTREG_R3_SVC
@ INTREG_R3_SVC
Definition: intregs.hh:189
ArmISA::INTREG_R2
@ INTREG_R2
Definition: intregs.hh:56
MipsISA::index
Bitfield< 30, 0 > index
Definition: pra_constants.hh:44
ArmISA::INTREG_R1_HYP
@ INTREG_R1_HYP
Definition: intregs.hh:238
ArmISA::INTREG_R13_HYP
@ INTREG_R13_HYP
Definition: intregs.hh:84
ArmISA::INTREG_R8_UND
@ INTREG_R8_UND
Definition: intregs.hh:264
ArmISA::INTREG_R8_IRQ
@ INTREG_R8_IRQ
Definition: intregs.hh:281
ArmISA::INTREG_R8
@ INTREG_R8
Definition: intregs.hh:62
ArmISA::INTREG_R1_SVC
@ INTREG_R1_SVC
Definition: intregs.hh:187
ArmISA::makeZero
static IntRegIndex makeZero(IntRegIndex reg)
Definition: intregs.hh:507
ArmISA::INTREG_X24
@ INTREG_X24
Definition: intregs.hh:151
ArmISA::INTREG_R9
@ INTREG_R9
Definition: intregs.hh:63
ArmISA::INTREG_X4
@ INTREG_X4
Definition: intregs.hh:131
ArmISA::INTREG_SP_IRQ
@ INTREG_SP_IRQ
Definition: intregs.hh:98
ArmISA::isSP
static bool isSP(IntRegIndex reg)
Definition: intregs.hh:515
ArmISA::INTREG_X6
@ INTREG_X6
Definition: intregs.hh:133
ArmISA::INTREG_R7_HYP
@ INTREG_R7_HYP
Definition: intregs.hh:244
ArmISA::OperatingMode
OperatingMode
Definition: types.hh:628
ArmISA::INTREG_R4_UND
@ INTREG_R4_UND
Definition: intregs.hh:260
ArmISA::INTREG_LR
@ INTREG_LR
Definition: intregs.hh:70
ArmISA::INTREG_SVC
static IntRegIndex INTREG_SVC(unsigned index)
Definition: intregs.hh:363
ArmISA::IntRegUndMap
const IntRegMap IntRegUndMap
Definition: intregs.hh:405
ArmISA::INTREG_R15_SVC
@ INTREG_R15_SVC
Definition: intregs.hh:200
ArmISA::INTREG_R6_ABT
@ INTREG_R6_ABT
Definition: intregs.hh:226
ArmISA::IntRegIndex
IntRegIndex
Definition: intregs.hh:51
ArmISA::MODE_SYSTEM
@ MODE_SYSTEM
Definition: types.hh:644
ArmISA::INTREG_ZERO
@ INTREG_ZERO
Definition: intregs.hh:112
ArmISA::INTREG_R7_MON
@ INTREG_R7_MON
Definition: intregs.hh:210
ArmISA::INTREG_R5_FIQ
@ INTREG_R5_FIQ
Definition: intregs.hh:295
ArmISA::INTREG_X9
@ INTREG_X9
Definition: intregs.hh:136
ArmISA::INTREG_R11_UND
@ INTREG_R11_UND
Definition: intregs.hh:267
ArmISA::INTREG_R6_UND
@ INTREG_R6_UND
Definition: intregs.hh:262
ArmISA::INTREG_SP_SVC
@ INTREG_SP_SVC
Definition: intregs.hh:75
ArmISA::INTREG_R13_UND
@ INTREG_R13_UND
Definition: intregs.hh:92
ArmISA::INTREG_X21
@ INTREG_X21
Definition: intregs.hh:148
ArmISA::INTREG_R13_MON
@ INTREG_R13_MON
Definition: intregs.hh:79
ArmISA::INTREG_R7_IRQ
@ INTREG_R7_IRQ
Definition: intregs.hh:280
ArmISA::INTREG_R5_UND
@ INTREG_R5_UND
Definition: intregs.hh:261
ArmISA::INTREG_X23
@ INTREG_X23
Definition: intregs.hh:150
ArmISA::INTREG_R2_ABT
@ INTREG_R2_ABT
Definition: intregs.hh:222
ArmISA::INTREG_R1_IRQ
@ INTREG_R1_IRQ
Definition: intregs.hh:274
ArmISA::INTREG_LR_HYP
@ INTREG_LR_HYP
Definition: intregs.hh:250
ArmISA::INTREG_R0_HYP
@ INTREG_R0_HYP
Definition: intregs.hh:237
ArmISA::INTREG_R6_IRQ
@ INTREG_R6_IRQ
Definition: intregs.hh:279
ArmISA::INTREG_X14
@ INTREG_X14
Definition: intregs.hh:141
ArmISA::INTREG_R10_ABT
@ INTREG_R10_ABT
Definition: intregs.hh:230
ArmISA::INTREG_R7_USR
@ INTREG_R7_USR
Definition: intregs.hh:172
ArmISA::INTREG_LR_FIQ
@ INTREG_LR_FIQ
Definition: intregs.hh:110
ArmISA::INTREG_R13
@ INTREG_R13
Definition: intregs.hh:67
ArmISA::INTREG_R5_MON
@ INTREG_R5_MON
Definition: intregs.hh:208
ArmISA::INTREG_SP_UND
@ INTREG_SP_UND
Definition: intregs.hh:93
ArmISA::INTREG_R3_ABT
@ INTREG_R3_ABT
Definition: intregs.hh:223
ArmISA::intRegsPerMode
static const unsigned intRegsPerMode
Definition: intregs.hh:459
ArmISA::INTREG_X22
@ INTREG_X22
Definition: intregs.hh:149
ArmISA::INTREG_R4_HYP
@ INTREG_R4_HYP
Definition: intregs.hh:241
ArmISA
Definition: ccregs.hh:41
types.hh
X86ISA::reg
Bitfield< 5, 3 > reg
Definition: types.hh:87
ArmISA::INTREG_R9_UND
@ INTREG_R9_UND
Definition: intregs.hh:265
ArmISA::INTREG_SP
@ INTREG_SP
Definition: intregs.hh:68
ArmISA::INTREG_R3_UND
@ INTREG_R3_UND
Definition: intregs.hh:259
ArmISA::INTREG_R9_SVC
@ INTREG_R9_SVC
Definition: intregs.hh:195
ArmISA::INTREG_LR_MON
@ INTREG_LR_MON
Definition: intregs.hh:82
ArmISA::INTREG_R15_MON
@ INTREG_R15_MON
Definition: intregs.hh:217
ArmISA::INTREG_R13_IRQ
@ INTREG_R13_IRQ
Definition: intregs.hh:97
ArmISA::INTREG_PC_USR
@ INTREG_PC_USR
Definition: intregs.hh:183
ArmISA::INTREG_R11_HYP
@ INTREG_R11_HYP
Definition: intregs.hh:248
ArmISA::INTREG_R5_IRQ
@ INTREG_R5_IRQ
Definition: intregs.hh:278
ArmISA::INTREG_R2_SVC
@ INTREG_R2_SVC
Definition: intregs.hh:188
ArmISA::INTREG_X3
@ INTREG_X3
Definition: intregs.hh:130
ArmISA::INTREG_SPX
@ INTREG_SPX
Definition: intregs.hh:160
ArmISA::INTREG_R10
@ INTREG_R10
Definition: intregs.hh:64
ArmISA::INTREG_R8_HYP
@ INTREG_R8_HYP
Definition: intregs.hh:245
ArmISA::INTREG_PC_UND
@ INTREG_PC_UND
Definition: intregs.hh:269
ArmISA::INTREG_R12_HYP
@ INTREG_R12_HYP
Definition: intregs.hh:249
ArmISA::INTREG_X13
@ INTREG_X13
Definition: intregs.hh:140
ArmISA::INTREG_USR
static IntRegIndex INTREG_USR(unsigned index)
Definition: intregs.hh:327
ArmISA::INTREG_R11_ABT
@ INTREG_R11_ABT
Definition: intregs.hh:231
ArmISA::INTREG_X28
@ INTREG_X28
Definition: intregs.hh:155
ArmISA::IntRegHypMap
const IntRegMap IntRegHypMap
Definition: intregs.hh:333
ArmISA::INTREG_R0
@ INTREG_R0
Definition: intregs.hh:54
ArmISA::INTREG_R6
@ INTREG_R6
Definition: intregs.hh:60
ArmISA::INTREG_R3_HYP
@ INTREG_R3_HYP
Definition: intregs.hh:240
ArmISA::INTREG_R0_SVC
@ INTREG_R0_SVC
Definition: intregs.hh:186
ArmISA::INTREG_R8_USR
@ INTREG_R8_USR
Definition: intregs.hh:173
ArmISA::INTREG_LR_UND
@ INTREG_LR_UND
Definition: intregs.hh:95
ArmISA::INTREG_R15_FIQ
@ INTREG_R15_FIQ
Definition: intregs.hh:299
ArmISA::IntRegUsrMap
const IntRegMap IntRegUsrMap
Definition: intregs.hh:315
ArmISA::INTREG_R2_HYP
@ INTREG_R2_HYP
Definition: intregs.hh:239
ArmISA::INTREG_R12_SVC
@ INTREG_R12_SVC
Definition: intregs.hh:198
ArmISA::INTREG_R4_USR
@ INTREG_R4_USR
Definition: intregs.hh:169
ArmISA::INTREG_R10_IRQ
@ INTREG_R10_IRQ
Definition: intregs.hh:283
ArmISA::INTREG_R6_MON
@ INTREG_R6_MON
Definition: intregs.hh:209
ArmISA::INTREG_X27
@ INTREG_X27
Definition: intregs.hh:154
ArmISA::INTREG_R1
@ INTREG_R1
Definition: intregs.hh:55
ArmISA::INTREG_R14_IRQ
@ INTREG_R14_IRQ
Definition: intregs.hh:99
ArmISA::INTREG_R12
@ INTREG_R12
Definition: intregs.hh:66
ArmISA::INTREG_R15_HYP
@ INTREG_R15_HYP
Definition: intregs.hh:253
ArmISA::flattenIntRegModeIndex
static int flattenIntRegModeIndex(int reg)
Definition: intregs.hh:469
ArmISA::INTREG_R11_MON
@ INTREG_R11_MON
Definition: intregs.hh:214
ArmISA::INTREG_X2
@ INTREG_X2
Definition: intregs.hh:129
ArmISA::mode
Bitfield< 4, 0 > mode
Definition: miscregs_types.hh:70
ArmISA::INTREG_R14
@ INTREG_R14
Definition: intregs.hh:69
ArmISA::INTREG_R3_FIQ
@ INTREG_R3_FIQ
Definition: intregs.hh:293
ArmISA::INTREG_R12_USR
@ INTREG_R12_USR
Definition: intregs.hh:177
ArmISA::INTREG_R9_IRQ
@ INTREG_R9_IRQ
Definition: intregs.hh:282
ArmISA::INTREG_R7
@ INTREG_R7
Definition: intregs.hh:61
ArmISA::INTREG_R0_USR
@ INTREG_R0_USR
Definition: intregs.hh:165
ArmISA::INTREG_R2_MON
@ INTREG_R2_MON
Definition: intregs.hh:205
ArmISA::INTREG_R12_MON
@ INTREG_R12_MON
Definition: intregs.hh:215
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::INTREG_R13_ABT
@ INTREG_R13_ABT
Definition: intregs.hh:87
ArmISA::INTREG_SP_USR
@ INTREG_SP_USR
Definition: intregs.hh:179
ArmISA::MODE_SVC
@ MODE_SVC
Definition: types.hh:639
ArmISA::INTREG_PC_FIQ
@ INTREG_PC_FIQ
Definition: intregs.hh:298
ArmISA::INTREG_SP0
@ INTREG_SP0
Definition: intregs.hh:118
ArmISA::INTREG_R15
@ INTREG_R15
Definition: intregs.hh:71
ArmISA::INTREG_X0
@ INTREG_X0
Definition: intregs.hh:127
ArmISA::INTREG_R12_ABT
@ INTREG_R12_ABT
Definition: intregs.hh:232
ArmISA::INTREG_R12_UND
@ INTREG_R12_UND
Definition: intregs.hh:268
ArmISA::INTREG_R7_FIQ
@ INTREG_R7_FIQ
Definition: intregs.hh:297
ArmISA::INTREG_R5_HYP
@ INTREG_R5_HYP
Definition: intregs.hh:242
ArmISA::INTREG_R14_SVC
@ INTREG_R14_SVC
Definition: intregs.hh:76
ArmISA::INTREG_R1_FIQ
@ INTREG_R1_FIQ
Definition: intregs.hh:291
ArmISA::INTREG_R8_MON
@ INTREG_R8_MON
Definition: intregs.hh:211
ArmISA::INTREG_R1_UND
@ INTREG_R1_UND
Definition: intregs.hh:257
ArmISA::MODE_FIQ
@ MODE_FIQ
Definition: types.hh:637
ArmISA::IntRegMonMap
const IntRegMap IntRegMonMap
Definition: intregs.hh:369
ArmISA::INTREG_R1_MON
@ INTREG_R1_MON
Definition: intregs.hh:204
ArmISA::INTREG_SP_HYP
@ INTREG_SP_HYP
Definition: intregs.hh:85
ArmISA::INTREG_MON
static IntRegIndex INTREG_MON(unsigned index)
Definition: intregs.hh:381
ArmISA::IntRegAbtMap
const IntRegMap IntRegAbtMap
Definition: intregs.hh:387
ArmISA::INTREG_R10_USR
@ INTREG_R10_USR
Definition: intregs.hh:175
ArmISA::INTREG_HYP
static IntRegIndex INTREG_HYP(unsigned index)
Definition: intregs.hh:345
ArmISA::INTREG_UND
static IntRegIndex INTREG_UND(unsigned index)
Definition: intregs.hh:417
ArmISA::makeSP
static IntRegIndex makeSP(IntRegIndex reg)
Definition: intregs.hh:499
ArmISA::INTREG_R0_IRQ
@ INTREG_R0_IRQ
Definition: intregs.hh:273
ArmISA::INTREG_X1
@ INTREG_X1
Definition: intregs.hh:128
ArmISA::INTREG_DUMMY
@ INTREG_DUMMY
Definition: intregs.hh:116
ArmISA::INTREG_R4_FIQ
@ INTREG_R4_FIQ
Definition: intregs.hh:294
ArmISA::INTREG_R2_IRQ
@ INTREG_R2_IRQ
Definition: intregs.hh:275
ArmISA::INTREG_R8_FIQ
@ INTREG_R8_FIQ
Definition: intregs.hh:102
ArmISA::INTREG_ABT
static IntRegIndex INTREG_ABT(unsigned index)
Definition: intregs.hh:399
ArmISA::INTREG_R2_UND
@ INTREG_R2_UND
Definition: intregs.hh:258
ArmISA::INTREG_R15_IRQ
@ INTREG_R15_IRQ
Definition: intregs.hh:287
ArmISA::MODE_IRQ
@ MODE_IRQ
Definition: types.hh:638
ArmISA::MODE_ABORT
@ MODE_ABORT
Definition: types.hh:641
ArmISA::INTREG_R3_IRQ
@ INTREG_R3_IRQ
Definition: intregs.hh:276
ArmISA::INTREG_PC_MON
@ INTREG_PC_MON
Definition: intregs.hh:216
ArmISA::INTREG_X18
@ INTREG_X18
Definition: intregs.hh:145
ArmISA::NUM_ARCH_INTREGS
@ NUM_ARCH_INTREGS
Definition: intregs.hh:124
ArmISA::INTREG_SP3
@ INTREG_SP3
Definition: intregs.hh:121
ArmISA::INTREG_R6_USR
@ INTREG_R6_USR
Definition: intregs.hh:171
ArmISA::INTREG_PC_ABT
@ INTREG_PC_ABT
Definition: intregs.hh:233
ArmISA::INTREG_X7
@ INTREG_X7
Definition: intregs.hh:134
ArmISA::IntRegFiqMap
const IntRegMap IntRegFiqMap
Definition: intregs.hh:441
ArmISA::INTREG_R13_FIQ
@ INTREG_R13_FIQ
Definition: intregs.hh:107
ArmISA::INTREG_R5_USR
@ INTREG_R5_USR
Definition: intregs.hh:170
ArmISA::INTREG_R11_SVC
@ INTREG_R11_SVC
Definition: intregs.hh:197
ArmISA::INTREG_R3
@ INTREG_R3
Definition: intregs.hh:57
ArmISA::INTREG_R4_SVC
@ INTREG_R4_SVC
Definition: intregs.hh:190
ArmISA::INTREG_R14_HYP
@ INTREG_R14_HYP
Definition: intregs.hh:251
ArmISA::INTREG_R10_SVC
@ INTREG_R10_SVC
Definition: intregs.hh:196
ArmISA::INTREG_X5
@ INTREG_X5
Definition: intregs.hh:132
ArmISA::INTREG_LR_SVC
@ INTREG_LR_SVC
Definition: intregs.hh:77
ArmISA::INTREG_R6_FIQ
@ INTREG_R6_FIQ
Definition: intregs.hh:296
ArmISA::NUM_INTREGS
@ NUM_INTREGS
Definition: intregs.hh:123
ArmISA::INTREG_R9_ABT
@ INTREG_R9_ABT
Definition: intregs.hh:229
ArmISA::INTREG_R1_USR
@ INTREG_R1_USR
Definition: intregs.hh:166
ArmISA::INTREG_FIQ
static IntRegIndex INTREG_FIQ(unsigned index)
Definition: intregs.hh:453
ArmISA::INTREG_UREG0
@ INTREG_UREG0
Definition: intregs.hh:113
ArmISA::IntRegMap
IntRegIndex IntRegMap[NUM_ARCH_INTREGS]
Definition: intregs.hh:302
ArmISA::INTREG_SP_MON
@ INTREG_SP_MON
Definition: intregs.hh:80
ArmISA::INTREG_LR_IRQ
@ INTREG_LR_IRQ
Definition: intregs.hh:100
ArmISA::INTREG_X31
@ INTREG_X31
Definition: intregs.hh:158
ArmISA::IntRegIrqMap
const IntRegMap IntRegIrqMap
Definition: intregs.hh:423
ArmISA::INTREG_X30
@ INTREG_X30
Definition: intregs.hh:157
ArmISA::INTREG_R7_SVC
@ INTREG_R7_SVC
Definition: intregs.hh:193
ArmISA::INTREG_R6_SVC
@ INTREG_R6_SVC
Definition: intregs.hh:192
ArmISA::INTREG_R2_FIQ
@ INTREG_R2_FIQ
Definition: intregs.hh:292
ArmISA::INTREG_X8
@ INTREG_X8
Definition: intregs.hh:135
ArmISA::INTREG_UREG2
@ INTREG_UREG2
Definition: intregs.hh:115
ArmISA::INTREG_LR_ABT
@ INTREG_LR_ABT
Definition: intregs.hh:90
ArmISA::INTREG_X10
@ INTREG_X10
Definition: intregs.hh:137
ArmISA::INTREG_R4_IRQ
@ INTREG_R4_IRQ
Definition: intregs.hh:277
ArmISA::intRegInMode
static int intRegInMode(OperatingMode mode, int reg)
Definition: intregs.hh:462
ArmISA::MODE_MON
@ MODE_MON
Definition: types.hh:640
ArmISA::INTREG_R11_FIQ
@ INTREG_R11_FIQ
Definition: intregs.hh:105
ArmISA::INTREG_R6_HYP
@ INTREG_R6_HYP
Definition: intregs.hh:243
ArmISA::INTREG_R10_MON
@ INTREG_R10_MON
Definition: intregs.hh:213
ArmISA::INTREG_R15_ABT
@ INTREG_R15_ABT
Definition: intregs.hh:234
ArmISA::INTREG_R13_USR
@ INTREG_R13_USR
Definition: intregs.hh:178
ArmISA::INTREG_R10_HYP
@ INTREG_R10_HYP
Definition: intregs.hh:247
ArmISA::INTREG_LR_USR
@ INTREG_LR_USR
Definition: intregs.hh:181
ArmISA::INTREG_R12_FIQ
@ INTREG_R12_FIQ
Definition: intregs.hh:106
ArmISA::INTREG_X20
@ INTREG_X20
Definition: intregs.hh:147
ArmISA::INTREG_IRQ
static IntRegIndex INTREG_IRQ(unsigned index)
Definition: intregs.hh:435
ArmISA::INTREG_R12_IRQ
@ INTREG_R12_IRQ
Definition: intregs.hh:285
ArmISA::INTREG_R5_ABT
@ INTREG_R5_ABT
Definition: intregs.hh:225
ArmISA::INTREG_SP_ABT
@ INTREG_SP_ABT
Definition: intregs.hh:88
ArmISA::INTREG_R9_MON
@ INTREG_R9_MON
Definition: intregs.hh:212
ArmISA::INTREG_R11
@ INTREG_R11
Definition: intregs.hh:65
ArmISA::MODE_USER
@ MODE_USER
Definition: types.hh:636
ArmISA::INTREG_SP1
@ INTREG_SP1
Definition: intregs.hh:119
ArmISA::INTREG_R9_HYP
@ INTREG_R9_HYP
Definition: intregs.hh:246
ArmISA::INTREG_R8_SVC
@ INTREG_R8_SVC
Definition: intregs.hh:194
ArmISA::IntRegSvcMap
const IntRegMap IntRegSvcMap
Definition: intregs.hh:351
ArmISA::INTREG_R7_ABT
@ INTREG_R7_ABT
Definition: intregs.hh:227
ArmISA::INTREG_PC_IRQ
@ INTREG_PC_IRQ
Definition: intregs.hh:286
ArmISA::INTREG_R8_ABT
@ INTREG_R8_ABT
Definition: intregs.hh:228
ArmISA::INTREG_R14_ABT
@ INTREG_R14_ABT
Definition: intregs.hh:89
ArmISA::INTREG_X11
@ INTREG_X11
Definition: intregs.hh:138
ArmISA::INTREG_UREG1
@ INTREG_UREG1
Definition: intregs.hh:114
ArmISA::INTREG_R3_USR
@ INTREG_R3_USR
Definition: intregs.hh:168
ArmISA::INTREG_PC_SVC
@ INTREG_PC_SVC
Definition: intregs.hh:199
ArmISA::INTREG_R5_SVC
@ INTREG_R5_SVC
Definition: intregs.hh:191
ArmISA::INTREG_R0_MON
@ INTREG_R0_MON
Definition: intregs.hh:203
ArmISA::INTREG_SP_FIQ
@ INTREG_SP_FIQ
Definition: intregs.hh:108
ArmISA::INTREG_R11_USR
@ INTREG_R11_USR
Definition: intregs.hh:176
ArmISA::INTREG_R15_USR
@ INTREG_R15_USR
Definition: intregs.hh:182
ArmISA::INTREG_R0_UND
@ INTREG_R0_UND
Definition: intregs.hh:256
ArmISA::INTREG_R9_USR
@ INTREG_R9_USR
Definition: intregs.hh:174
ArmISA::INTREG_R14_FIQ
@ INTREG_R14_FIQ
Definition: intregs.hh:109
ArmISA::INTREG_R13_SVC
@ INTREG_R13_SVC
Definition: intregs.hh:74
ArmISA::INTREG_R9_FIQ
@ INTREG_R9_FIQ
Definition: intregs.hh:103
ArmISA::INTREG_R10_UND
@ INTREG_R10_UND
Definition: intregs.hh:266
ArmISA::INTREG_R5
@ INTREG_R5
Definition: intregs.hh:59
ArmISA::INTREG_R1_ABT
@ INTREG_R1_ABT
Definition: intregs.hh:221
ArmISA::INTREG_R11_IRQ
@ INTREG_R11_IRQ
Definition: intregs.hh:284
ArmISA::INTREG_R15_UND
@ INTREG_R15_UND
Definition: intregs.hh:270
ArmISA::INTREG_X19
@ INTREG_X19
Definition: intregs.hh:146
ArmISA::INTREG_X25
@ INTREG_X25
Definition: intregs.hh:152
ArmISA::INTREG_R3_MON
@ INTREG_R3_MON
Definition: intregs.hh:206
ArmISA::INTREG_X16
@ INTREG_X16
Definition: intregs.hh:143
panic
#define panic(...)
This implements a cprintf based panic() function.
Definition: logging.hh:171
curTick
Tick curTick()
The current simulated tick.
Definition: core.hh:45
ArmISA::INTREG_R4_MON
@ INTREG_R4_MON
Definition: intregs.hh:207
ArmISA::INTREG_SP2
@ INTREG_SP2
Definition: intregs.hh:120
ArmISA::INTREG_X17
@ INTREG_X17
Definition: intregs.hh:144

Generated on Wed Sep 30 2020 14:02:00 for gem5 by doxygen 1.8.17