gem5
v20.1.0.0
arch
mips
registers.hh
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2006 The Regents of The University of Michigan
3
* Copyright (c) 2007 MIPS Technologies, Inc.
4
* All rights reserved.
5
*
6
* Redistribution and use in source and binary forms, with or without
7
* modification, are permitted provided that the following conditions are
8
* met: redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer;
10
* redistributions in binary form must reproduce the above copyright
11
* notice, this list of conditions and the following disclaimer in the
12
* documentation and/or other materials provided with the distribution;
13
* neither the name of the copyright holders nor the names of its
14
* contributors may be used to endorse or promote products derived from
15
* this software without specific prior written permission.
16
*
17
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
*/
29
30
#ifndef __ARCH_MIPS_REGISTERS_HH__
31
#define __ARCH_MIPS_REGISTERS_HH__
32
33
#include "
arch/generic/vec_pred_reg.hh
"
34
#include "
arch/generic/vec_reg.hh
"
35
#include "arch/mips/generated/max_inst_regs.hh"
36
#include "
base/logging.hh
"
37
#include "
base/types.hh
"
38
39
class
ThreadContext
;
40
41
namespace
MipsISA
42
{
43
44
using
MipsISAInst::MaxInstSrcRegs
;
45
using
MipsISAInst::MaxInstDestRegs;
46
using
MipsISAInst::MaxMiscDestRegs
;
47
48
// Constants Related to the number of registers
49
const
int
NumIntArchRegs
= 32;
50
const
int
NumIntSpecialRegs
= 9;
51
const
int
NumFloatArchRegs
= 32;
52
const
int
NumFloatSpecialRegs
= 5;
53
54
const
int
MaxShadowRegSets
= 16;
// Maximum number of shadow register sets
55
const
int
NumIntRegs
=
NumIntArchRegs
+
NumIntSpecialRegs
;
//HI & LO Regs
56
const
int
NumFloatRegs
=
NumFloatArchRegs
+
NumFloatSpecialRegs
;
//
57
const
int
NumVecRegs
= 1;
// Not applicable to MIPS
58
// (1 to prevent warnings)
59
const
int
NumVecPredRegs
= 1;
// Not applicable to MIPS
60
// (1 to prevent warnings)
61
const
int
NumCCRegs
= 0;
62
63
const
uint32_t
MIPS32_QNAN
= 0x7fbfffff;
64
const
uint64_t
MIPS64_QNAN
=
ULL
(0x7ff7ffffffffffff);
65
66
enum
FPControlRegNums
{
67
FLOATREG_FIR
=
NumFloatArchRegs
,
68
FLOATREG_FCCR
,
69
FLOATREG_FEXR
,
70
FLOATREG_FENR
,
71
FLOATREG_FCSR
72
};
73
74
enum
FCSRBits
{
75
Inexact
= 1,
76
Underflow
,
77
Overflow
,
78
DivideByZero
,
79
Invalid
,
80
Unimplemented
81
};
82
83
enum
FCSRFields
{
84
Flag_Field
= 1,
85
Enable_Field
= 6,
86
Cause_Field
= 11
87
};
88
89
enum
MiscIntRegNums
{
90
INTREG_LO
=
NumIntArchRegs
,
91
INTREG_DSP_LO0
=
INTREG_LO
,
92
INTREG_HI
,
93
INTREG_DSP_HI0
=
INTREG_HI
,
94
INTREG_DSP_ACX0
,
95
INTREG_DSP_LO1
,
96
INTREG_DSP_HI1
,
97
INTREG_DSP_ACX1
,
98
INTREG_DSP_LO2
,
99
INTREG_DSP_HI2
,
100
INTREG_DSP_ACX2
,
101
INTREG_DSP_LO3
,
102
INTREG_DSP_HI3
,
103
INTREG_DSP_ACX3
,
104
INTREG_DSP_CONTROL
105
};
106
107
// semantically meaningful register indices
108
const
int
ZeroReg
= 0;
109
const
int
AssemblerReg
= 1;
110
const
int
SyscallSuccessReg
= 7;
111
const
int
FirstArgumentReg
= 4;
112
const
int
ReturnValueReg
= 2;
113
114
const
int
KernelReg0
= 26;
115
const
int
KernelReg1
= 27;
116
const
int
GlobalPointerReg
= 28;
117
const
int
StackPointerReg
= 29;
118
const
int
FramePointerReg
= 30;
119
const
int
ReturnAddressReg
= 31;
120
121
const
int
SyscallPseudoReturnReg
= 3;
122
123
// Enumerate names for 'Control' Registers in the CPU
124
// Reference MIPS32 Arch. for Programmers, Vol. III, Ch.8
125
// (Register Number-Register Select) Summary of Register
126
//------------------------------------------------------
127
// The first set of names classify the CP0 names as Register Banks
128
// for easy indexing when using the 'RD + SEL' index combination
129
// in CP0 instructions.
130
enum
MiscRegIndex
{
131
MISCREG_INDEX
= 0,
//Bank 0: 0 - 3
132
MISCREG_MVP_CONTROL
,
133
MISCREG_MVP_CONF0
,
134
MISCREG_MVP_CONF1
,
135
136
MISCREG_CP0_RANDOM
= 8,
//Bank 1: 8 - 15
137
MISCREG_VPE_CONTROL
,
138
MISCREG_VPE_CONF0
,
139
MISCREG_VPE_CONF1
,
140
MISCREG_YQMASK
,
141
MISCREG_VPE_SCHEDULE
,
142
MISCREG_VPE_SCHEFBACK
,
143
MISCREG_VPE_OPT
,
144
145
MISCREG_ENTRYLO0
= 16,
//Bank 2: 16 - 23
146
MISCREG_TC_STATUS
,
147
MISCREG_TC_BIND
,
148
MISCREG_TC_RESTART
,
149
MISCREG_TC_HALT
,
150
MISCREG_TC_CONTEXT
,
151
MISCREG_TC_SCHEDULE
,
152
MISCREG_TC_SCHEFBACK
,
153
154
MISCREG_ENTRYLO1
= 24,
// Bank 3: 24
155
156
MISCREG_CONTEXT
= 32,
// Bank 4: 32 - 33
157
MISCREG_CONTEXT_CONFIG
,
158
159
MISCREG_PAGEMASK
= 40,
//Bank 5: 40 - 41
160
MISCREG_PAGEGRAIN
= 41,
161
162
MISCREG_WIRED
= 48,
//Bank 6:48-55
163
MISCREG_SRS_CONF0
,
164
MISCREG_SRS_CONF1
,
165
MISCREG_SRS_CONF2
,
166
MISCREG_SRS_CONF3
,
167
MISCREG_SRS_CONF4
,
168
169
MISCREG_HWRENA
= 56,
//Bank 7: 56-63
170
171
MISCREG_BADVADDR
= 64,
//Bank 8: 64-71
172
173
MISCREG_COUNT
= 72,
//Bank 9: 72-79
174
175
MISCREG_ENTRYHI
= 80,
//Bank 10: 80-87
176
177
MISCREG_COMPARE
= 88,
//Bank 11: 88-95
178
179
MISCREG_STATUS
= 96,
//Bank 12: 96-103
180
MISCREG_INTCTL
,
181
MISCREG_SRSCTL
,
182
MISCREG_SRSMAP
,
183
184
MISCREG_CAUSE
= 104,
//Bank 13: 104-111
185
186
MISCREG_EPC
= 112,
//Bank 14: 112-119
187
188
MISCREG_PRID
= 120,
//Bank 15: 120-127,
189
MISCREG_EBASE
,
190
191
MISCREG_CONFIG
= 128,
//Bank 16: 128-135
192
MISCREG_CONFIG1
,
193
MISCREG_CONFIG2
,
194
MISCREG_CONFIG3
,
195
MISCREG_CONFIG4
,
196
MISCREG_CONFIG5
,
197
MISCREG_CONFIG6
,
198
MISCREG_CONFIG7
,
199
200
201
MISCREG_LLADDR
= 136,
//Bank 17: 136-143
202
203
MISCREG_WATCHLO0
= 144,
//Bank 18: 144-151
204
MISCREG_WATCHLO1
,
205
MISCREG_WATCHLO2
,
206
MISCREG_WATCHLO3
,
207
MISCREG_WATCHLO4
,
208
MISCREG_WATCHLO5
,
209
MISCREG_WATCHLO6
,
210
MISCREG_WATCHLO7
,
211
212
MISCREG_WATCHHI0
= 152,
//Bank 19: 152-159
213
MISCREG_WATCHHI1
,
214
MISCREG_WATCHHI2
,
215
MISCREG_WATCHHI3
,
216
MISCREG_WATCHHI4
,
217
MISCREG_WATCHHI5
,
218
MISCREG_WATCHHI6
,
219
MISCREG_WATCHHI7
,
220
221
MISCREG_XCCONTEXT64
= 160,
//Bank 20: 160-167
222
223
//Bank 21: 168-175
224
225
//Bank 22: 176-183
226
227
MISCREG_DEBUG
= 184,
//Bank 23: 184-191
228
MISCREG_TRACE_CONTROL1
,
229
MISCREG_TRACE_CONTROL2
,
230
MISCREG_USER_TRACE_DATA
,
231
MISCREG_TRACE_BPC
,
232
233
MISCREG_DEPC
= 192,
//Bank 24: 192-199
234
235
MISCREG_PERFCNT0
= 200,
//Bank 25: 200-207
236
MISCREG_PERFCNT1
,
237
MISCREG_PERFCNT2
,
238
MISCREG_PERFCNT3
,
239
MISCREG_PERFCNT4
,
240
MISCREG_PERFCNT5
,
241
MISCREG_PERFCNT6
,
242
MISCREG_PERFCNT7
,
243
244
MISCREG_ERRCTL
= 208,
//Bank 26: 208-215
245
246
MISCREG_CACHEERR0
= 216,
//Bank 27: 216-223
247
MISCREG_CACHEERR1
,
248
MISCREG_CACHEERR2
,
249
MISCREG_CACHEERR3
,
250
251
MISCREG_TAGLO0
= 224,
//Bank 28: 224-231
252
MISCREG_DATALO1
,
253
MISCREG_TAGLO2
,
254
MISCREG_DATALO3
,
255
MISCREG_TAGLO4
,
256
MISCREG_DATALO5
,
257
MISCREG_TAGLO6
,
258
MISCREG_DATALO7
,
259
260
MISCREG_TAGHI0
= 232,
//Bank 29: 232-239
261
MISCREG_DATAHI1
,
262
MISCREG_TAGHI2
,
263
MISCREG_DATAHI3
,
264
MISCREG_TAGHI4
,
265
MISCREG_DATAHI5
,
266
MISCREG_TAGHI6
,
267
MISCREG_DATAHI7
,
268
269
270
MISCREG_ERROR_EPC
= 240,
//Bank 30: 240-247
271
272
MISCREG_DESAVE
= 248,
//Bank 31: 248-256
273
274
MISCREG_LLFLAG
= 257,
275
MISCREG_TP_VALUE
,
276
277
MISCREG_NUMREGS
278
};
279
280
const
int
NumMiscRegs
=
MISCREG_NUMREGS
;
281
282
const
int
TotalNumRegs
=
NumIntRegs
+
NumFloatRegs
+
NumMiscRegs
;
283
284
// Not applicable to MIPS
285
using
VecElem
=
::DummyVecElem
;
286
using
VecReg
=
::DummyVecReg
;
287
using
ConstVecReg
=
::DummyConstVecReg
;
288
using
VecRegContainer
=
::DummyVecRegContainer
;
289
constexpr
unsigned
NumVecElemPerVecReg
=
::DummyNumVecElemPerVecReg
;
290
constexpr
size_t
VecRegSizeBytes
=
::DummyVecRegSizeBytes
;
291
292
// Not applicable to MIPS
293
using
VecPredReg
=
::DummyVecPredReg
;
294
using
ConstVecPredReg
=
::DummyConstVecPredReg
;
295
using
VecPredRegContainer
=
::DummyVecPredRegContainer
;
296
constexpr
size_t
VecPredRegSizeBits
=
::DummyVecPredRegSizeBits
;
297
constexpr
bool
VecPredRegHasPackedRepr
=
::DummyVecPredRegHasPackedRepr
;
298
299
}
// namespace MipsISA
300
301
#endif
MipsISA::MISCREG_WATCHHI0
@ MISCREG_WATCHHI0
Definition:
registers.hh:212
MipsISA::SyscallPseudoReturnReg
const int SyscallPseudoReturnReg
Definition:
registers.hh:121
MipsISA::MISCREG_SRS_CONF2
@ MISCREG_SRS_CONF2
Definition:
registers.hh:165
MipsISA::MISCREG_HWRENA
@ MISCREG_HWRENA
Definition:
registers.hh:169
MipsISA::MISCREG_WATCHLO3
@ MISCREG_WATCHLO3
Definition:
registers.hh:206
DummyVecRegSizeBytes
constexpr size_t DummyVecRegSizeBytes
Definition:
vec_reg.hh:669
MipsISA::MISCREG_TAGHI2
@ MISCREG_TAGHI2
Definition:
registers.hh:262
MipsISA::MISCREG_DATALO1
@ MISCREG_DATALO1
Definition:
registers.hh:252
MipsISA::MISCREG_VPE_OPT
@ MISCREG_VPE_OPT
Definition:
registers.hh:143
MipsISA::VecPredRegSizeBits
constexpr size_t VecPredRegSizeBits
Definition:
registers.hh:296
MipsISA::MISCREG_VPE_CONTROL
@ MISCREG_VPE_CONTROL
Definition:
registers.hh:137
MipsISA::VecPredRegHasPackedRepr
constexpr bool VecPredRegHasPackedRepr
Definition:
registers.hh:297
DummyVecPredRegSizeBits
constexpr size_t DummyVecPredRegSizeBits
Definition:
vec_pred_reg.hh:398
VecPredRegContainer
Generic predicate register container.
Definition:
vec_pred_reg.hh:47
MipsISA::KernelReg0
const int KernelReg0
Definition:
registers.hh:114
MipsISA::MISCREG_TC_CONTEXT
@ MISCREG_TC_CONTEXT
Definition:
registers.hh:150
MipsISA::INTREG_DSP_CONTROL
@ INTREG_DSP_CONTROL
Definition:
registers.hh:104
MipsISA::FLOATREG_FIR
@ FLOATREG_FIR
Definition:
registers.hh:67
MipsISA::NumFloatSpecialRegs
const int NumFloatSpecialRegs
Definition:
registers.hh:52
MipsISA::MISCREG_VPE_SCHEFBACK
@ MISCREG_VPE_SCHEFBACK
Definition:
registers.hh:142
MipsISA::MISCREG_DATAHI1
@ MISCREG_DATAHI1
Definition:
registers.hh:261
MipsISA::MISCREG_CONFIG6
@ MISCREG_CONFIG6
Definition:
registers.hh:197
MipsISA::NumIntRegs
const int NumIntRegs
Definition:
registers.hh:55
MipsISA::ReturnValueReg
const int ReturnValueReg
Definition:
registers.hh:112
MipsISA::MISCREG_TAGHI4
@ MISCREG_TAGHI4
Definition:
registers.hh:264
MipsISA::MISCREG_WATCHHI5
@ MISCREG_WATCHHI5
Definition:
registers.hh:217
MipsISA::MISCREG_CONTEXT
@ MISCREG_CONTEXT
Definition:
registers.hh:156
MipsISA::MISCREG_PERFCNT1
@ MISCREG_PERFCNT1
Definition:
registers.hh:236
DummyVecPredRegHasPackedRepr
constexpr bool DummyVecPredRegHasPackedRepr
Dummy type aliases and constants for architectures that do not implement vector predicate registers.
Definition:
vec_pred_reg.hh:391
MipsISA::INTREG_DSP_LO2
@ INTREG_DSP_LO2
Definition:
registers.hh:98
MipsISA::NumCCRegs
const int NumCCRegs
Definition:
registers.hh:61
MipsISA::MISCREG_DATAHI5
@ MISCREG_DATAHI5
Definition:
registers.hh:265
MipsISA::Enable_Field
@ Enable_Field
Definition:
registers.hh:85
MipsISA::Unimplemented
@ Unimplemented
Definition:
registers.hh:80
MipsISA::INTREG_LO
@ INTREG_LO
Definition:
registers.hh:90
MipsISA::KernelReg1
const int KernelReg1
Definition:
registers.hh:115
MipsISA::INTREG_DSP_HI3
@ INTREG_DSP_HI3
Definition:
registers.hh:102
MipsISA::MISCREG_PERFCNT2
@ MISCREG_PERFCNT2
Definition:
registers.hh:237
MipsISA::MISCREG_DEPC
@ MISCREG_DEPC
Definition:
registers.hh:233
MipsISA::MISCREG_MVP_CONTROL
@ MISCREG_MVP_CONTROL
Definition:
registers.hh:132
MipsISA::MISCREG_CACHEERR2
@ MISCREG_CACHEERR2
Definition:
registers.hh:248
MipsISA::MISCREG_INTCTL
@ MISCREG_INTCTL
Definition:
registers.hh:180
MipsISA::MISCREG_WATCHLO7
@ MISCREG_WATCHLO7
Definition:
registers.hh:210
MipsISA::MISCREG_ENTRYLO0
@ MISCREG_ENTRYLO0
Definition:
registers.hh:145
MipsISA::VecRegSizeBytes
constexpr size_t VecRegSizeBytes
Definition:
registers.hh:290
MipsISA::MISCREG_CAUSE
@ MISCREG_CAUSE
Definition:
registers.hh:184
MipsISA::MISCREG_USER_TRACE_DATA
@ MISCREG_USER_TRACE_DATA
Definition:
registers.hh:230
MipsISA::MIPS32_QNAN
const uint32_t MIPS32_QNAN
Definition:
registers.hh:63
MipsISA::FLOATREG_FCSR
@ FLOATREG_FCSR
Definition:
registers.hh:71
MipsISA::MISCREG_PERFCNT5
@ MISCREG_PERFCNT5
Definition:
registers.hh:240
MipsISA::Cause_Field
@ Cause_Field
Definition:
registers.hh:86
MipsISA::MISCREG_CP0_RANDOM
@ MISCREG_CP0_RANDOM
Definition:
registers.hh:136
MipsISA::MISCREG_DATAHI7
@ MISCREG_DATAHI7
Definition:
registers.hh:267
MipsISA::GlobalPointerReg
const int GlobalPointerReg
Definition:
registers.hh:116
MipsISA::MISCREG_TC_BIND
@ MISCREG_TC_BIND
Definition:
registers.hh:147
MipsISA::MISCREG_WATCHHI1
@ MISCREG_WATCHHI1
Definition:
registers.hh:213
MipsISA::NumIntArchRegs
const int NumIntArchRegs
Definition:
registers.hh:49
MipsISA::AssemblerReg
const int AssemblerReg
Definition:
registers.hh:109
MipsISA::NumIntSpecialRegs
const int NumIntSpecialRegs
Definition:
registers.hh:50
MipsISA::Underflow
@ Underflow
Definition:
registers.hh:76
MipsISA::MISCREG_TAGHI6
@ MISCREG_TAGHI6
Definition:
registers.hh:266
MipsISA::INTREG_DSP_ACX1
@ INTREG_DSP_ACX1
Definition:
registers.hh:97
DummyVecPredReg
VecPredRegT< DummyVecElem, DummyNumVecElemPerVecReg, DummyVecPredRegHasPackedRepr, false > DummyVecPredReg
Definition:
vec_pred_reg.hh:393
MipsISA::MISCREG_WATCHHI3
@ MISCREG_WATCHHI3
Definition:
registers.hh:215
MipsISA
Definition:
decoder.cc:31
MipsISA::INTREG_DSP_LO1
@ INTREG_DSP_LO1
Definition:
registers.hh:95
MipsISA::DivideByZero
@ DivideByZero
Definition:
registers.hh:78
ArmISA::MaxInstSrcRegs
const int MaxInstSrcRegs
Definition:
registers.hh:57
MipsISA::NumFloatArchRegs
const int NumFloatArchRegs
Definition:
registers.hh:51
MipsISA::Inexact
@ Inexact
Definition:
registers.hh:75
MipsISA::MISCREG_CONFIG7
@ MISCREG_CONFIG7
Definition:
registers.hh:198
MipsISA::MISCREG_TRACE_BPC
@ MISCREG_TRACE_BPC
Definition:
registers.hh:231
MipsISA::MISCREG_PAGEMASK
@ MISCREG_PAGEMASK
Definition:
registers.hh:159
MipsISA::MISCREG_CONFIG4
@ MISCREG_CONFIG4
Definition:
registers.hh:195
MipsISA::MISCREG_DATALO5
@ MISCREG_DATALO5
Definition:
registers.hh:256
MipsISA::MISCREG_STATUS
@ MISCREG_STATUS
Definition:
registers.hh:179
MipsISA::MISCREG_TAGLO2
@ MISCREG_TAGLO2
Definition:
registers.hh:253
MipsISA::MISCREG_CONFIG1
@ MISCREG_CONFIG1
Definition:
registers.hh:192
MipsISA::MISCREG_CONFIG5
@ MISCREG_CONFIG5
Definition:
registers.hh:196
MipsISA::MISCREG_DATALO7
@ MISCREG_DATALO7
Definition:
registers.hh:258
MipsISA::MiscRegIndex
MiscRegIndex
Definition:
registers.hh:130
DummyVecRegContainer
DummyVecReg::Container DummyVecRegContainer
Definition:
vec_reg.hh:668
MipsISA::INTREG_DSP_ACX0
@ INTREG_DSP_ACX0
Definition:
registers.hh:94
MipsISA::MISCREG_LLFLAG
@ MISCREG_LLFLAG
Definition:
registers.hh:274
MipsISA::MISCREG_WATCHLO5
@ MISCREG_WATCHLO5
Definition:
registers.hh:208
ThreadContext
ThreadContext is the external interface to all thread state for anything outside of the CPU.
Definition:
thread_context.hh:88
MipsISA::FLOATREG_FEXR
@ FLOATREG_FEXR
Definition:
registers.hh:69
MipsISA::MISCREG_TC_SCHEDULE
@ MISCREG_TC_SCHEDULE
Definition:
registers.hh:151
MipsISA::MISCREG_MVP_CONF0
@ MISCREG_MVP_CONF0
Definition:
registers.hh:133
MipsISA::MISCREG_PERFCNT0
@ MISCREG_PERFCNT0
Definition:
registers.hh:235
MipsISA::MISCREG_WATCHHI2
@ MISCREG_WATCHHI2
Definition:
registers.hh:214
MipsISA::MISCREG_PERFCNT6
@ MISCREG_PERFCNT6
Definition:
registers.hh:241
MipsISA::MISCREG_YQMASK
@ MISCREG_YQMASK
Definition:
registers.hh:140
MipsISA::MISCREG_TAGHI0
@ MISCREG_TAGHI0
Definition:
registers.hh:260
MipsISA::INTREG_DSP_HI0
@ INTREG_DSP_HI0
Definition:
registers.hh:93
MipsISA::MISCREG_EBASE
@ MISCREG_EBASE
Definition:
registers.hh:189
MipsISA::MISCREG_SRS_CONF4
@ MISCREG_SRS_CONF4
Definition:
registers.hh:167
MipsISA::MISCREG_PERFCNT4
@ MISCREG_PERFCNT4
Definition:
registers.hh:239
MipsISA::FCSRFields
FCSRFields
Definition:
registers.hh:83
VecPredRegT
Predicate register view.
Definition:
vec_pred_reg.hh:66
MipsISA::Overflow
@ Overflow
Definition:
registers.hh:77
MipsISA::MISCREG_DESAVE
@ MISCREG_DESAVE
Definition:
registers.hh:272
MipsISA::SyscallSuccessReg
const int SyscallSuccessReg
Definition:
registers.hh:110
MipsISA::MISCREG_MVP_CONF1
@ MISCREG_MVP_CONF1
Definition:
registers.hh:134
DummyConstVecReg
VecRegT< DummyVecElem, DummyNumVecElemPerVecReg, true > DummyConstVecReg
Definition:
vec_reg.hh:667
MipsISA::MISCREG_LLADDR
@ MISCREG_LLADDR
Definition:
registers.hh:201
MipsISA::ReturnAddressReg
const int ReturnAddressReg
Definition:
registers.hh:119
MipsISA::MISCREG_ENTRYHI
@ MISCREG_ENTRYHI
Definition:
registers.hh:175
MipsISA::MISCREG_WATCHLO6
@ MISCREG_WATCHLO6
Definition:
registers.hh:209
MipsISA::MISCREG_WATCHLO2
@ MISCREG_WATCHLO2
Definition:
registers.hh:205
MipsISA::MISCREG_SRS_CONF1
@ MISCREG_SRS_CONF1
Definition:
registers.hh:164
MipsISA::MISCREG_COMPARE
@ MISCREG_COMPARE
Definition:
registers.hh:177
MipsISA::MISCREG_DATALO3
@ MISCREG_DATALO3
Definition:
registers.hh:254
MipsISA::FramePointerReg
const int FramePointerReg
Definition:
registers.hh:118
MipsISA::MISCREG_ERROR_EPC
@ MISCREG_ERROR_EPC
Definition:
registers.hh:270
DummyVecElem
uint32_t DummyVecElem
Dummy type aliases and constants for architectures that do not implement vector registers.
Definition:
vec_reg.hh:664
MipsISA::MISCREG_SRS_CONF0
@ MISCREG_SRS_CONF0
Definition:
registers.hh:163
vec_pred_reg.hh
MipsISA::MISCREG_SRSMAP
@ MISCREG_SRSMAP
Definition:
registers.hh:182
MipsISA::MISCREG_WATCHLO4
@ MISCREG_WATCHLO4
Definition:
registers.hh:207
DummyVecReg
VecRegT< DummyVecElem, DummyNumVecElemPerVecReg, false > DummyVecReg
Definition:
vec_reg.hh:666
MipsISA::MISCREG_CONFIG
@ MISCREG_CONFIG
Definition:
registers.hh:191
DummyVecPredRegContainer
DummyVecPredReg::Container DummyVecPredRegContainer
Definition:
vec_pred_reg.hh:397
MipsISA::MISCREG_VPE_SCHEDULE
@ MISCREG_VPE_SCHEDULE
Definition:
registers.hh:141
MipsISA::NumFloatRegs
const int NumFloatRegs
Definition:
registers.hh:56
MipsISA::MISCREG_TRACE_CONTROL2
@ MISCREG_TRACE_CONTROL2
Definition:
registers.hh:229
MipsISA::StackPointerReg
const int StackPointerReg
Definition:
registers.hh:117
MipsISA::MISCREG_CONFIG3
@ MISCREG_CONFIG3
Definition:
registers.hh:194
MipsISA::MISCREG_PERFCNT7
@ MISCREG_PERFCNT7
Definition:
registers.hh:242
MipsISA::FirstArgumentReg
const int FirstArgumentReg
Definition:
registers.hh:111
MipsISA::FPControlRegNums
FPControlRegNums
Definition:
registers.hh:66
MipsISA::INTREG_DSP_ACX2
@ INTREG_DSP_ACX2
Definition:
registers.hh:100
MipsISA::MiscIntRegNums
MiscIntRegNums
Definition:
registers.hh:89
vec_reg.hh
MipsISA::Invalid
@ Invalid
Definition:
registers.hh:79
MipsISA::MISCREG_WATCHHI4
@ MISCREG_WATCHHI4
Definition:
registers.hh:216
MipsISA::MISCREG_CACHEERR0
@ MISCREG_CACHEERR0
Definition:
registers.hh:246
MipsISA::NumVecRegs
const int NumVecRegs
Definition:
registers.hh:57
MipsISA::INTREG_DSP_LO0
@ INTREG_DSP_LO0
Definition:
registers.hh:91
MipsISA::MISCREG_CACHEERR1
@ MISCREG_CACHEERR1
Definition:
registers.hh:247
MipsISA::MISCREG_PAGEGRAIN
@ MISCREG_PAGEGRAIN
Definition:
registers.hh:160
MipsISA::MaxShadowRegSets
const int MaxShadowRegSets
Definition:
registers.hh:54
MipsISA::NumMiscRegs
const int NumMiscRegs
Definition:
registers.hh:280
MipsISA::MISCREG_WIRED
@ MISCREG_WIRED
Definition:
registers.hh:162
MipsISA::NumVecPredRegs
const int NumVecPredRegs
Definition:
registers.hh:59
MipsISA::MISCREG_TRACE_CONTROL1
@ MISCREG_TRACE_CONTROL1
Definition:
registers.hh:228
DummyConstVecPredReg
VecPredRegT< DummyVecElem, DummyNumVecElemPerVecReg, DummyVecPredRegHasPackedRepr, true > DummyConstVecPredReg
Definition:
vec_pred_reg.hh:396
MipsISA::MISCREG_ENTRYLO1
@ MISCREG_ENTRYLO1
Definition:
registers.hh:154
MipsISA::MISCREG_WATCHHI7
@ MISCREG_WATCHHI7
Definition:
registers.hh:219
MipsISA::MISCREG_EPC
@ MISCREG_EPC
Definition:
registers.hh:186
types.hh
MipsISA::MISCREG_VPE_CONF0
@ MISCREG_VPE_CONF0
Definition:
registers.hh:138
MipsISA::FCSRBits
FCSRBits
Definition:
registers.hh:74
RiscvISA::MaxMiscDestRegs
const int MaxMiscDestRegs
Definition:
registers.hh:62
MipsISA::MISCREG_SRS_CONF3
@ MISCREG_SRS_CONF3
Definition:
registers.hh:166
DummyNumVecElemPerVecReg
constexpr unsigned DummyNumVecElemPerVecReg
Definition:
vec_reg.hh:665
MipsISA::MISCREG_TAGLO4
@ MISCREG_TAGLO4
Definition:
registers.hh:255
MipsISA::MISCREG_WATCHHI6
@ MISCREG_WATCHHI6
Definition:
registers.hh:218
MipsISA::INTREG_DSP_ACX3
@ INTREG_DSP_ACX3
Definition:
registers.hh:103
MipsISA::ZeroReg
const int ZeroReg
Definition:
registers.hh:108
MipsISA::MISCREG_XCCONTEXT64
@ MISCREG_XCCONTEXT64
Definition:
registers.hh:221
MipsISA::NumVecElemPerVecReg
constexpr unsigned NumVecElemPerVecReg
Definition:
registers.hh:289
MipsISA::INTREG_DSP_HI2
@ INTREG_DSP_HI2
Definition:
registers.hh:99
MipsISA::TotalNumRegs
const int TotalNumRegs
Definition:
registers.hh:282
logging.hh
MipsISA::MISCREG_COUNT
@ MISCREG_COUNT
Definition:
registers.hh:173
MipsISA::MISCREG_VPE_CONF1
@ MISCREG_VPE_CONF1
Definition:
registers.hh:139
MipsISA::FLOATREG_FCCR
@ FLOATREG_FCCR
Definition:
registers.hh:68
MipsISA::MISCREG_CONFIG2
@ MISCREG_CONFIG2
Definition:
registers.hh:193
MipsISA::MISCREG_CONTEXT_CONFIG
@ MISCREG_CONTEXT_CONFIG
Definition:
registers.hh:157
MipsISA::MISCREG_PERFCNT3
@ MISCREG_PERFCNT3
Definition:
registers.hh:238
MipsISA::MISCREG_WATCHLO0
@ MISCREG_WATCHLO0
Definition:
registers.hh:203
MipsISA::MISCREG_PRID
@ MISCREG_PRID
Definition:
registers.hh:188
MipsISA::MISCREG_DATAHI3
@ MISCREG_DATAHI3
Definition:
registers.hh:263
MipsISA::INTREG_HI
@ INTREG_HI
Definition:
registers.hh:92
MipsISA::MISCREG_SRSCTL
@ MISCREG_SRSCTL
Definition:
registers.hh:181
MipsISA::MISCREG_TC_STATUS
@ MISCREG_TC_STATUS
Definition:
registers.hh:146
MipsISA::MISCREG_TAGLO6
@ MISCREG_TAGLO6
Definition:
registers.hh:257
MipsISA::MISCREG_DEBUG
@ MISCREG_DEBUG
Definition:
registers.hh:227
MipsISA::INTREG_DSP_HI1
@ INTREG_DSP_HI1
Definition:
registers.hh:96
MipsISA::MISCREG_TC_SCHEFBACK
@ MISCREG_TC_SCHEFBACK
Definition:
registers.hh:152
MipsISA::MISCREG_ERRCTL
@ MISCREG_ERRCTL
Definition:
registers.hh:244
MipsISA::MISCREG_NUMREGS
@ MISCREG_NUMREGS
Definition:
registers.hh:277
MipsISA::MISCREG_TAGLO0
@ MISCREG_TAGLO0
Definition:
registers.hh:251
MipsISA::Flag_Field
@ Flag_Field
Definition:
registers.hh:84
MipsISA::MISCREG_BADVADDR
@ MISCREG_BADVADDR
Definition:
registers.hh:171
MipsISA::MIPS64_QNAN
const uint64_t MIPS64_QNAN
Definition:
registers.hh:64
ULL
#define ULL(N)
uint64_t constant
Definition:
types.hh:50
MipsISA::MISCREG_TC_RESTART
@ MISCREG_TC_RESTART
Definition:
registers.hh:148
MipsISA::MISCREG_TC_HALT
@ MISCREG_TC_HALT
Definition:
registers.hh:149
MipsISA::MISCREG_INDEX
@ MISCREG_INDEX
Definition:
registers.hh:131
VecRegContainer
Vector Register Abstraction This generic class is the model in a particularization of MVC,...
Definition:
vec_reg.hh:156
MipsISA::VecElem
::DummyVecElem VecElem
Definition:
registers.hh:285
VecRegT
Vector Register Abstraction This generic class is a view in a particularization of MVC,...
Definition:
vec_reg.hh:170
MipsISA::INTREG_DSP_LO3
@ INTREG_DSP_LO3
Definition:
registers.hh:101
MipsISA::MISCREG_WATCHLO1
@ MISCREG_WATCHLO1
Definition:
registers.hh:204
MipsISA::FLOATREG_FENR
@ FLOATREG_FENR
Definition:
registers.hh:70
MipsISA::MISCREG_TP_VALUE
@ MISCREG_TP_VALUE
Definition:
registers.hh:275
MipsISA::MISCREG_CACHEERR3
@ MISCREG_CACHEERR3
Definition:
registers.hh:249
Generated on Wed Sep 30 2020 14:02:01 for gem5 by
doxygen
1.8.17