gem5  [DEVELOP-FOR-23.0]
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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
56 
57  Cp0Random = 8, //Bank 1: 8 - 15
65 
66  Entrylo0 = 16, //Bank 2: 16 - 23
74 
75  Entrylo1 = 24, // Bank 3: 24
76 
77  Context = 32, // Bank 4: 32 - 33
79 
80  Pagemask = 40, //Bank 5: 40 - 41
81  Pagegrain = 41,
82 
83  Wired = 48, //Bank 6:48-55
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
104 
105  Cause = 104, //Bank 13: 104-111
106 
107  Epc = 112, //Bank 14: 112-119
108 
109  Prid = 120, //Bank 15: 120-127,
111 
112  Config = 128, //Bank 16: 128-135
120 
121 
122  Lladdr = 136, //Bank 17: 136-143
123 
124  Watchlo0 = 144, //Bank 18: 144-151
132 
133  Watchhi0 = 152, //Bank 19: 152-159
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
153 
154  Depc = 192, //Bank 24: 192-199
155 
156  Perfcnt0 = 200, //Bank 25: 200-207
164 
165  Errctl = 208, //Bank 26: 208-215
166 
167  Cacheerr0 = 216, //Bank 27: 216-223
171 
172  Taglo0 = 224, //Bank 28: 224-231
180 
181  Taghi0 = 232, //Bank 29: 232-239
189 
190 
191  ErrorEpc = 240, //Bank 30: 240-247
192 
193  Desave = 248, //Bank 31: 248-256
194 
195  Llflag = 257,
197 
199 };
200 
201 } // namespace misc_reg
202 
204  misc_reg::NumRegs, debug::MiscRegs);
205 
206 } // namespace MipsISA
207 } // namespace gem5
208 
209 #endif
gem5::MipsISA::misc_reg::Hwrena
@ Hwrena
Definition: misc.hh:90
gem5::MipsISA::misc_reg::Datalo7
@ Datalo7
Definition: misc.hh:179
gem5::MipsISA::misc_reg::Config1
@ Config1
Definition: misc.hh:113
gem5::MipsISA::misc_reg::Perfcnt6
@ Perfcnt6
Definition: misc.hh:162
gem5::MipsISA::misc_reg::SrsConf0
@ SrsConf0
Definition: misc.hh:84
gem5::MipsISA::misc_reg::Taghi6
@ Taghi6
Definition: misc.hh:187
gem5::MipsISA::misc_reg::Srsctl
@ Srsctl
Definition: misc.hh:102
gem5::MipsISA::misc_reg::Datahi5
@ Datahi5
Definition: misc.hh:186
gem5::MipsISA::misc_reg::Perfcnt5
@ Perfcnt5
Definition: misc.hh:161
gem5::MipsISA::misc_reg::Cacheerr3
@ Cacheerr3
Definition: misc.hh:170
gem5::MipsISA::misc_reg::Config
@ Config
Definition: misc.hh:112
gem5::MipsISA::misc_reg::TcContext
@ TcContext
Definition: misc.hh:71
gem5::MipsISA::misc_reg::Perfcnt4
@ Perfcnt4
Definition: misc.hh:160
gem5::MipsISA::misc_reg::VpeSchefback
@ VpeSchefback
Definition: misc.hh:63
gem5::MipsISA::misc_reg::Perfcnt1
@ Perfcnt1
Definition: misc.hh:157
gem5::MipsISA::misc_reg::Taglo2
@ Taglo2
Definition: misc.hh:174
gem5::MipsISA::misc_reg::Config3
@ Config3
Definition: misc.hh:115
gem5::MipsISA::misc_reg::Pagemask
@ Pagemask
Definition: misc.hh:80
gem5::MipsISA::misc_reg::SrsConf2
@ SrsConf2
Definition: misc.hh:86
gem5::MipsISA::misc_reg::Count
@ Count
Definition: misc.hh:94
gem5::MipsISA::misc_reg::Config2
@ Config2
Definition: misc.hh:114
gem5::MipsISA::misc_reg::Config4
@ Config4
Definition: misc.hh:116
gem5::MipsISA::misc_reg::Cause
@ Cause
Definition: misc.hh:105
gem5::MipsISA::misc_reg::Entrylo1
@ Entrylo1
Definition: misc.hh:75
gem5::MipsISA::misc_reg::VpeConf0
@ VpeConf0
Definition: misc.hh:59
gem5::MipsISA::misc_reg::SrsConf4
@ SrsConf4
Definition: misc.hh:88
gem5::MipsISA::misc_reg::MvpControl
@ MvpControl
Definition: misc.hh:53
gem5::MipsISA::misc_reg::Taghi4
@ Taghi4
Definition: misc.hh:185
gem5::MipsISA::misc_reg::TraceControl2
@ TraceControl2
Definition: misc.hh:150
gem5::MipsISA::misc_reg::Taglo0
@ Taglo0
Definition: misc.hh:172
gem5::MipsISA::misc_reg::Taglo4
@ Taglo4
Definition: misc.hh:176
gem5::MipsISA::misc_reg::Epc
@ Epc
Definition: misc.hh:107
gem5::MipsISA::misc_reg::Lladdr
@ Lladdr
Definition: misc.hh:122
gem5::MipsISA::misc_reg::Perfcnt3
@ Perfcnt3
Definition: misc.hh:159
gem5::MipsISA::misc_reg::VpeOpt
@ VpeOpt
Definition: misc.hh:64
gem5::MipsISA::misc_reg::Xccontext64
@ Xccontext64
Definition: misc.hh:142
gem5::MipsISA::misc_reg::TcBind
@ TcBind
Definition: misc.hh:68
gem5::MipsISA::misc_reg::VpeConf1
@ VpeConf1
Definition: misc.hh:60
gem5::MipsISA::misc_reg::TpValue
@ TpValue
Definition: misc.hh:196
gem5::MipsISA::misc_reg::Index
@ Index
Definition: misc.hh:52
gem5::MipsISA::misc_reg::TcHalt
@ TcHalt
Definition: misc.hh:70
gem5::MipsISA::misc_reg::Config5
@ Config5
Definition: misc.hh:117
gem5::MipsISA::misc_reg::Compare
@ Compare
Definition: misc.hh:98
gem5::MipsISA::misc_reg::Datahi7
@ Datahi7
Definition: misc.hh:188
gem5::MipsISA::misc_reg::Config6
@ Config6
Definition: misc.hh:118
gem5::MipsISA::misc_reg::Watchlo4
@ Watchlo4
Definition: misc.hh:128
gem5::MipsISA::misc_reg::Yqmask
@ Yqmask
Definition: misc.hh:61
gem5::MipsISA::misc_reg::ContextConfig
@ ContextConfig
Definition: misc.hh:78
gem5::MipsISA::misc_reg::TcStatus
@ TcStatus
Definition: misc.hh:67
gem5::MipsISA::misc_reg::NumRegs
@ NumRegs
Definition: misc.hh:198
gem5::MipsISA::misc_reg::Ebase
@ Ebase
Definition: misc.hh:110
gem5::MipsISA::misc_reg::TcRestart
@ TcRestart
Definition: misc.hh:69
gem5::MipsISA::misc_reg::Entrylo0
@ Entrylo0
Definition: misc.hh:66
gem5::MipsISA::misc_reg::SrsConf1
@ SrsConf1
Definition: misc.hh:85
gem5::MipsISA::misc_reg::Datalo1
@ Datalo1
Definition: misc.hh:173
gem5::MipsISA::misc_reg::Depc
@ Depc
Definition: misc.hh:154
gem5::MipsISA::misc_reg::Watchlo6
@ Watchlo6
Definition: misc.hh:130
gem5::MipsISA::misc_reg::VpeSchedule
@ VpeSchedule
Definition: misc.hh:62
gem5::MipsISA::misc_reg::Watchhi4
@ Watchhi4
Definition: misc.hh:137
gem5::MipsISA::misc_reg::SrsConf3
@ SrsConf3
Definition: misc.hh:87
gem5::MipsISA::misc_reg::Perfcnt2
@ Perfcnt2
Definition: misc.hh:158
gem5::MipsISA::misc_reg::Wired
@ Wired
Definition: misc.hh:83
gem5::MipsISA::misc_reg::Desave
@ Desave
Definition: misc.hh:193
gem5::MipsISA::misc_reg::Watchlo1
@ Watchlo1
Definition: misc.hh:125
gem5::MipsISA::misc_reg::Cacheerr0
@ Cacheerr0
Definition: misc.hh:167
gem5::MipsISA::misc_reg::Debug
@ Debug
Definition: misc.hh:148
gem5::MipsISA::misc_reg::UserTraceData
@ UserTraceData
Definition: misc.hh:151
gem5::MipsISA::misc_reg::Watchlo2
@ Watchlo2
Definition: misc.hh:126
gem5::MipsISA::misc_reg::Entryhi
@ Entryhi
Definition: misc.hh:96
gem5::MipsISA::misc_reg::Pagegrain
@ Pagegrain
Definition: misc.hh:81
gem5::MipsISA::misc_reg::Watchhi3
@ Watchhi3
Definition: misc.hh:136
gem5::MipsISA::misc_reg::Llflag
@ Llflag
Definition: misc.hh:195
gem5::MipsISA::misc_reg::Datalo3
@ Datalo3
Definition: misc.hh:175
gem5::RegClass
Definition: reg_class.hh:184
gem5::MipsISA::misc_reg::Watchhi6
@ Watchhi6
Definition: misc.hh:139
gem5::MipsISA::misc_reg::Watchhi5
@ Watchhi5
Definition: misc.hh:138
gem5::MipsISA::misc_reg::Watchlo7
@ Watchlo7
Definition: misc.hh:131
gem5::MipsISA::misc_reg::VpeControl
@ VpeControl
Definition: misc.hh:58
gem5::MipsISA::misc_reg::Watchhi7
@ Watchhi7
Definition: misc.hh:140
gem5::MipsISA::misc_reg::Watchlo5
@ Watchlo5
Definition: misc.hh:129
gem5::MiscRegClassName
constexpr char MiscRegClassName[]
Definition: reg_class.hh:81
gem5::MipsISA::misc_reg::TraceBpc
@ TraceBpc
Definition: misc.hh:152
gem5::MiscRegClass
@ MiscRegClass
Control (misc) register.
Definition: reg_class.hh:69
gem5::MipsISA::misc_reg::TcSchedule
@ TcSchedule
Definition: misc.hh:72
gem5::MipsISA::misc_reg::Watchlo0
@ Watchlo0
Definition: misc.hh:124
gem5::MipsISA::miscRegClass
constexpr RegClass miscRegClass(MiscRegClass, MiscRegClassName, misc_reg::NumRegs, debug::MiscRegs)
gem5::MipsISA::misc_reg::Cp0Random
@ Cp0Random
Definition: misc.hh:57
reg_class.hh
gem5::MipsISA::misc_reg::Watchhi1
@ Watchhi1
Definition: misc.hh:134
gem5::MipsISA::misc_reg::MvpConf0
@ MvpConf0
Definition: misc.hh:54
gem5::MipsISA::misc_reg::Watchlo3
@ Watchlo3
Definition: misc.hh:127
gem5::MipsISA::misc_reg::Datalo5
@ Datalo5
Definition: misc.hh:177
gem5::MipsISA::misc_reg::Watchhi0
@ Watchhi0
Definition: misc.hh:133
gem5::MipsISA::misc_reg::TraceControl1
@ TraceControl1
Definition: misc.hh:149
gem5::MipsISA::misc_reg::Errctl
@ Errctl
Definition: misc.hh:165
gem5::MipsISA::misc_reg::Context
@ Context
Definition: misc.hh:77
gem5::MipsISA::misc_reg::Taghi2
@ Taghi2
Definition: misc.hh:183
gem5::RegIndex
uint16_t RegIndex
Definition: types.hh:176
gem5::MipsISA::misc_reg::TcSchefback
@ TcSchefback
Definition: misc.hh:73
gem5::MipsISA::misc_reg::Srsmap
@ Srsmap
Definition: misc.hh:103
gem5::MipsISA::misc_reg::Datahi1
@ Datahi1
Definition: misc.hh:182
gem5::MipsISA::misc_reg::Taghi0
@ Taghi0
Definition: misc.hh:181
gem5::MipsISA::misc_reg::Perfcnt7
@ Perfcnt7
Definition: misc.hh:163
gem5::MipsISA::misc_reg::Prid
@ Prid
Definition: misc.hh:109
gem5::MipsISA::misc_reg::Badvaddr
@ Badvaddr
Definition: misc.hh:92
gem5
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
Definition: gpu_translation_state.hh:37
gem5::MipsISA::misc_reg::Datahi3
@ Datahi3
Definition: misc.hh:184
gem5::MipsISA::misc_reg::Intctl
@ Intctl
Definition: misc.hh:101
gem5::MipsISA::misc_reg::Config7
@ Config7
Definition: misc.hh:119
gem5::MipsISA::misc_reg::Perfcnt0
@ Perfcnt0
Definition: misc.hh:156
gem5::MipsISA::misc_reg::Cacheerr1
@ Cacheerr1
Definition: misc.hh:168
gem5::MipsISA::misc_reg::Taglo6
@ Taglo6
Definition: misc.hh:178
gem5::MipsISA::misc_reg::ErrorEpc
@ ErrorEpc
Definition: misc.hh:191
gem5::MipsISA::misc_reg::Status
@ Status
Definition: misc.hh:100
gem5::MipsISA::misc_reg::Watchhi2
@ Watchhi2
Definition: misc.hh:135
gem5::MipsISA::misc_reg::Cacheerr2
@ Cacheerr2
Definition: misc.hh:169
gem5::MipsISA::misc_reg::MvpConf1
@ MvpConf1
Definition: misc.hh:55

Generated on Sun Jul 30 2023 01:56:48 for gem5 by doxygen 1.8.17