gem5
v20.0.0.0
Main Page
Related Pages
Modules
+
Namespaces
Namespace List
+
Namespace Members
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
a
b
c
d
e
f
g
h
i
m
n
o
p
r
s
t
u
v
w
x
+
Enumerations
a
b
c
d
e
f
i
l
m
o
p
r
s
t
v
x
+
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
y
+
Enumerations
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
w
+
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Related Functions
:
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
+
Files
File List
+
File Members
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
z
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
+
Typedefs
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
+
Enumerations
_
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
v
w
+
Enumerator
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
+
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
dev
arm
smmu_v3_defs.hh
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2013, 2018-2019 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
* Redistribution and use in source and binary forms, with or without
15
* modification, are permitted provided that the following conditions are
16
* met: redistributions of source code must retain the above copyright
17
* notice, this list of conditions and the following disclaimer;
18
* redistributions in binary form must reproduce the above copyright
19
* notice, this list of conditions and the following disclaimer in the
20
* documentation and/or other materials provided with the distribution;
21
* neither the name of the copyright holders nor the names of its
22
* contributors may be used to endorse or promote products derived from
23
* this software without specific prior written permission.
24
*
25
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
29
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
31
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
32
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
33
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36
*/
37
38
#ifndef __DEV_ARM_SMMU_V3_DEFS_HH__
39
#define __DEV_ARM_SMMU_V3_DEFS_HH__
40
41
#include <stdint.h>
42
43
#include "
base/bitunion.hh
"
44
45
enum
{
46
SMMU_SECURE_SZ
= 0x184,
// Secure regs are within page0
47
SMMU_PAGE_ZERO_SZ
= 0x10000,
48
SMMU_PAGE_ONE_SZ
= 0x10000,
49
SMMU_REG_SIZE
=
SMMU_PAGE_ONE_SZ
+
SMMU_PAGE_ZERO_SZ
50
};
51
52
enum
{
53
STE_CONFIG_ABORT
= 0x0,
54
STE_CONFIG_BYPASS
= 0x4,
55
STE_CONFIG_STAGE1_ONLY
= 0x5,
56
STE_CONFIG_STAGE2_ONLY
= 0x6,
57
STE_CONFIG_STAGE1_AND_2
= 0x7,
58
};
59
60
enum
{
61
STAGE1_CFG_1L
= 0x0,
62
STAGE1_CFG_2L_4K
= 0x1,
63
STAGE1_CFG_2L_64K
= 0x2,
64
};
65
66
enum
{
67
ST_CFG_SPLIT_SHIFT
= 6,
68
ST_CD_ADDR_SHIFT
= 6,
69
CD_TTB_SHIFT
= 4,
70
STE_S2TTB_SHIFT
= 4,
71
};
72
73
enum
{
74
TRANS_GRANULE_4K
= 0x0,
75
TRANS_GRANULE_64K
= 0x1,
76
TRANS_GRANULE_16K
= 0x2,
77
TRANS_GRANULE_INVALID
= 0x3,
78
};
79
80
enum
{
81
ST_BASE_ADDR_MASK
= 0x0000ffffffffffe0
ULL
,
82
ST_CFG_SIZE_MASK
= 0x000000000000003f
ULL
,
83
ST_CFG_SPLIT_MASK
= 0x00000000000007c0
ULL
,
84
ST_CFG_FMT_MASK
= 0x0000000000030000
ULL
,
85
ST_CFG_FMT_LINEAR
= 0x0000000000000000
ULL
,
86
ST_CFG_FMT_2LEVEL
= 0x0000000000010000
ULL
,
87
ST_L2_SPAN_MASK
= 0x000000000000001f
ULL
,
88
ST_L2_ADDR_MASK
= 0x0000ffffffffffe0
ULL
,
89
90
VMT_BASE_ADDR_MASK
= 0x0000ffffffffffe0
ULL
,
91
VMT_BASE_SIZE_MASK
= 0x000000000000001f
ULL
,
92
93
Q_BASE_ADDR_MASK
= 0x0000ffffffffffe0
ULL
,
94
Q_BASE_SIZE_MASK
= 0x000000000000001f
ULL
,
95
96
E_BASE_ENABLE_MASK
= 0x8000000000000000
ULL
,
97
E_BASE_ADDR_MASK
= 0x0000fffffffffffc
ULL
,
98
};
99
100
union
SMMURegs
101
{
102
uint8_t
data
[
SMMU_REG_SIZE
];
103
104
struct
105
{
106
uint32_t
idr0
;
// 0x0000
107
uint32_t
idr1
;
// 0x0004
108
uint32_t
idr2
;
// 0x0008
109
uint32_t
idr3
;
// 0x000c
110
uint32_t
idr4
;
// 0x0010
111
uint32_t
idr5
;
// 0x0014
112
uint32_t
iidr
;
// 0x0018
113
uint32_t
aidr
;
// 0x001c
114
uint32_t
cr0
;
// 0x0020
115
uint32_t
cr0ack
;
// 0x0024
116
uint32_t
cr1
;
// 0x0028
117
uint32_t
cr2
;
// 0x002c
118
uint32_t
_pad1
;
// 0x0030
119
uint32_t
_pad2
;
// 0x0034
120
uint32_t
_pad3
;
// 0x0038
121
uint32_t
_pad4
;
// 0x003c
122
uint32_t
statusr
;
// 0x0040
123
uint32_t
gbpa
;
// 0x0044
124
uint32_t
agbpa
;
// 0x0048
125
uint32_t
_pad5
;
// 0x004c
126
uint32_t
irq_ctrl
;
// 0x0050
127
uint32_t
irq_ctrlack
;
// 0x0054
128
uint32_t
_pad6
;
// 0x0058
129
uint32_t
_pad7
;
// 0x005c
130
131
uint32_t
gerror
;
// 0x0060
132
uint32_t
gerrorn
;
// 0x0064
133
uint64_t
gerror_irq_cfg0
;
// 0x0068, 64 bit
134
uint32_t
gerror_irq_cfg1
;
// 0x0070
135
uint32_t
gerror_irq_cfg2
;
// 0x0074
136
uint32_t
_pad_1
;
// 0x0078
137
uint32_t
_pad_2
;
// 0x007c
138
139
uint64_t
strtab_base
;
// 0x0080, 64 bit
140
uint32_t
strtab_base_cfg
;
// 0x0088
141
142
uint64_t
cmdq_base
;
// 0x0090, 64 bit
143
uint32_t
cmdq_prod
;
// 0x0098
144
uint32_t
cmdq_cons
;
// 0x009c
145
uint64_t
eventq_base
;
// 0x00a0, 64 bit
146
uint32_t
_pad8
;
// 0x00a8
147
uint32_t
_pad9
;
// 0x00ac
148
uint64_t
eventq_irq_cfg0
;
// 0x00b0, 64 bit
149
uint32_t
eventq_irq_cfg1
;
// 0x00b8
150
uint32_t
eventq_irq_cfg2
;
// 0x00bc
151
uint64_t
priq_base
;
// 0x00c0, 64 bit
152
uint32_t
_pad10
;
// 0x00c8
153
uint32_t
_pad11
;
// 0x00cc
154
155
uint64_t
priq_irq_cfg0
;
// 0x00d0
156
uint32_t
priq_irq_cfg1
;
// 0x00d8
157
uint32_t
priq_irq_cfg2
;
// 0x00dc
158
159
uint32_t
_pad12
[8];
// 0x00e0 - 0x0100
160
uint32_t
gatos_ctrl
;
// 0x0100
161
uint32_t
_pad13
;
// 0x0104
162
uint64_t
gatos_sid
;
// 0x0108
163
uint64_t
gatos_addr
;
// 0x0110
164
uint64_t
gatos_par
;
// 0x0118
165
uint32_t
_pad14
[24];
// 0x0120
166
uint32_t
vatos_sel
;
// 0x0180
167
168
uint32_t
_pad15
[8095];
// 0x184 - 0x7ffc
169
170
uint8_t
_secure_regs
[
SMMU_SECURE_SZ
];
// 0x8000 - 0x8180
171
172
uint32_t
_pad16
[8095];
// 0x8184 - 0x10000
173
174
// Page 1
175
uint32_t
_pad17
[42];
// 0x10000
176
uint32_t
eventq_prod
;
// 0x100A8
177
uint32_t
eventq_cons
;
// 0x100AC
178
179
uint32_t
_pad18
[6];
// 0x100B0
180
uint32_t
priq_prod
;
// 0x100C8
181
uint32_t
priq_cons
;
// 0x100CC
182
};
183
};
184
185
struct
StreamTableEntry
186
{
187
BitUnion64
(DWORD0)
188
Bitfield<0> valid;
189
Bitfield<3, 1>
config
;
190
Bitfield<5, 4>
s1fmt
;
191
Bitfield<51, 6>
s1ctxptr
;
192
Bitfield<63, 59>
s1cdmax
;
193
EndBitUnion
(DWORD0)
194
DWORD0 dw0;
195
196
BitUnion64
(DWORD1)
197
Bitfield<1, 0> s1dss;
198
Bitfield<3, 2> s1cir;
199
Bitfield<5, 4> s1cor;
200
Bitfield<7, 6> s1csh;
201
Bitfield<8> s2hwu59;
202
Bitfield<9> s2hwu60;
203
Bitfield<10> s2hwu61;
204
Bitfield<11> s2hwu62;
205
Bitfield<12> dre;
206
Bitfield<16, 13> cont;
207
Bitfield<17> dcp;
208
Bitfield<18> ppar;
209
Bitfield<19> mev;
210
Bitfield<27> s1stalld;
211
Bitfield<29, 28> eats;
212
Bitfield<31, 30> strw;
213
Bitfield<35, 32> memattr;
214
Bitfield<36> mtcfg;
215
Bitfield<40, 37> alloccfg;
216
Bitfield<45, 44> shcfg;
217
Bitfield<47, 46> nscfg;
218
Bitfield<49, 48> privcfg;
219
Bitfield<51, 50> instcfg;
220
EndBitUnion
(DWORD1)
221
DWORD1 dw1;
222
223
BitUnion64
(DWORD2)
224
Bitfield<15, 0> s2vmid;
225
Bitfield<37, 32> s2t0sz;
226
Bitfield<39, 38> s2sl0;
227
Bitfield<41, 40> s2ir0;
228
Bitfield<43, 42> s2or0;
229
Bitfield<45, 44> s2sh0;
230
Bitfield<47, 46> s2tg;
231
Bitfield<50, 48> s2ps;
232
Bitfield<51> s2aa64;
233
Bitfield<52> s2endi;
234
Bitfield<53> s2affd;
235
Bitfield<54> s2ptw;
236
Bitfield<55> s2hd;
237
Bitfield<56> s2ha;
238
Bitfield<57> s2s;
239
Bitfield<58> s2r;
240
EndBitUnion
(DWORD2)
241
DWORD2 dw2;
242
243
BitUnion64
(DWORD3)
244
Bitfield<51, 4> s2ttb;
245
EndBitUnion
(DWORD3)
246
DWORD3 dw3;
247
248
uint64_t _pad[4];
249
};
250
251
struct
ContextDescriptor
252
{
253
BitUnion64
(DWORD0)
254
Bitfield<5, 0>
t0sz
;
255
Bitfield<7, 6>
tg0
;
256
Bitfield<9, 8>
ir0
;
257
Bitfield<11, 10>
or0
;
258
Bitfield<13, 12>
sh0
;
259
Bitfield<14>
epd0
;
260
Bitfield<15> endi;
261
Bitfield<21, 16>
t1sz
;
262
Bitfield<23, 22>
tg1
;
263
Bitfield<25, 24>
ir1
;
264
Bitfield<27, 26>
or1
;
265
Bitfield<29, 28>
sh1
;
266
Bitfield<30>
epd1
;
267
Bitfield<31> valid;
268
Bitfield<34, 32>
ips
;
269
Bitfield<35> affd;
270
Bitfield<36>
wxn
;
271
Bitfield<37>
uwxn
;
272
Bitfield<39, 38>
tbi
;
273
Bitfield<40>
pan
;
274
Bitfield<41> aa64;
275
Bitfield<42>
hd
;
276
Bitfield<43>
ha
;
277
Bitfield<44>
s
;
278
Bitfield<45>
r
;
279
Bitfield<46>
a
;
280
Bitfield<47> aset;
281
Bitfield<63, 48>
asid
;
282
EndBitUnion
(DWORD0)
283
DWORD0 dw0;
284
285
BitUnion64
(DWORD1)
286
Bitfield<0> nscfg0;
287
Bitfield<1> had0;
288
Bitfield<51, 4> ttb0;
289
Bitfield<60> hwu0g59;
290
Bitfield<61> hwu0g60;
291
Bitfield<62> hwu0g61;
292
Bitfield<63> hwu0g62;
293
EndBitUnion
(DWORD1)
294
DWORD1 dw1;
295
296
BitUnion64
(DWORD2)
297
Bitfield<0> nscfg1;
298
Bitfield<1> had1;
299
Bitfield<51, 4> ttb1;
300
Bitfield<60> hwu1g59;
301
Bitfield<61> hwu1g60;
302
Bitfield<62> hwu1g61;
303
Bitfield<63> hwu1g62;
304
EndBitUnion
(DWORD2)
305
DWORD2 dw2;
306
307
uint64_t mair;
308
uint64_t amair;
309
uint64_t _pad[3];
310
};
311
312
enum {
313
CR0_SMMUEN_MASK
= 0x1,
314
CR0_PRIQEN_MASK
= 0x2,
315
CR0_EVENTQEN_MASK
= 0x4,
316
CR0_CMDQEN_MASK
= 0x8,
317
CR0_ATSCHK_MASK
= 0x10,
318
CR0_VMW_MASK
= 0x1C0,
319
};
320
321
enum
SMMUCommandType
{
322
CMD_PRF_CONFIG
= 0x01,
323
CMD_PRF_ADDR
= 0x02,
324
CMD_CFGI_STE
= 0x03,
325
CMD_CFGI_STE_RANGE
= 0x04,
326
CMD_CFGI_CD
= 0x05,
327
CMD_CFGI_CD_ALL
= 0x06,
328
CMD_TLBI_NH_ALL
= 0x10,
329
CMD_TLBI_NH_ASID
= 0x11,
330
CMD_TLBI_NH_VAA
= 0x13,
331
CMD_TLBI_NH_VA
= 0x12,
332
CMD_TLBI_EL3_ALL
= 0x18,
333
CMD_TLBI_EL3_VA
= 0x1A,
334
CMD_TLBI_EL2_ALL
= 0x20,
335
CMD_TLBI_EL2_ASID
= 0x21,
336
CMD_TLBI_EL2_VA
= 0x22,
337
CMD_TLBI_EL2_VAA
= 0x23,
338
CMD_TLBI_S2_IPA
= 0x2a,
339
CMD_TLBI_S12_VMALL
= 0x28,
340
CMD_TLBI_NSNH_ALL
= 0x30,
341
CMD_ATC_INV
= 0x40,
342
CMD_PRI_RESP
= 0x41,
343
CMD_RESUME
= 0x44,
344
CMD_STALL_TERM
= 0x45,
345
CMD_SYNC
= 0x46,
346
};
347
348
struct
SMMUCommand
349
{
350
BitUnion64
(DWORD0)
351
Bitfield<7, 0>
type
;
352
Bitfield<10> ssec;
353
Bitfield<11> ssv;
354
Bitfield<31, 12> ssid;
355
Bitfield<47, 32> vmid;
356
Bitfield<63, 48>
asid
;
357
Bitfield<63, 32> sid;
358
EndBitUnion
(DWORD0)
359
DWORD0 dw0;
360
361
BitUnion64
(DWORD1)
362
Bitfield<0> leaf;
363
Bitfield<4, 0> size;
364
Bitfield<4, 0> range;
365
Bitfield<63, 12> address;
366
EndBitUnion
(DWORD1)
367
DWORD1 dw1;
368
369
uint64_t
addr
()
const
370
{
371
uint64_t address = (uint64_t)(dw1.address) << 12;
372
return
address;
373
}
374
};
375
376
enum
SMMUEventTypes
{
377
EVT_FAULT
= 0x0001,
378
};
379
380
enum
SMMUEventFlags
{
381
EVF_WRITE
= 0x0001,
382
};
383
384
struct
SMMUEvent
385
{
386
uint16_t
type
;
387
uint16_t
stag
;
388
uint32_t
flags
;
389
uint32_t
streamId
;
390
uint32_t
substreamId
;
391
uint64_t
va
;
392
uint64_t
ipa
;
393
};
394
395
enum
{
396
SMMU_MAX_TRANS_ID
= 64
397
};
398
399
#endif
/* __DEV_ARM_SMMU_V3_DEFS_HH__ */
SMMURegs
Definition:
smmu_v3_defs.hh:100
CMD_TLBI_NH_ALL
Definition:
smmu_v3_defs.hh:328
SMMURegs::irq_ctrl
uint32_t irq_ctrl
Definition:
smmu_v3_defs.hh:126
STE_CONFIG_BYPASS
Definition:
smmu_v3_defs.hh:54
ArmISA::asid
asid
Definition:
miscregs_types.hh:611
ST_CFG_SPLIT_MASK
Definition:
smmu_v3_defs.hh:83
SMMURegs::_pad18
uint32_t _pad18[6]
Definition:
smmu_v3_defs.hh:179
E_BASE_ADDR_MASK
Definition:
smmu_v3_defs.hh:97
CMD_ATC_INV
Definition:
smmu_v3_defs.hh:341
EndBitUnion
EndBitUnion(UserDescFlags) struct UserDesc32
Definition:
process.cc:152
SMMURegs::idr3
uint32_t idr3
Definition:
smmu_v3_defs.hh:109
STAGE1_CFG_2L_64K
Definition:
smmu_v3_defs.hh:63
Q_BASE_SIZE_MASK
Definition:
smmu_v3_defs.hh:94
SMMURegs::iidr
uint32_t iidr
Definition:
smmu_v3_defs.hh:112
SMMURegs::aidr
uint32_t aidr
Definition:
smmu_v3_defs.hh:113
CR0_EVENTQEN_MASK
Definition:
smmu_v3_defs.hh:315
SMMU_PAGE_ZERO_SZ
Definition:
smmu_v3_defs.hh:47
ContextDescriptor
Definition:
smmu_v3_defs.hh:251
ST_L2_SPAN_MASK
Definition:
smmu_v3_defs.hh:87
SMMURegs::_pad13
uint32_t _pad13
Definition:
smmu_v3_defs.hh:161
SMMURegs::_pad_2
uint32_t _pad_2
Definition:
smmu_v3_defs.hh:137
SMMURegs::eventq_base
uint64_t eventq_base
Definition:
smmu_v3_defs.hh:145
ST_CD_ADDR_SHIFT
Definition:
smmu_v3_defs.hh:68
ArmISA::a
Bitfield< 8 > a
Definition:
miscregs_types.hh:62
CMD_SYNC
Definition:
smmu_v3_defs.hh:345
ST_CFG_FMT_LINEAR
Definition:
smmu_v3_defs.hh:85
STE_CONFIG_ABORT
Definition:
smmu_v3_defs.hh:53
SMMURegs::idr4
uint32_t idr4
Definition:
smmu_v3_defs.hh:110
addr
ip6_addr_t addr
Definition:
inet.hh:330
SMMURegs::irq_ctrlack
uint32_t irq_ctrlack
Definition:
smmu_v3_defs.hh:127
SMMURegs::_pad9
uint32_t _pad9
Definition:
smmu_v3_defs.hh:147
CD_TTB_SHIFT
Definition:
smmu_v3_defs.hh:69
ST_L2_ADDR_MASK
Definition:
smmu_v3_defs.hh:88
SMMURegs::gatos_ctrl
uint32_t gatos_ctrl
Definition:
smmu_v3_defs.hh:160
STE_S2TTB_SHIFT
Definition:
smmu_v3_defs.hh:70
CMD_CFGI_CD_ALL
Definition:
smmu_v3_defs.hh:327
SMMUEvent::ipa
uint64_t ipa
Definition:
smmu_v3_defs.hh:392
CMD_TLBI_EL2_ASID
Definition:
smmu_v3_defs.hh:335
CMD_TLBI_NSNH_ALL
Definition:
smmu_v3_defs.hh:340
SMMURegs::_pad5
uint32_t _pad5
Definition:
smmu_v3_defs.hh:125
SMMURegs::priq_irq_cfg2
uint32_t priq_irq_cfg2
Definition:
smmu_v3_defs.hh:157
CMD_CFGI_STE
Definition:
smmu_v3_defs.hh:324
SMMURegs::_pad1
uint32_t _pad1
Definition:
smmu_v3_defs.hh:118
SMMURegs::eventq_irq_cfg2
uint32_t eventq_irq_cfg2
Definition:
smmu_v3_defs.hh:150
ArmISA::sh0
Bitfield< 13, 12 > sh0
Definition:
miscregs_types.hh:492
CMD_PRI_RESP
Definition:
smmu_v3_defs.hh:342
SMMU_REG_SIZE
Definition:
smmu_v3_defs.hh:49
SMMURegs::_pad3
uint32_t _pad3
Definition:
smmu_v3_defs.hh:120
CMD_RESUME
Definition:
smmu_v3_defs.hh:343
ST_CFG_SIZE_MASK
Definition:
smmu_v3_defs.hh:82
SMMUEvent::type
uint16_t type
Definition:
smmu_v3_defs.hh:386
ST_CFG_FMT_MASK
Definition:
smmu_v3_defs.hh:84
SMMURegs::gerror_irq_cfg2
uint32_t gerror_irq_cfg2
Definition:
smmu_v3_defs.hh:135
StreamTableEntry::s1ctxptr
Bitfield< 51, 6 > s1ctxptr
Definition:
smmu_v3_defs.hh:191
SMMURegs::_pad16
uint32_t _pad16[8095]
Definition:
smmu_v3_defs.hh:172
VMT_BASE_ADDR_MASK
Definition:
smmu_v3_defs.hh:90
ArmISA::or1
Bitfield< 19, 18 > or1
Definition:
miscregs_types.hh:601
CMD_PRF_CONFIG
Definition:
smmu_v3_defs.hh:322
CMD_TLBI_EL3_VA
Definition:
smmu_v3_defs.hh:333
CMD_PRF_ADDR
Definition:
smmu_v3_defs.hh:323
SMMURegs::_pad12
uint32_t _pad12[8]
Definition:
smmu_v3_defs.hh:159
CMD_TLBI_NH_VAA
Definition:
smmu_v3_defs.hh:330
type
uint8_t type
Definition:
inet.hh:328
SMMU_SECURE_SZ
Definition:
smmu_v3_defs.hh:46
ArmISA::t1sz
Bitfield< 18, 16 > t1sz
Definition:
miscregs_types.hh:494
ArmISA::tg1
Bitfield< 30 > tg1
Definition:
miscregs_types.hh:500
SMMURegs::_pad17
uint32_t _pad17[42]
Definition:
smmu_v3_defs.hh:175
ArmISA::tg0
Bitfield< 14 > tg0
Definition:
miscregs_types.hh:493
TRANS_GRANULE_INVALID
Definition:
smmu_v3_defs.hh:77
SMMURegs::priq_prod
uint32_t priq_prod
Definition:
smmu_v3_defs.hh:180
ArmISA::s
Bitfield< 4 > s
Definition:
miscregs_types.hh:556
SMMU_PAGE_ONE_SZ
Definition:
smmu_v3_defs.hh:48
SMMURegs::eventq_prod
uint32_t eventq_prod
Definition:
smmu_v3_defs.hh:176
SMMURegs::cr0ack
uint32_t cr0ack
Definition:
smmu_v3_defs.hh:115
SMMURegs::strtab_base
uint64_t strtab_base
Definition:
smmu_v3_defs.hh:139
SMMURegs::gatos_sid
uint64_t gatos_sid
Definition:
smmu_v3_defs.hh:162
TRANS_GRANULE_64K
Definition:
smmu_v3_defs.hh:75
SMMUEvent::va
uint64_t va
Definition:
smmu_v3_defs.hh:391
CR0_VMW_MASK
Definition:
smmu_v3_defs.hh:318
SMMURegs::_pad8
uint32_t _pad8
Definition:
smmu_v3_defs.hh:146
SMMURegs::_pad15
uint32_t _pad15[8095]
Definition:
smmu_v3_defs.hh:168
CMD_CFGI_STE_RANGE
Definition:
smmu_v3_defs.hh:325
SMMURegs::_pad6
uint32_t _pad6
Definition:
smmu_v3_defs.hh:128
SMMURegs::idr5
uint32_t idr5
Definition:
smmu_v3_defs.hh:111
SMMUCommandType
SMMUCommandType
Definition:
smmu_v3_defs.hh:321
ST_CFG_FMT_2LEVEL
Definition:
smmu_v3_defs.hh:86
SMMURegs::cmdq_cons
uint32_t cmdq_cons
Definition:
smmu_v3_defs.hh:144
SMMURegs::idr0
uint32_t idr0
Definition:
smmu_v3_defs.hh:106
SMMURegs::cr2
uint32_t cr2
Definition:
smmu_v3_defs.hh:117
ArmISA::wxn
Bitfield< 19 > wxn
Definition:
miscregs_types.hh:355
SMMUEventTypes
SMMUEventTypes
Definition:
smmu_v3_defs.hh:376
StreamTableEntry::s1fmt
Bitfield< 5, 4 > s1fmt
Definition:
smmu_v3_defs.hh:190
CMD_TLBI_S12_VMALL
Definition:
smmu_v3_defs.hh:339
MipsISA::r
r
Definition:
pra_constants.hh:95
E_BASE_ENABLE_MASK
Definition:
smmu_v3_defs.hh:96
SMMURegs::strtab_base_cfg
uint32_t strtab_base_cfg
Definition:
smmu_v3_defs.hh:140
ArmISA::epd0
Bitfield< 7 > epd0
Definition:
miscregs_types.hh:489
StreamTableEntry::s1cdmax
Bitfield< 63, 59 > s1cdmax
Definition:
smmu_v3_defs.hh:192
SMMURegs::_secure_regs
uint8_t _secure_regs[SMMU_SECURE_SZ]
Definition:
smmu_v3_defs.hh:170
SMMURegs::priq_base
uint64_t priq_base
Definition:
smmu_v3_defs.hh:151
SMMURegs::_pad2
uint32_t _pad2
Definition:
smmu_v3_defs.hh:119
ArmISA::ha
Bitfield< 39 > ha
Definition:
miscregs_types.hh:538
ULL
#define ULL(N)
uint64_t constant
Definition:
types.hh:48
CMD_CFGI_CD
Definition:
smmu_v3_defs.hh:326
SMMURegs::eventq_irq_cfg0
uint64_t eventq_irq_cfg0
Definition:
smmu_v3_defs.hh:148
CMD_TLBI_EL2_ALL
Definition:
smmu_v3_defs.hh:334
SMMURegs::cr1
uint32_t cr1
Definition:
smmu_v3_defs.hh:116
ArmISA::sh1
Bitfield< 29, 28 > sh1
Definition:
miscregs_types.hh:499
CR0_PRIQEN_MASK
Definition:
smmu_v3_defs.hh:314
SMMURegs::_pad10
uint32_t _pad10
Definition:
smmu_v3_defs.hh:152
TRANS_GRANULE_16K
Definition:
smmu_v3_defs.hh:76
SMMUEvent::substreamId
uint32_t substreamId
Definition:
smmu_v3_defs.hh:390
SMMURegs::vatos_sel
uint32_t vatos_sel
Definition:
smmu_v3_defs.hh:166
SMMURegs::gerror_irq_cfg1
uint32_t gerror_irq_cfg1
Definition:
smmu_v3_defs.hh:134
SMMUEvent::stag
uint16_t stag
Definition:
smmu_v3_defs.hh:387
SMMURegs::agbpa
uint32_t agbpa
Definition:
smmu_v3_defs.hh:124
CMD_TLBI_EL2_VAA
Definition:
smmu_v3_defs.hh:337
SMMURegs::_pad7
uint32_t _pad7
Definition:
smmu_v3_defs.hh:129
SMMURegs::eventq_irq_cfg1
uint32_t eventq_irq_cfg1
Definition:
smmu_v3_defs.hh:149
STAGE1_CFG_2L_4K
Definition:
smmu_v3_defs.hh:62
TRANS_GRANULE_4K
Definition:
smmu_v3_defs.hh:74
SMMURegs::eventq_cons
uint32_t eventq_cons
Definition:
smmu_v3_defs.hh:177
SMMURegs::_pad11
uint32_t _pad11
Definition:
smmu_v3_defs.hh:153
ArmISA::ir1
Bitfield< 3, 2 > ir1
Definition:
miscregs_types.hh:593
ArmISA::hd
Bitfield< 40 > hd
Definition:
miscregs_types.hh:539
ArmISA::ir0
ir0
Definition:
miscregs_types.hh:592
SMMURegs::cr0
uint32_t cr0
Definition:
smmu_v3_defs.hh:114
SMMURegs::_pad14
uint32_t _pad14[24]
Definition:
smmu_v3_defs.hh:165
SMMUCommand
Definition:
smmu_v3_defs.hh:348
SMMU_MAX_TRANS_ID
Definition:
smmu_v3_defs.hh:396
STE_CONFIG_STAGE1_ONLY
Definition:
smmu_v3_defs.hh:55
SMMURegs::_pad4
uint32_t _pad4
Definition:
smmu_v3_defs.hh:121
ArmISA::or0
Bitfield< 17, 16 > or0
Definition:
miscregs_types.hh:600
SMMURegs::data
uint8_t data[SMMU_REG_SIZE]
Definition:
smmu_v3_defs.hh:102
SMMURegs::_pad_1
uint32_t _pad_1
Definition:
smmu_v3_defs.hh:136
CR0_SMMUEN_MASK
Definition:
smmu_v3_defs.hh:313
bitunion.hh
SMMURegs::priq_irq_cfg0
uint64_t priq_irq_cfg0
Definition:
smmu_v3_defs.hh:155
SMMURegs::idr1
uint32_t idr1
Definition:
smmu_v3_defs.hh:107
CR0_CMDQEN_MASK
Definition:
smmu_v3_defs.hh:316
ArmISA::pan
Bitfield< 22 > pan
Definition:
miscregs_types.hh:55
CMD_TLBI_NH_VA
Definition:
smmu_v3_defs.hh:331
SMMUEvent
Definition:
smmu_v3_defs.hh:384
CMD_TLBI_NH_ASID
Definition:
smmu_v3_defs.hh:329
SMMURegs::gerror_irq_cfg0
uint64_t gerror_irq_cfg0
Definition:
smmu_v3_defs.hh:133
SMMURegs::priq_irq_cfg1
uint32_t priq_irq_cfg1
Definition:
smmu_v3_defs.hh:156
SMMUEvent::streamId
uint32_t streamId
Definition:
smmu_v3_defs.hh:389
ArmISA::t0sz
Bitfield< 2, 0 > t0sz
Definition:
miscregs_types.hh:487
SMMUEvent::flags
uint32_t flags
Definition:
smmu_v3_defs.hh:388
STAGE1_CFG_1L
Definition:
smmu_v3_defs.hh:61
StreamTableEntry::config
Bitfield< 3, 1 > config
Definition:
smmu_v3_defs.hh:189
EVT_FAULT
Definition:
smmu_v3_defs.hh:377
ArmISA::ips
Bitfield< 34, 32 > ips
Definition:
miscregs_types.hh:501
Q_BASE_ADDR_MASK
Definition:
smmu_v3_defs.hh:93
ST_CFG_SPLIT_SHIFT
Definition:
smmu_v3_defs.hh:67
ST_BASE_ADDR_MASK
Definition:
smmu_v3_defs.hh:81
SMMURegs::idr2
uint32_t idr2
Definition:
smmu_v3_defs.hh:108
CR0_ATSCHK_MASK
Definition:
smmu_v3_defs.hh:317
CMD_STALL_TERM
Definition:
smmu_v3_defs.hh:344
SMMURegs::gerror
uint32_t gerror
Definition:
smmu_v3_defs.hh:131
SMMURegs::priq_cons
uint32_t priq_cons
Definition:
smmu_v3_defs.hh:181
CMD_TLBI_S2_IPA
Definition:
smmu_v3_defs.hh:338
SMMURegs::cmdq_prod
uint32_t cmdq_prod
Definition:
smmu_v3_defs.hh:143
BitUnion64
#define BitUnion64(name)
Definition:
bitunion.hh:374
EVF_WRITE
Definition:
smmu_v3_defs.hh:381
STE_CONFIG_STAGE1_AND_2
Definition:
smmu_v3_defs.hh:57
CMD_TLBI_EL3_ALL
Definition:
smmu_v3_defs.hh:332
SMMUEventFlags
SMMUEventFlags
Definition:
smmu_v3_defs.hh:380
SMMURegs::gbpa
uint32_t gbpa
Definition:
smmu_v3_defs.hh:123
SMMURegs::gatos_par
uint64_t gatos_par
Definition:
smmu_v3_defs.hh:164
SMMURegs::statusr
uint32_t statusr
Definition:
smmu_v3_defs.hh:122
VMT_BASE_SIZE_MASK
Definition:
smmu_v3_defs.hh:91
CMD_TLBI_EL2_VA
Definition:
smmu_v3_defs.hh:336
ArmISA::uwxn
Bitfield< 20 > uwxn
Definition:
miscregs_types.hh:351
ArmISA::tbi
Bitfield< 20 > tbi
Definition:
miscregs_types.hh:509
SMMURegs::cmdq_base
uint64_t cmdq_base
Definition:
smmu_v3_defs.hh:142
SMMURegs::gerrorn
uint32_t gerrorn
Definition:
smmu_v3_defs.hh:132
StreamTableEntry
Definition:
smmu_v3_defs.hh:185
STE_CONFIG_STAGE2_ONLY
Definition:
smmu_v3_defs.hh:56
SMMURegs::gatos_addr
uint64_t gatos_addr
Definition:
smmu_v3_defs.hh:163
ArmISA::epd1
Bitfield< 23 > epd1
Definition:
miscregs_types.hh:496
Generated on Thu May 28 2020 16:21:32 for gem5 by
doxygen
1.8.13