38#ifndef __DEV_ARM_SMMU_V3_DEFS_HH__
39#define __DEV_ARM_SMMU_V3_DEFS_HH__
136 Bitfield<0> gerrorIrqEn;
168 uint32_t irq_ctrlack;
174 uint64_t gerror_irq_cfg0;
175 uint32_t gerror_irq_cfg1;
176 uint32_t gerror_irq_cfg2;
180 uint64_t strtab_base;
181 uint32_t strtab_base_cfg;
186 uint64_t eventq_base;
189 uint64_t eventq_irq_cfg0;
190 uint32_t eventq_irq_cfg1;
191 uint32_t eventq_irq_cfg2;
196 uint64_t priq_irq_cfg0;
197 uint32_t priq_irq_cfg1;
198 uint32_t priq_irq_cfg2;
209 uint32_t _pad15[8095];
213 uint32_t _pad16[8095];
217 uint32_t eventq_prod;
218 uint32_t eventq_cons;
329 Bitfield<51, 4> ttb0;
330 Bitfield<60> hwu0g59;
331 Bitfield<61> hwu0g60;
332 Bitfield<62> hwu0g61;
333 Bitfield<63> hwu0g62;
340 Bitfield<51, 4> ttb1;
341 Bitfield<60> hwu1g59;
342 Bitfield<61> hwu1g60;
343 Bitfield<62> hwu1g61;
344 Bitfield<63> hwu1g62;
397 Bitfield<31, 12> ssid;
398 Bitfield<47, 32> vmid;
399 Bitfield<63, 48> asid;
400 Bitfield<63, 32> sid;
407 Bitfield<4, 0> range;
408 Bitfield<63, 12> address;
412 uint64_t addr()
const
414 uint64_t address = (uint64_t)(dw1.address) << 12;
423 Bitfield<7, 0> eventType;
425 Bitfield<31, 12> substreamId;
426 Bitfield<63, 32> streamId;
431 Bitfield<16, 0> stag;
437 Bitfield<41, 40> clss;
442 Bitfield<63, 0> inputAddr;
447 Bitfield<51, 3> fetchAddr;
448 Bitfield<51, 12> ipa;
453 std::
string print() const;
#define BitUnion64(name)
Use this to define conveniently sized values overlayed with bitfields.
#define EndBitUnion(name)
This closes off the class and union started by the above macro.
SignedBitfield< 31, 16 > sh1
SignedBitfield< 15, 0 > sh0
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
@ STE_CONFIG_STAGE1_AND_2
Bitfield< 2 > eventqIrqEn
Bitfield< 22, 21 > ttEndian
Bitfield< 28, 27 > stLevel
Bitfield< 25, 24 > stallModel
Overload hash function for BasicBlockRange type.
BitUnion64(DWORD0) Bitfield< 5
BitUnion64(DWORD0) Bitfield< 7
BitUnion64(DWORD0) Bitfield< 7
Bitfield< 51, 6 > s1ctxptr
Bitfield< 37, 32 > s2t0sz
BitUnion64(DWORD1) Bitfield< 1
Bitfield< 49, 48 > privcfg
Bitfield< 35, 32 > memattr
Bitfield< 51, 50 > instcfg
Bitfield< 40, 37 > alloccfg
Bitfield< 63, 59 > s1cdmax
EndBitUnion(DWORD0) DWORD0 dw0
BitUnion64(DWORD0) Bitfield< 0 > valid