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