gem5
v24.0.0.0
Loading...
Searching...
No Matches
arch
mips
regs
misc.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_REGS_MISC_HH__
31
#define __ARCH_MIPS_REGS_MISC_HH__
32
33
#include "
cpu/reg_class.hh
"
34
#include "debug/MiscRegs.hh"
35
36
namespace
gem5
37
{
38
namespace
MipsISA
39
{
40
namespace
misc_reg
41
{
42
43
// Enumerate names for 'Control' Registers in the CPU
44
// Reference MIPS32 Arch. for Programmers, Vol. III, Ch.8
45
// (Register Number-Register Select) Summary of Register
46
//------------------------------------------------------
47
// The first set of names classify the CP0 names as Register Banks
48
// for easy indexing when using the 'RD + SEL' index combination
49
// in CP0 instructions.
50
enum :
RegIndex
51
{
52
Index
= 0,
//Bank 0: 0 - 3
53
MvpControl
,
54
MvpConf0
,
55
MvpConf1
,
56
57
Cp0Random
= 8,
//Bank 1: 8 - 15
58
VpeControl
,
59
VpeConf0
,
60
VpeConf1
,
61
Yqmask
,
62
VpeSchedule
,
63
VpeSchefback
,
64
VpeOpt
,
65
66
Entrylo0
= 16,
//Bank 2: 16 - 23
67
TcStatus
,
68
TcBind
,
69
TcRestart
,
70
TcHalt
,
71
TcContext
,
72
TcSchedule
,
73
TcSchefback
,
74
75
Entrylo1
= 24,
// Bank 3: 24
76
77
Context
= 32,
// Bank 4: 32 - 33
78
ContextConfig
,
79
80
Pagemask
= 40,
//Bank 5: 40 - 41
81
Pagegrain
= 41,
82
83
Wired
= 48,
//Bank 6:48-55
84
SrsConf0
,
85
SrsConf1
,
86
SrsConf2
,
87
SrsConf3
,
88
SrsConf4
,
89
90
Hwrena
= 56,
//Bank 7: 56-63
91
92
Badvaddr
= 64,
//Bank 8: 64-71
93
94
Count
= 72,
//Bank 9: 72-79
95
96
Entryhi
= 80,
//Bank 10: 80-87
97
98
Compare
= 88,
//Bank 11: 88-95
99
100
Status
= 96,
//Bank 12: 96-103
101
Intctl
,
102
Srsctl
,
103
Srsmap
,
104
105
Cause
= 104,
//Bank 13: 104-111
106
107
Epc
= 112,
//Bank 14: 112-119
108
109
Prid
= 120,
//Bank 15: 120-127,
110
Ebase
,
111
112
Config
= 128,
//Bank 16: 128-135
113
Config1
,
114
Config2
,
115
Config3
,
116
Config4
,
117
Config5
,
118
Config6
,
119
Config7
,
120
121
122
Lladdr
= 136,
//Bank 17: 136-143
123
124
Watchlo0
= 144,
//Bank 18: 144-151
125
Watchlo1
,
126
Watchlo2
,
127
Watchlo3
,
128
Watchlo4
,
129
Watchlo5
,
130
Watchlo6
,
131
Watchlo7
,
132
133
Watchhi0
= 152,
//Bank 19: 152-159
134
Watchhi1
,
135
Watchhi2
,
136
Watchhi3
,
137
Watchhi4
,
138
Watchhi5
,
139
Watchhi6
,
140
Watchhi7
,
141
142
Xccontext64
= 160,
//Bank 20: 160-167
143
144
//Bank 21: 168-175
145
146
//Bank 22: 176-183
147
148
Debug
= 184,
//Bank 23: 184-191
149
TraceControl1
,
150
TraceControl2
,
151
UserTraceData
,
152
TraceBpc
,
153
154
Depc
= 192,
//Bank 24: 192-199
155
156
Perfcnt0
= 200,
//Bank 25: 200-207
157
Perfcnt1
,
158
Perfcnt2
,
159
Perfcnt3
,
160
Perfcnt4
,
161
Perfcnt5
,
162
Perfcnt6
,
163
Perfcnt7
,
164
165
Errctl
= 208,
//Bank 26: 208-215
166
167
Cacheerr0
= 216,
//Bank 27: 216-223
168
Cacheerr1
,
169
Cacheerr2
,
170
Cacheerr3
,
171
172
Taglo0
= 224,
//Bank 28: 224-231
173
Datalo1
,
174
Taglo2
,
175
Datalo3
,
176
Taglo4
,
177
Datalo5
,
178
Taglo6
,
179
Datalo7
,
180
181
Taghi0
= 232,
//Bank 29: 232-239
182
Datahi1
,
183
Taghi2
,
184
Datahi3
,
185
Taghi4
,
186
Datahi5
,
187
Taghi6
,
188
Datahi7
,
189
190
191
ErrorEpc
= 240,
//Bank 30: 240-247
192
193
Desave
= 248,
//Bank 31: 248-256
194
195
Llflag
= 257,
196
TpValue
,
197
198
NumRegs
199
};
200
201
}
// namespace misc_reg
202
203
inline
constexpr
RegClass
miscRegClass
(
MiscRegClass
,
MiscRegClassName
,
204
misc_reg::NumRegs
, debug::MiscRegs);
205
206
}
// namespace MipsISA
207
}
// namespace gem5
208
209
#endif
gem5::RegClass
Definition
reg_class.hh:186
gem5::ArmISA::miscRegClass
constexpr RegClass miscRegClass
Definition
misc.hh:2937
gem5::MipsISA::misc_reg::Datalo5
@ Datalo5
Definition
misc.hh:177
gem5::MipsISA::misc_reg::Perfcnt7
@ Perfcnt7
Definition
misc.hh:163
gem5::MipsISA::misc_reg::VpeSchedule
@ VpeSchedule
Definition
misc.hh:62
gem5::MipsISA::misc_reg::Watchhi3
@ Watchhi3
Definition
misc.hh:136
gem5::MipsISA::misc_reg::Perfcnt6
@ Perfcnt6
Definition
misc.hh:162
gem5::MipsISA::misc_reg::TcContext
@ TcContext
Definition
misc.hh:71
gem5::MipsISA::misc_reg::Srsctl
@ Srsctl
Definition
misc.hh:102
gem5::MipsISA::misc_reg::Epc
@ Epc
Definition
misc.hh:107
gem5::MipsISA::misc_reg::Entryhi
@ Entryhi
Definition
misc.hh:96
gem5::MipsISA::misc_reg::Perfcnt4
@ Perfcnt4
Definition
misc.hh:160
gem5::MipsISA::misc_reg::MvpConf0
@ MvpConf0
Definition
misc.hh:54
gem5::MipsISA::misc_reg::Taglo2
@ Taglo2
Definition
misc.hh:174
gem5::MipsISA::misc_reg::Watchlo1
@ Watchlo1
Definition
misc.hh:125
gem5::MipsISA::misc_reg::TraceBpc
@ TraceBpc
Definition
misc.hh:152
gem5::MipsISA::misc_reg::Count
@ Count
Definition
misc.hh:94
gem5::MipsISA::misc_reg::VpeConf0
@ VpeConf0
Definition
misc.hh:59
gem5::MipsISA::misc_reg::Perfcnt0
@ Perfcnt0
Definition
misc.hh:156
gem5::MipsISA::misc_reg::Config6
@ Config6
Definition
misc.hh:118
gem5::MipsISA::misc_reg::Watchhi4
@ Watchhi4
Definition
misc.hh:137
gem5::MipsISA::misc_reg::TcBind
@ TcBind
Definition
misc.hh:68
gem5::MipsISA::misc_reg::SrsConf2
@ SrsConf2
Definition
misc.hh:86
gem5::MipsISA::misc_reg::Intctl
@ Intctl
Definition
misc.hh:101
gem5::MipsISA::misc_reg::Watchlo6
@ Watchlo6
Definition
misc.hh:130
gem5::MipsISA::misc_reg::Taghi6
@ Taghi6
Definition
misc.hh:187
gem5::MipsISA::misc_reg::Badvaddr
@ Badvaddr
Definition
misc.hh:92
gem5::MipsISA::misc_reg::Datalo3
@ Datalo3
Definition
misc.hh:175
gem5::MipsISA::misc_reg::Compare
@ Compare
Definition
misc.hh:98
gem5::MipsISA::misc_reg::Errctl
@ Errctl
Definition
misc.hh:165
gem5::MipsISA::misc_reg::Ebase
@ Ebase
Definition
misc.hh:110
gem5::MipsISA::misc_reg::SrsConf4
@ SrsConf4
Definition
misc.hh:88
gem5::MipsISA::misc_reg::NumRegs
@ NumRegs
Definition
misc.hh:198
gem5::MipsISA::misc_reg::Datahi5
@ Datahi5
Definition
misc.hh:186
gem5::MipsISA::misc_reg::Context
@ Context
Definition
misc.hh:77
gem5::MipsISA::misc_reg::Taghi0
@ Taghi0
Definition
misc.hh:181
gem5::MipsISA::misc_reg::TcSchefback
@ TcSchefback
Definition
misc.hh:73
gem5::MipsISA::misc_reg::Perfcnt1
@ Perfcnt1
Definition
misc.hh:157
gem5::MipsISA::misc_reg::Xccontext64
@ Xccontext64
Definition
misc.hh:142
gem5::MipsISA::misc_reg::Datahi3
@ Datahi3
Definition
misc.hh:184
gem5::MipsISA::misc_reg::Taglo6
@ Taglo6
Definition
misc.hh:178
gem5::MipsISA::misc_reg::Watchhi5
@ Watchhi5
Definition
misc.hh:138
gem5::MipsISA::misc_reg::Perfcnt5
@ Perfcnt5
Definition
misc.hh:161
gem5::MipsISA::misc_reg::Cacheerr2
@ Cacheerr2
Definition
misc.hh:169
gem5::MipsISA::misc_reg::Debug
@ Debug
Definition
misc.hh:148
gem5::MipsISA::misc_reg::Cause
@ Cause
Definition
misc.hh:105
gem5::MipsISA::misc_reg::Hwrena
@ Hwrena
Definition
misc.hh:90
gem5::MipsISA::misc_reg::Entrylo0
@ Entrylo0
Definition
misc.hh:66
gem5::MipsISA::misc_reg::Datahi1
@ Datahi1
Definition
misc.hh:182
gem5::MipsISA::misc_reg::Cp0Random
@ Cp0Random
Definition
misc.hh:57
gem5::MipsISA::misc_reg::Status
@ Status
Definition
misc.hh:100
gem5::MipsISA::misc_reg::Config5
@ Config5
Definition
misc.hh:117
gem5::MipsISA::misc_reg::Watchlo0
@ Watchlo0
Definition
misc.hh:124
gem5::MipsISA::misc_reg::TcSchedule
@ TcSchedule
Definition
misc.hh:72
gem5::MipsISA::misc_reg::Config2
@ Config2
Definition
misc.hh:114
gem5::MipsISA::misc_reg::Cacheerr1
@ Cacheerr1
Definition
misc.hh:168
gem5::MipsISA::misc_reg::Perfcnt2
@ Perfcnt2
Definition
misc.hh:158
gem5::MipsISA::misc_reg::Entrylo1
@ Entrylo1
Definition
misc.hh:75
gem5::MipsISA::misc_reg::SrsConf1
@ SrsConf1
Definition
misc.hh:85
gem5::MipsISA::misc_reg::Config3
@ Config3
Definition
misc.hh:115
gem5::MipsISA::misc_reg::Datahi7
@ Datahi7
Definition
misc.hh:188
gem5::MipsISA::misc_reg::Srsmap
@ Srsmap
Definition
misc.hh:103
gem5::MipsISA::misc_reg::Watchlo7
@ Watchlo7
Definition
misc.hh:131
gem5::MipsISA::misc_reg::VpeSchefback
@ VpeSchefback
Definition
misc.hh:63
gem5::MipsISA::misc_reg::Desave
@ Desave
Definition
misc.hh:193
gem5::MipsISA::misc_reg::Pagemask
@ Pagemask
Definition
misc.hh:80
gem5::MipsISA::misc_reg::Perfcnt3
@ Perfcnt3
Definition
misc.hh:159
gem5::MipsISA::misc_reg::Taglo4
@ Taglo4
Definition
misc.hh:176
gem5::MipsISA::misc_reg::MvpControl
@ MvpControl
Definition
misc.hh:53
gem5::MipsISA::misc_reg::Watchlo4
@ Watchlo4
Definition
misc.hh:128
gem5::MipsISA::misc_reg::Lladdr
@ Lladdr
Definition
misc.hh:122
gem5::MipsISA::misc_reg::Taghi4
@ Taghi4
Definition
misc.hh:185
gem5::MipsISA::misc_reg::ErrorEpc
@ ErrorEpc
Definition
misc.hh:191
gem5::MipsISA::misc_reg::Config7
@ Config7
Definition
misc.hh:119
gem5::MipsISA::misc_reg::Cacheerr3
@ Cacheerr3
Definition
misc.hh:170
gem5::MipsISA::misc_reg::MvpConf1
@ MvpConf1
Definition
misc.hh:55
gem5::MipsISA::misc_reg::UserTraceData
@ UserTraceData
Definition
misc.hh:151
gem5::MipsISA::misc_reg::Watchhi0
@ Watchhi0
Definition
misc.hh:133
gem5::MipsISA::misc_reg::Cacheerr0
@ Cacheerr0
Definition
misc.hh:167
gem5::MipsISA::misc_reg::TraceControl1
@ TraceControl1
Definition
misc.hh:149
gem5::MipsISA::misc_reg::Pagegrain
@ Pagegrain
Definition
misc.hh:81
gem5::MipsISA::misc_reg::VpeControl
@ VpeControl
Definition
misc.hh:58
gem5::MipsISA::misc_reg::Config4
@ Config4
Definition
misc.hh:116
gem5::MipsISA::misc_reg::Config
@ Config
Definition
misc.hh:112
gem5::MipsISA::misc_reg::Datalo1
@ Datalo1
Definition
misc.hh:173
gem5::MipsISA::misc_reg::TcHalt
@ TcHalt
Definition
misc.hh:70
gem5::MipsISA::misc_reg::Taghi2
@ Taghi2
Definition
misc.hh:183
gem5::MipsISA::misc_reg::Datalo7
@ Datalo7
Definition
misc.hh:179
gem5::MipsISA::misc_reg::ContextConfig
@ ContextConfig
Definition
misc.hh:78
gem5::MipsISA::misc_reg::Watchlo5
@ Watchlo5
Definition
misc.hh:129
gem5::MipsISA::misc_reg::VpeConf1
@ VpeConf1
Definition
misc.hh:60
gem5::MipsISA::misc_reg::SrsConf0
@ SrsConf0
Definition
misc.hh:84
gem5::MipsISA::misc_reg::TraceControl2
@ TraceControl2
Definition
misc.hh:150
gem5::MipsISA::misc_reg::Prid
@ Prid
Definition
misc.hh:109
gem5::MipsISA::misc_reg::Watchlo2
@ Watchlo2
Definition
misc.hh:126
gem5::MipsISA::misc_reg::TcRestart
@ TcRestart
Definition
misc.hh:69
gem5::MipsISA::misc_reg::Llflag
@ Llflag
Definition
misc.hh:195
gem5::MipsISA::misc_reg::Watchhi2
@ Watchhi2
Definition
misc.hh:135
gem5::MipsISA::misc_reg::Depc
@ Depc
Definition
misc.hh:154
gem5::MipsISA::misc_reg::TpValue
@ TpValue
Definition
misc.hh:196
gem5::MipsISA::misc_reg::Config1
@ Config1
Definition
misc.hh:113
gem5::MipsISA::misc_reg::Watchhi6
@ Watchhi6
Definition
misc.hh:139
gem5::MipsISA::misc_reg::Wired
@ Wired
Definition
misc.hh:83
gem5::MipsISA::misc_reg::Taglo0
@ Taglo0
Definition
misc.hh:172
gem5::MipsISA::misc_reg::Watchhi7
@ Watchhi7
Definition
misc.hh:140
gem5::MipsISA::misc_reg::Yqmask
@ Yqmask
Definition
misc.hh:61
gem5::MipsISA::misc_reg::VpeOpt
@ VpeOpt
Definition
misc.hh:64
gem5::MipsISA::misc_reg::Watchhi1
@ Watchhi1
Definition
misc.hh:134
gem5::MipsISA::misc_reg::SrsConf3
@ SrsConf3
Definition
misc.hh:87
gem5::MipsISA::misc_reg::Watchlo3
@ Watchlo3
Definition
misc.hh:127
gem5::MipsISA::misc_reg::TcStatus
@ TcStatus
Definition
misc.hh:67
gem5::MipsISA::misc_reg::Index
@ Index
Definition
misc.hh:52
gem5
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Definition
binary32.hh:36
gem5::RegIndex
uint16_t RegIndex
Definition
types.hh:176
gem5::MiscRegClassName
constexpr char MiscRegClassName[]
Definition
reg_class.hh:82
gem5::MiscRegClass
@ MiscRegClass
Control (misc) register.
Definition
reg_class.hh:70
reg_class.hh
Generated on Tue Jun 18 2024 16:24:04 for gem5 by
doxygen
1.11.0