; --------------------------------------------------------------------------------
; @Title: ARMv8 MMU401 System MMU Global Config
; @Description: Per file to show SMMU Stream Map Group and Context Bank registers
; @Props: Released
; @Author: PKR
; @Changelog: 2011-12-16 SOL
; @Manufacturer: ARM - ARM Ltd.
; @Doc: IHI0062C_system_mmu_architecture_specification.pdf (2011-12-09, issue A-3)
; @Core: ARMv8
; @Copyright: (C) 1989-2020 Lauterbach GmbH, licensed for use with TRACE32(R) only
; --------------------------------------------------------------------------------
; $Id: perarmsmmu401.per 8708 2018-01-18 15:07:27Z amerkle $
config 16. 8.
width 0x13
width 0x13
entry &SMMU_name="unknown" &SMMU_base=0 &smgr=0 &CBn_base=0 &cbndx=0 &va64=1 &stage2=0
wait per.long(&SMMU_base)

// MMU401 is SMMU V2
tree "System MMU '&SMMU_name' (MMU401) - Global Configuration Registers"
textline "                                    "
base &SMMU_base
group.long 0x00000++0x3
line.long 0x00 "SMMU_sCR0,SMMU_sCR0,Configuration Register 0"
bitfld.long 0x0 28.--29. "         NSCFG        ,Non-Secure Configuration" "Default Non-Secure,Reserved,Secure,Non-Secure"
textline "                                    "
bitfld.long 0x0 26.--27. " WACFG        ,Write-Allocate Configuration" "Default,Reserved,Write-Alloc,No Write-Alloc"
bitfld.long 0x0 24.--25. "             RACFG      ,Read-Allocate Configuration" "Default,Reserved,Read-Alloc,No Read-Alloc"
textline "                                    "
bitfld.long 0x0 22.--23. " SHCFG        ,Shared Configuration" "Default,Outer Shareable,Inner Shareable,Non-Shareable"
textline "                                    "
bitfld.long 0x0 21. " SMCFCFG      ,Stream match conflict fault configuration" "Bypass SMMU,Raise fault"
bitfld.long 0x0 20. "                MTCFG      ,Memory Type Configuration" "Default mem. attributes,MemAttr field attributes"
textline "                                    "
bitfld.long 0x0 16.--19. " MemAttr      ,Memory Attributes" "0b0000,0b0001,0b0010,0b0011,0b0100,0b0101,0b0110,0b0111,0b1000,0b1001,0b1010,0b1011,0b1100,0b1101,0b1110,0b1111"
bitfld.long 0x0 14.--15. "                     BSU        ,Barrier Shareability Upgrade" "No effect,Inner Shareable,Outer Shareable,Full system"
textline "                                    "
bitfld.long 0x0 13. " FB           ,Force Broadcast" "Process affected ops,Upgrade affected ops"
bitfld.long 0x0 12. "       PTM        ,Private TLB Maintenance" "Disabled,Enabled"
textline "                                    "
bitfld.long 0x0 11. " VMIDPNE      ,VMID Private Namespace Enable" "Disabled,Enabled"
bitfld.long 0x0 10. "                   USFCFG     ,Unidentified stream fault configuration" "Pass through,Raise fault"
textline "                                    "
bitfld.long 0x0 9. " GSE          ,Global Stall Enable" "Disabled,Enabled"
bitfld.long 0x0 8. "                   STALLD     ,Stall Disable" "Permit stalling,Disable stalling"
textline "                                    "
bitfld.long 0x0 6.--7. " TRANSIENTCFG ,Transient Allocate Configuration" "Default,Reserved,Non-Transient,Transient"
bitfld.long 0x0 5. "              GCFGFIE    ,Global configuration fault interrupt enable" "Disable,Enable"
textline "                                    "
bitfld.long 0x0 4. " GCFGFRE      ,Global configuration fault report enable" "Disable,Enable"
bitfld.long 0x0 3. "                    EXIDENABLE ,Extended ID Enable" "Disabled,Enabled"
textline "                                    "  
bitfld.long 0x0 2. " GFIE         ,Global fault interrupt enable" "Disabled,Enabled"
bitfld.long 0x0 1. "                   GFRE       ,Global fault report enable" "Disable,Enable"
textline "                                    "
bitfld.long 0x0 0. " CLIENTPD     ,Client Port Disable" "Clients use SMMU,Clients bypass SMMU"
textline "                                    "
group.long 0x00004++0x3
line.long 0x00 "SMMU_SCR1,SMMU_SCR1,Secure Configuration Register 1"
bitfld.long 0x0 28. "         NSCAFRO      ,Non-Secure configuration access fault report override" "Disable,Enable"
bitfld.long 0x0 27. "                    SPMEN      ,Secure Performance Monitor Enable" "Disable,Enable"
textline "                                    "
bitfld.long 0x0 26. " SIF          ,Secure Instruction Fetch" "Permitted,Not permitted"
bitfld.long 0x0 25. "              GEFRO      ,Global external fault report override" "Disable,Enable"
textline "                                    "
bitfld.long 0x0 24. " GASRAE       ,Global Address Space Restricted Access Enable" "Disable,Enable"
textline "                                    "
decmask.long.byte 0x00 16.--23. 1. " NSNUMIRPTO  ,Non-Secure Number of Interrupts Override"
textline "                                    "
decmask.long.byte 0x00 8.--15. 1. " NSNUMSMRGO  ,Non-Secure Number of Stream Mapping Register Groups Override"
textline "                                    "
decmask.long.byte 0x00 0.--7. 1. " NSNUMCBO    ,Non-Secure Number of Context Banks Override"
textline "                                    "
group.long 0x00008++0x3
line.long 0x00 "SMMU_sCR2,SMMU_sCR2,Configuration Register 2"
hexmask.long 0x00 0.--7. 1. "         BPVMID       ,Bypass VMID"
textline "                                    "
group.long 0x00010++0x3
line.long 0x00 "SMMU_sACR,SMMU_sACR,Auxiliary Configuration Register"
textline "                                    "
rgroup.long 0x00020++0x3
line.long 0x00 "SMMU_IDR0,Identification register 0"
bitfld.long 0x0 31. "         SES          ,Security Support" "Disabled,Enabled"
textline "                                    "
bitfld.long 0x0 30. " S1TS         ,Stage 1 Translation Support" "Not supported,Supported"
bitfld.long 0x0 29. "              S2TS       ,Stage 2 Translation Support" "Not supported,Supported"
textline "                                    "
bitfld.long 0x0 28. " NTS          ,Nested Translation Support" "Not supported,Supported"
bitfld.long 0x0 27. "              SMS        ,Stream Match Support" "Not supported,Supported"
textline "                                    "
bitfld.long 0x0 26. " ATOSNS       ,Address Translation Operations Not Supported" "ATO supported,ATO not supported"
bitfld.long 0x0 24.--25. "          PTFS       ,Translation format support" "AArch32 SD and LD supported,AArch32 LD supported,Only AArch64 supported,Only AArch64 supported"
textline "                                    "
bitfld.long 0x0 14. " CTTW         ,Coherent Translation Table Walk" "Not supported,Supported"
bitfld.long 0x0 13. "              BTM        ,Broadcast TLB Maintenance" "Not supported,Supported"
textline "                                    "
bitfld.long 0x0 9.--12. " NUMSIDB      ,Number of StreamID Bits" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
bitfld.long 0x0 8. "                         EXIDS      ,Extended Stream ID Support" "Not supported,Supported"
textline "                                    "
decmask.long.byte 0x00 0.--7. 1. " NUMSMRG     ,Number of Stream Mapping Register Groups"
textline "                                    "
rgroup.long 0x00024++0x3
line.long 0x00 "SMMU_IDR1,Identification register 1"
bitfld.long 0x0 31. "         PAGESIZE     ,SMMU Page Size" "4kB,64kB"
textline "                                    "
bitfld.long 0x0 28.--30. " NUMPAGENDXB  ,SMMU Number of Page Index Bits" "0,1,2,3,4,5,6,7"
textline "                                    "
decmask.long.byte 0x00 16.--23. 1. " NUMS2CB     ,Number of stage 2 Context Banks"
bitfld.long 0x0 15. "                        SMCD       ,Stream Match Conflict Detection" "Not guaranteed,Guaranteed"
textline "                                    "
bitfld.long 0x0 12.--13. " SSDTP        ,SSD Table Present" "Not present,NUMSSDNDXB sized,Reserved,Extended SSD size"
bitfld.long 0x0 8.--11. "          NUMSSDNDXB ,Number of SSD_Index bits" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
textline "                                    "
decmask.long.byte 0x00 0.--7. 1. " NUMCB       ,Number of Context Banks"
textline "                                    "
rgroup.long 0x00028++0x3
line.long 0x00 "SMMU_IDR2,Identification register 2"
bitfld.long 0x0 14. "         PTFSv8_64kB  ,Support for 64KB translation granule size" "Not supported,Supported"
textline "                                    "
bitfld.long 0x0 13. " PTFSv8_16kB  ,Support for 16KB translation granule size" "Not supported,Supported"
textline "                                    "
bitfld.long 0x0 12. " PTFSv8_4kB   ,Support for 4KB translation granule size" "Not supported,Supported"
textline "                                    "
bitfld.long 0x0 8.--11. " UBS          ,Upstream Bus Size" "32bit,36bit,40bit,42bit,44bit,49bit,res,res,res,res,res,res,res,res,res,res"
textline "                                    "
bitfld.long 0x0 4.--7. " OAS          ,Output Address Size" "32bit,36bit,40bit,42bit,44bit,48bit,res,res,res,res,res,res,res,res,res,res"
bitfld.long 0x0 0.--3. "                      IAS        ,Input Address Size" "32bit,36bit,40bit,42bit,44bit,48bit,res,res,res,res,res,res,res,res,res,res"
textline "                                    "
rgroup.long 0x00030++0x3
line.long 0x00 "SMMU_IDR4,Identification register 4"
textline "                                    "
rgroup.long 0x00034++0x3
line.long 0x00 "SMMU_IDR5,Identification register 5"
textline "                                    "
rgroup.long 0x0003C++0x3
line.long 0x00 "SMMU_IDR7,Identification register 7"
bitfld.long 0x0 4.--7. "         MAJOR        ,Major part of the implementation version number" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
bitfld.long 0x0 0.--3. "                         MINOR      ,Minor part of the implementation version number" "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"
textline "                                    "
group.quad 0x00040++0x7
line.quad 0x00 "SMMU_sGFAR,Global Fault Address Register"
textline "                                    "
group.long 0x00048++0x3
line.long 0x00 "SMMU_sGFSR,Global Fault Status Register"
bitfld.long 0x00 31. "         MULTI        ,Multiple faults" "No multiple faults occured,Multiple faults occured"
textline "                                    "
bitfld.long 0x00 8. " UUT          ,Unsupported Upstream Transaction" "No unsupported upstream transaction fault,Unsupported upstream transaction fault recorded"
textline "                                    "
bitfld.long 0x00 7. " PF           ,Permission fault" "No permission fault,Permission fault"
textline "                                    "
bitfld.long 0x00 6. " EF           ,External fault" "No external fault,External fault caused by an external abort"
textline "                                    "
bitfld.long 0x00 5. " CAF          ,Configuration access fault" "No configuration access fault,Configuration access fault"
textline "                                    "
bitfld.long 0x00 4. " UCIF         ,Unimplemented context interrupt fault" "No unimplemented context interrupt fault,Unimplemented context interrupt fault"
textline "                                    "
bitfld.long 0x00 3. " UCBF         ,Unimplemented context bank fault" "No unimplemented context bank fault,Unimplemented context bank fault"
textline "                                    "
bitfld.long 0x00 2. " SMCF         ,Stream match conflict fault" "No stream match conflict fault,Stream match conflict fault"
textline "                                    "
bitfld.long 0x00 1. " USF          ,Unidentified stream fault" "No unidentified stream fault,Unidentified stream fault"
textline "                                    "
bitfld.long 0x00 0. " ICF          ,Invalid context fault" "No invalid context fault,Invalid context fault"
textline "                                    "
wgroup.long 0x0004C++0x3
line.long 0x00 "SMMU_sGFSRRESTORE,Global Fault Status Restore Register"
bitfld.long 0x00 31. "         MULTI        ,Multiple faults" "No multiple faults occured,Multiple faults occured"
textline "                                    "
bitfld.long 0x00 8. " UUT          ,Unsupported Upstream Transaction" "No unsupported upstream transaction fault,Unsupported upstream transaction fault recorded"
textline "                                    "
bitfld.long 0x00 7. " PF           ,Permission fault" "No permission fault,Permission fault"
textline "                                    "
bitfld.long 0x00 6. " EF           ,External fault" "No external fault,External fault caused by an external abort"
textline "                                    "
bitfld.long 0x00 5. " CAF          ,Configuration access fault" "No configuration access fault,Configuration access fault"
textline "                                    "
bitfld.long 0x00 4. " UCIF         ,Unimplemented context interrupt fault" "No unimplemented context interrupt fault,Unimplemented context interrupt fault"
textline "                                    "
bitfld.long 0x00 3. " UCBF         ,Unimplemented context bank fault" "No unimplemented context bank fault,Unimplemented context bank fault"
textline "                                    "
bitfld.long 0x00 2. " SMCF         ,Stream match conflict fault" "No stream match conflict fault,Stream match conflict fault"
textline "                                    "
bitfld.long 0x00 1. " USF          ,Unidentified stream fault" "No unidentified stream fault,Unidentified stream fault"
textline "                                    "
bitfld.long 0x00 0. " ICF          ,Invalid context fault" "No invalid context fault,Invalid context fault"
textline "                                    "
group.long 0x00050++0x3
line.long 0x00 "SMMU_sGFSYNR0,Global Fault Syndrome Register 0"
bitfld.long 0x00 6. "         ATS          ,Address translation operation fault" "No address translation operation fault,Address translation operation fault"
textline "                                    "
bitfld.long 0x00 5. " NSATTR       ,Non-Secure attribute" "Faulty transaction has secure attribute,Faulty transaction has nonsecure attribute"
textline "                                    "
bitfld.long 0x00 4. " NSSTATE      ,Non-Secure state" "Faulty transaction is associated with a secure device,Faulty transaction is associated with a nonsecure device"
textline "                                    "
bitfld.long 0x00 3. " IND          ,Instruction Not Data" "Faulty transaction has the data access attribute,Faulty transaction has the instruction access attribute"
textline "                                    "
bitfld.long 0x00 2. " PNU          ,Privileged Not Unprivileged" "Faulty transaction has the unprivileged attribute,Faulty transaction is privileged"
textline "                                    "
bitfld.long 0x00 1. " WNR          ,Write Not Read" "Faulty transaction is a read,Faulty transaction is a write"
textline "                                    "
bitfld.long 0x00 0. " Nested       ,Nested fault" "Fault occurred in the initial stream context,Fault occurred in stage 2 context of a nested translation"
textline "                                    "
group.long 0x00054++0x3
line.long 0x00 "SMMU_sGFSYNR1,Global Fault Syndrome Register 1"
hexmask.long 0x00 16.--31. 1. "         SSD_Index    ,SSD_Index of the transaction that caused the fault"
textline "                                    "
hexmask.long 0x00 0.--15. 1.  " StreamID     ,StreamID of the transaction that caused the fault"
textline "                                    "
group.long 0x00058++0x3
line.long 0x00 "SMMU_sGFSYNR2,Global Fault Syndrome Register 2"
textline "                                    "
wgroup.long 0x00060++0x3
line.long 0x00 "SMMU_STLBIALL,TLB Invalidate All"
textline "                                    "
wgroup.long 0x00064++0x3
line.long 0x00 "SMMU_TLBIVMID,TLB Invalidate by VMID"
textline "                                    "
wgroup.long 0x00068++0x3
line.long 0x00 "SMMU_TLBIALLNSNH,TLB Invalidate All"
textline "                                    "
wgroup.long 0x0006C++0x3
line.long 0x00 "SMMU_TLBIALLH,TLB Invalidate All Hyp"
textline "                                    "
wgroup.long 0x00070++0x3
line.long 0x00 "SMMU_sTLBGSYNC,Global Synchronize TLB Invalidate"
textline "                                    "
rgroup.long 0x00074++0x3
line.long 0x00 "SMMU_sTLBGSTATUS,Global TLB Status register"
textline "                                    "
rgroup.long 0x00078++0x3
line.long 0x00 "SMMU_TLBIVAH,Invalidate Hyp TLB by VA"
textline "                                    "
wgroup.quad 0x000A0++0x7
line.quad 0x00 "SMMU_STLBIVALM,TLB Invalidate All MONC"
textline "                                    "
wgroup.quad 0x000A8++0x7
line.quad 0x00 "SMMU_STLBIVAM,TLB Invalidate All MONC"
textline "                                    "
wgroup.quad 0x000B0++0x7
line.quad 0x00 "SMMU_TLBIVALH64,Invalidate Last Hyp TLB by VA,AArch64"
textline "                                    "
wgroup.long 0x000B8++0x3
line.long 0x00 "SMMU_TLBIVMIDS1,TLB Invalidate Stage 1 by VMID"
textline "                                    "
wgroup.long 0x000BC++0x3
line.long 0x00 "SMMU_STLBIALLM,TLB Invalidate All MONC"
textline "                                    "
wgroup.quad 0x000C0++0x7
line.quad 0x00 "SMMU_TLBIVAH64,Invalidate Hyp TLB by VA,AArch64"
textline "                                    "
wgroup.quad 0x00100++0x7
line.quad 0x00 "SMMU_sGATS1UR,GAT Stage 1 Unprivileged Read"
textline "                                    "
wgroup.quad 0x00108++0x7
line.quad 0x00 "SMMU_sGATS1UW,GAT Stage 1 Unprivileged Write"
textline "                                    "
wgroup.quad 0x00110++0x7
line.quad 0x00 "SMMU_sGATS1PR,GAT Stage 1 Privileged Read"
textline "                                    "
wgroup.quad 0x00118++0x7
line.quad 0x00 "SMMU_sGATS1PW,GAT Stage 1 Privileged Write"
textline "                                    "
wgroup.quad 0x00120++0x7
line.quad 0x00 "SMMU_sGATS12UR,GAT Stages 1 and 2 Unprivileged Read"
textline "                                    "
wgroup.quad 0x00128++0x7
line.quad 0x00 "SMMU_sGATS12UW,GAT Stages 1 and 2 Unprivileged Write"
textline "                                    "
wgroup.quad 0x00130++0x7
line.quad 0x00 "SMMU_sGATS12PR,GAT Stages 1 and 2 Privileged Read"
textline "                                    "
wgroup.quad 0x00138++0x7
line.quad 0x00 "SMMU_sGATS12PW,GAT Stages 1 and 2 Privileged Write"
textline "                                    "
group.quad 0x00138++0x7
line.quad 0x00 "SMMU_sGPAR,Global Physical Address Register"
textline "                                    "
rgroup.long 0x00188++0x3
line.long 0x00 "SMMU_sGATSR,Global Address Translation Status Register"
textline "                                    "
group.long 0x00400++0x3
line.long 0x00 "SMMU_NSCR0,Secure alias for Non-secure copy of SMMU_sCR0,Configuration Register 0"
bitfld.long 0x0 28.--29. "         NSCFG        ,Non-Secure Configuration" "Default Non-Secure,Reserved,Secure,Non-Secure"
textline "                                    "
bitfld.long 0x0 26.--27. " WACFG        ,Write-Allocate Configuration" "Default,Reserved,Write-Alloc,No Write-Alloc"
bitfld.long 0x0 24.--25. "             RACFG      ,Read-Allocate Configuration" "Default,Reserved,Read-Alloc,No Read-Alloc"
textline "                                    "
bitfld.long 0x0 22.--23. " SHCFG        ,Shared Configuration" "Default,Outer Shareable,Inner Shareable,Non-Shareable"
textline "                                    "
bitfld.long 0x0 21. " SMCFCFG      ,Stream match conflict fault configuration" "Bypass SMMU,Raise fault"
bitfld.long 0x0 20. "                MTCFG      ,Memory Type Configuration" "Default mem. attributes,MemAttr field attributes"
textline "                                    "
bitfld.long 0x0 16.--19. " MemAttr      ,Memory Attributes" "0b0000,0b0001,0b0010,0b0011,0b0100,0b0101,0b0110,0b0111,0b1000,0b1001,0b1010,0b1011,0b1100,0b1101,0b1110,0b1111"
bitfld.long 0x0 14.--15. "                     BSU        ,Barrier Shareability Upgrade" "No effect,Inner Shareable,Outer Shareable,Full system"
textline "                                    "
bitfld.long 0x0 13. " FB           ,Force Broadcast" "Process affected ops,Upgrade affected ops"
bitfld.long 0x0 12. "       PTM        ,Private TLB Maintenance" "Disabled,Enabled"
textline "                                    "
bitfld.long 0x0 11. " VMIDPNE      ,VMID Private Namespace Enable" "Disabled,Enabled"
bitfld.long 0x0 10. "                   USFCFG     ,Unidentified stream fault configuration" "Pass through,Raise fault"
textline "                                    "
bitfld.long 0x0 9. " GSE          ,Global Stall Enable" "Disabled,Enabled"
bitfld.long 0x0 8. "                   STALLD     ,Stall Disable" "Permit stalling,Disable stalling"
textline "                                    "
bitfld.long 0x0 6.--7. " TRANSIENTCFG ,Transient Allocate Configuration" "Default,Reserved,Non-Transient,Transient"
bitfld.long 0x0 5. "              GCFGFIE    ,Global configuration fault interrupt enable" "Disable,Enable"
textline "                                    "
bitfld.long 0x0 4. " GCFGFRE      ,Global configuration fault report enable" "Disable,Enable"
bitfld.long 0x0 3. "                    EXIDENABLE ,Extended ID Enable" "Disabled,Enabled"
textline "                                    "  
bitfld.long 0x0 2. " GFIE         ,Global fault interrupt enable" "Disabled,Enabled"
bitfld.long 0x0 1. "                   GFRE       ,Global fault report enable" "Disable,Enable"
textline "                                    "
bitfld.long 0x0 0. " CLIENTPD     ,Client Port Disable" "Clients use SMMU,Clients bypass SMMU"
textline "                                    "
group.long 0x00408++0x3
line.long 0x00 "SMMU_NSCR2,Secure alias for Non-secure copy of SMMU_sCR2,Configuration Register 2"
hexmask.long 0x00 0.--7. 1. "         BPVMID       ,Bypass VMID"
textline "                                    "
group.long 0x00410++0x3
line.long 0x00 "SMMU_NSACR,Secure alias for Non-secure copy of SMMU_sACR,Auxiliary Configuration Register"
textline "                                    "
group.quad 0x00440++0x7
line.quad 0x00 "SMMU_NSGFAR,Secure alias for Non-secure copy of SMMU_sGFAR,Global Fault Address Register"
textline "                                    "
group.long 0x00448++0x3
line.long 0x00 "SMMU_NSGFSR,Secure alias for Non-secure copy of SMMU_sGFSR,Global Fault Status Register"
bitfld.long 0x00 31. "         MULTI        ,Multiple faults" "No multiple faults occured,Multiple faults occured"
textline "                                    "
bitfld.long 0x00 8. " UUT          ,Unsupported Upstream Transaction" "No unsupported upstream transaction fault,Unsupported upstream transaction fault recorded"
textline "                                    "
bitfld.long 0x00 7. " PF           ,Permission fault" "No permission fault,Permission fault"
textline "                                    "
bitfld.long 0x00 6. " EF           ,External fault" "No external fault,External fault caused by an external abort"
textline "                                    "
bitfld.long 0x00 5. " CAF          ,Configuration access fault" "No configuration access fault,Configuration access fault"
textline "                                    "
bitfld.long 0x00 4. " UCIF         ,Unimplemented context interrupt fault" "No unimplemented context interrupt fault,Unimplemented context interrupt fault"
textline "                                    "
bitfld.long 0x00 3. " UCBF         ,Unimplemented context bank fault" "No unimplemented context bank fault,Unimplemented context bank fault"
textline "                                    "
bitfld.long 0x00 2. " SMCF         ,Stream match conflict fault" "No stream match conflict fault,Stream match conflict fault"
textline "                                    "
bitfld.long 0x00 1. " USF          ,Unidentified stream fault" "No unidentified stream fault,Unidentified stream fault"
textline "                                    "
bitfld.long 0x00 0. " ICF          ,Invalid context fault" "No invalid context fault,Invalid context fault"
textline "                                    "
wgroup.long 0x0044C++0x3
line.long 0x00 "SMMU_NSGFSRRESTORE,Secure alias for Non-secure copy of SMMU_sGFSRRESTORE,Global Fault Status Restore Register"
bitfld.long 0x00 31. "         MULTI        ,Multiple faults" "No multiple faults occured,Multiple faults occured"
textline "                                    "
bitfld.long 0x00 8. " UUT          ,Unsupported Upstream Transaction" "No unsupported upstream transaction fault,Unsupported upstream transaction fault recorded"
textline "                                    "
bitfld.long 0x00 7. " PF           ,Permission fault" "No permission fault,Permission fault"
textline "                                    "
bitfld.long 0x00 6. " EF           ,External fault" "No external fault,External fault caused by an external abort"
textline "                                    "
bitfld.long 0x00 5. " CAF          ,Configuration access fault" "No configuration access fault,Configuration access fault"
textline "                                    "
bitfld.long 0x00 4. " UCIF         ,Unimplemented context interrupt fault" "No unimplemented context interrupt fault,Unimplemented context interrupt fault"
textline "                                    "
bitfld.long 0x00 3. " UCBF         ,Unimplemented context bank fault" "No unimplemented context bank fault,Unimplemented context bank fault"
textline "                                    "
bitfld.long 0x00 2. " SMCF         ,Stream match conflict fault" "No stream match conflict fault,Stream match conflict fault"
textline "                                    "
bitfld.long 0x00 1. " USF          ,Unidentified stream fault" "No unidentified stream fault,Unidentified stream fault"
textline "                                    "
bitfld.long 0x00 0. " ICF          ,Invalid context fault" "No invalid context fault,Invalid context fault"
textline "                                    "
group.long 0x00450++0x3
line.long 0x00 "SMMU_NSGFSYNR0,Secure alias for Non-secure copy of SMMU_sGFSYNR0,Global Fault Syndrome Register 0"
line.long 0x00 "SMMU_sGFSYNR0,Global Fault Syndrome Register 0"
bitfld.long 0x00 3. "         IND          ,Instruction Not Data" "Faulty transaction has the data access attribute,Faulty transaction has the instruction access attribute"
textline "                                    "
bitfld.long 0x00 2. " PNU          ,Privileged Not Unprivileged" "Faulty transaction has the unprivileged attribute,Faulty transaction is privileged"
textline "                                    "
bitfld.long 0x00 1. " WNR          ,Write Not Read" "Faulty transaction is a read,Faulty transaction is a write"
textline "                                    "
bitfld.long 0x00 0. " Nested       ,Nested fault" "Fault occurred in the initial stream context,Fault occurred in stage 2 context of a nested translation"
textline "                                    "
group.long 0x00454++0x3
line.long 0x00 "SMMU_NSGFSYNR1,Secure alias for Non-secure copy of SMMU_sGFSYNR1,Global Fault Syndrome Register 1"
hexmask.long 0x00 16.--31. 1. "         SSD_Index    ,SSD_Index of the transaction that caused the fault"
textline "                                    "
hexmask.long 0x00 0.--15. 1.  " StreamID     ,StreamID of the transaction that caused the fault"
textline "                                    "
group.long 0x00458++0x3
line.long 0x00 "SMMU_NSGFSYNR2,Secure alias for Non-secure copy of SMMU_sGFSYNR2,Global Fault Syndrome Register 2"
textline "                                    "
wgroup.long 0x00470++0x3
line.long 0x00 "SMMU_NSTLBGSYNC,Secure alias for Non-secure copy of SMMU_sTLBGSYNC,Global Synchronize TLB Invalidate"
textline "                                    "
rgroup.long 0x00474++0x3
line.long 0x00 "SMMU_NSTLBGSTATUS,Secure alias for Non-secure copy of SMMU_sTLBGSTATUS,Global TLB Status register"
textline "                                    "
wgroup.quad 0x00500++0x7
line.quad 0x00 "SMMU_NSGATS1UR,Secure alias for Non-secure copy of SMMU_sGATS1UR,GAT Stage 1 Unprivileged Read"
textline "                                    "
wgroup.quad 0x00508++0x7
line.quad 0x00 "SMMU_NSGATS1UW,Secure alias for Non-secure copy of SMMU_sGATS1UW,GAT Stage 1 Unprivileged Write"
textline "                                    "
wgroup.quad 0x00510++0x7
line.quad 0x00 "SMMU_NSGATS1PR,Secure alias for Non-secure copy of SMMU_sGATS1PR,GAT Stage 1 Privileged Read"
textline "                                    "
wgroup.quad 0x00518++0x7
line.quad 0x00 "SMMU_NSGATS1PW,Secure alias for Non-secure copy of SMMU_sGATS1PW,GAT Stage 1 Privileged Write"
textline "                                    "
wgroup.quad 0x00520++0x7
line.quad 0x00 "SMMU_NSGATS12UR,Secure alias for Non-secure copy of SMMU_sGATS12UR,GAT Stages 1 and 2 Unprivileged Read"
textline "                                    "
wgroup.quad 0x00528++0x7
line.quad 0x00 "SMMU_NSGATS12UW,Secure alias for Non-secure copy of SMMU_sGATS12UW,GAT Stages 1 and 2 Unprivileged Write"
textline "                                    "
wgroup.quad 0x00530++0x7
line.quad 0x00 "SMMU_NSGATS12PR,Secure alias for Non-secure copy of SMMU_sGATS12PR,GAT Stages 1 and 2 Privileged Read"
textline "                                    "
wgroup.quad 0x00538++0x7
line.quad 0x00 "SMMU_NSGATS12PW,Secure alias for Non-secure copy of SMMU_sGATS12PW,GAT Stages 1 and 2 Privileged Write"
textline "                                    "
group.quad 0x00584++0x7
line.quad 0x00 "SMMU_NSGPAR,Secure alias for Non-secure copy of SMMU_sGPAR,Global Physical Address Register"
textline "                                    "
rgroup.long 0x00588++0x3
line.long 0x00 "SMMU_NSGATSR,Secure alias for Non-secure copy of SMMU_sGATSR,Global Address Translation Status Register"
textline "                                    "
tree.end
sif (&smgr!=-1)
tree "System MMU '&SMMU_name' - Stream Map Register Group &smgr"
textline "                                    "
base &SMMU_base+(&smgr<<2)
if ((per.long(D:(per.eval(0.))+0x0000)&0x8)==0x0)
group.long 0x0800++0x03
line.long 0x00 "SMMU_SMRn,Control Register"
bitfld.long 0x0 31. "         VALID        ,Include entry in the stream mapping table search" "Do not include,Include"
textline "                                    "
hexmask.long 0x00 16.--30. 1. " MASK         ,Masking of StreamID bits"
textline "                                    "
hexmask.long 0x00 0.--14. 1. " ID           ,Stream Identifier"
else 
group.long 0x0800++0x03
line.long 0x00 "SMMU_SMRn,Control Register"
hexmask.long 0x00 16.--31. 1. "         EXMASK       ,Extended Mask of StreamID bits"
textline "                                    "
hexmask.long 0x00 0.--15. 1. " EXID         ,Extended Stream Identifier"
endif  
textline "                                    "
if (((per.long(D:(per.eval(1.))+0x0C00)>>16.)&0x3)==0x0)
group.long 0x0C00++0x03
line.long 0x00 "SMMU_S2CRn,Control Register"
bitfld.long 0x0 28.--29. "         TRANSIENTCFG ,Transient Allocate Configuration" "Default,Reserved,Non-Transient,Transient"
bitfld.long 0x0 26.--27. "              INSTCFG ,Instruction Fetch Attribute Configuration" "Default,Reserved,Data,Instruction"
textline "                                    "
bitfld.long 0x0 24.--25. " PRIVCFG      ,Privileged Attribute Configuration" "Default,Reserved,Unprivileged,Privileged"
textline "                                    "
bitfld.long 0x0 22.--23. " WACFG        ,Write-Allocate Configuration" "Default,Reserved,Write-Alloc,No Write-Alloc"
bitfld.long 0x0 20.--21. "             RACFG   ,Read-Allocate Configuration" "Default,Reserved,Read-Alloc,No Read-Alloc"
textline "                                    "
bitfld.long 0x0 18.--19. " NSCFG        ,Non-Secure Configuration" "Default Non-Secure,Reserved,Secure,Non-Secure"
textline "                                    "
bitfld.long 0x0 16.--17. " TYPE         ,Initial context type" "Translation ctxt bank idx,Bypass mode,Fault,Reserved"
textline "                                    "
bitfld.long 0x0 12.--15. " MemAttr      ,Memory Attributes" "0b0000,0b0001,0b0010,0b0011,0b0100,0b0101,0b0110,0b0111,0b1000,0b1001,0b1010,0b1011,0b1100,0b1101,0b1110,0b1111"
bitfld.long 0x0 11.      "                     MTCFG   ,Memory Type Configuration" "Default mem. attributes,MemAttr field attributes"
textline "                                    "
bitfld.long 0x0 10. " EXIDVALID    ,Extended ID Valid" "SMR group invalid,SMRn uses ExtendedID"
bitfld.long 0x0 8.--9. "       SHCFG   ,Shared Configuration" "Default,Outer Shareable,Inner Shareable,Non-Shareable"
textline "                                    "
hexmask.long 0x00 0.--7. 1. " CBNDX        ,Context Bank Index"
elif (((per.long(D:(per.eval(1.))+0x0C00)>>16.)&0x3)==0x1)
group.long 0x0C00++0x03
line.long 0x00 "SMMU_S2CRn,Control Register"
bitfld.long 0x0 28.--29. "         TRANSIENTCFG ,Transient Allocate Configuration" "Default,Reserved,Non-Transient,Transient"
bitfld.long 0x0 26. "              FB      ,Force Broadcast" "Process affected ops,Upgrade affected ops"
textline "                                    "
bitfld.long 0x0 24.--25. " BSU          ,Barrier Shareability Upgrade" "No effect,Inner Shareable,Outer Shareable,Full system"
textline "                                    "
bitfld.long 0x0 22.--23. " WACFG        ,Write-Allocate Configuration" "Default,Reserved,Write-Alloc,No Write-Alloc"
bitfld.long 0x0 20.--21. "             RACFG   ,Read-Allocate Configuration" "Default,Reserved,Read-Alloc,No Read-Alloc"
textline "                                    "
bitfld.long 0x0 18.--19. " NSCFG        ,Non-Secure Configuration" "Default Non-Secure,Reserved,Secure,Non-Secure"
textline "                                    "
bitfld.long 0x0 16.--17. " TYPE         ,Initial context type" "Translation ctxt bank idx,Bypass mode,Fault,Reserved"
textline "                                    "
bitfld.long 0x0 12.--15. " MemAttr      ,Memory Attributes" "0b0000,0b0001,0b0010,0b0011,0b0100,0b0101,0b0110,0b0111,0b1000,0b1001,0b1010,0b1011,0b1100,0b1101,0b1110,0b1111"
bitfld.long 0x0 11.      "                     MTCFG   ,Memory Type Configuration" "Default mem. attributes,MemAttr field attributes"
textline "                                    "
bitfld.long 0x0 10. " EXIDVALID    ,Extended ID Valid" "SMR group invalid,SMRn uses ExtendedID"
bitfld.long 0x0 8.--9. "       SHCFG   ,Shared Configuration" "Default,Outer Shareable,Inner Shareable,Non-Shareable"
textline "                                    "
hexmask.long 0x00 0.--7. 1. " VMID         ,Virtual Machine Identifier (implementation defined)"
else
group.long 0x0C00++0x03
line.long 0x00 "SMMU_S2CRn,Control Register"
textline "                                    "
textline "                                    "
textline "                                    "
textline "                                    "
bitfld.long 0x0 16.--17. " TYPE         ,Initial context type" "Translation ctxt bank idx,Bypass mode,Fault,Reserved"
endif   
textline "                                    "
tree.end
endif
sif (&cbndx!=-1)
width 0x16
tree "System MMU '&SMMU_name' - Context Bank Registers &cbndx"
textline "                                    "
textline "Context Bank Attribute Registers:"
textline "                                    "
; first: determine pagesize to calculate GR1_base
sif ((per.long(D:(&SMMU_base+0x0024))&0x80000000)==0x80000000)
base &SMMU_base+0x10000+(&cbndx<<2)
else  
base &SMMU_base+0x1000+(&cbndx<<2)
endif
if (((per.long(D:(per.eval(10.))+0x0000)>>16.)&0x3)==0x1) 
group.long 0x0000++0x03
line.long 0x00 "SMMU_CBARn,Control Register"
hexmask.long 0x00 24.--31. 1. "         IRPTNDX      ,Interrupt Index"
bitfld.long 0x0 22.--23. "                      WACFG   ,Write-Allocate Configuration" "Default,Reserved,Write-Alloc,No Write-Alloc"
bitfld.long 0x0 20.--21. "     RACFG ,Read-Allocate Configuration" "Default,Reserved,Read-Alloc,No Read-Alloc"
textline "                                    "
bitfld.long 0x0 18.--19. "    BSU          ,Barrier Shareability Upgrade" "No effect,Inner Shareable,Outer Shareable,Full system"
textline "                                    "
bitfld.long 0x0 16.--17. "    TYPE         ,Translation context type" "Stage2 ctxt,Stage1 ctxt w. stage2 byp,Stage1 ctxt w. stage2 fault,Stage1 followed by stage2 transl. ctxt"
textline "                                    "
bitfld.long 0x0 12.--15. "    MemAttr      ,Memory Attributes" "0b0000,0b0001,0b0010,0b0011,0b0100,0b0101,0b0110,0b0111,0b1000,0b1001,0b1010,0b1011,0b1100,0b1101,0b1110,0b1111"
bitfld.long 0x0 11. "                        FB      ,Force Broadcast" "Process affected ops,Upgrade affected ops"
textline "                                    "
bitfld.long 0x0 10. "    HYPC         ,Hypervisor Context" "Non-hypervisor context,Hypervisor context"
bitfld.long 0x0 8.--9. "        BPSHCFG ,Bypass Shared Configuration" "Reserved,Outer Shareable,Inner Shareable,Non-shareable"
textline "                                    "
hexmask.long 0x00 0.--7. 1. "    VMID         ,Virtual Machine Identifier"
textline "                                    "
elif (((per.long(D:(per.eval(10.))+0x0000)>>16.)&0x3)==0x3) 
group.long 0x0000++0x03
line.long 0x00 "SMMU_CBARn,Control Register"
hexmask.long 0x00 24.--31. 1. "         IRPTNDX      ,Interrupt Index"
textline "                                    "
textline "                                    "
bitfld.long 0x0 16.--17. "    TYPE         ,Translation context type" "Stage2 ctxt,Stage1 ctxt w. stage2 byp,Stage1 ctxt w. stage2 fault,Stage1 followed by stage2 transl. ctxt"
textline "                                    "
hexmask.long 0x00 8.--15. 1. "    CBNDX        ,Context Bank Index"
textline "                                    "
textline "                                    "
hexmask.long 0x00 0.--7. 1. "    VMID         ,Virtual Machine Identifier"
textline "                                    "
else
group.long 0x0000++0x03
line.long 0x00 "SMMU_CBARn,Control Register"
hexmask.long 0x00 24.--31. 1. "         IRPTNDX      ,Interrupt Index"
textline "                                    "
textline "                                    "
bitfld.long 0x0 16.--17. "    TYPE         ,Translation context type" "Stage2 ctxt,Stage1 ctxt w. stage2 byp,Stage1 ctxt w. stage2 fault,Stage1 followed by stage2 transl. ctxt"
textline "                                    "
textline "                                    "
textline "                                    "
hexmask.long 0x00 0.--7. 1. "    VMID         ,Virtual Machine Identifier"
textline "                                    "
endif
group.long 0x0400++0x03
line.long 0x00 "SMMU_CBFRSYNRAn,Context Bank Fault Restricted Syndrome Register A"
hexmask.long 0x00 16.--31. 1. "         SSD_Index    ,SSD_Index of the transaction causing the fault"
textline "                                    "
hexmask.long 0x00 0.--15. 1. "    StreamID     ,StreamID of the transaction causing the fault"
textline "                                    "
textline "                                    "
group.long 0x0800++0x03
line.long 0x00 "SMMU_CBA2Rn,Control Register"
bitfld.long 0x0 0. "         VA64         ,Descriptor format" "32-bit,64-bit"
bitfld.long 0x0 1. "                        MONC    ,Monitor context bank" "Non-monitor context,Monitor context"
textline "                                    "
textline "                                    "
; translation context bank registers
base &CBn_base
textline "                                    "
sif (&va64!=0)
textline "Translation Context Bank Registers (AArch64 page table format):"
else
textline "Translation Context Bank Registers (AArch32 page table format):"
endif
textline "                                    "
sif (&stage2==1)
group.long 0x0000++0x03
line.long 0x00 "SMMU_CBn_SCTLR,Control Register"
bitfld.long 0x0 26.--27. "         WACFG        ,Write-Allocate Configuration" "Default allocation,Reserved,Write-Allocate,No Write-Allocate"
bitfld.long 0x0 24.--25. "            RACFG   ,Read-Allocate Configuration" "Default allocation,Reserved,Read-Allocate,No Read-Allocate"
textline "                                     "
bitfld.long 0x0 22.--23. "   SHCFG        ,Shared Configuration" "Non-shareable,Outer Shareable,Inner Shareable,Non-Shareable"
bitfld.long 0x0 20.      "               MTCFG   ,Memory Type Configuration" "Default,Use MemAttr field"
textline "                                     "
bitfld.long 0x0 16.--19. "   MemAttr      ,Memory Attribute" "0b0000,0b0001,0b0010,0b0011,0b0100,0b0101,0b0110,0b0111,0b1000,0b1001,0b1010,0b1011,0b1100,0b1101,0b1110,0b1111"
textline "                                     "
bitfld.long 0x0 14.--15. "   TRANSIENTCFG ,Transient Allocate Configuration" "Default,Reserved,Non-Transient,Transient"
bitfld.long 0x0 12. "                 ASIDPNE ,Address Space Identifier Private Namespace" "Disabled,Enabled"
textline "                                     "
bitfld.long 0x0 10. "   UWXN         ,Unprivileged Writeable Execute Never" "Disabled,Enabled"
bitfld.long 0x0  9. "                      WXN     ,Writeable Execute Never" "Disabled,Enabled"
textline "                                     "
bitfld.long 0x0  8. "   UPCF         ,Hit under previous context fault" "Stall or terminate,Process all transactions"
bitfld.long 0x0  7. "      CFCFG   ,Context fault configuration" "Terminate,Stall"
textline "                                     "
bitfld.long 0x0  6. "   CFIE         ,Context fault interrupt enable" "Disabled,Enabled"
bitfld.long 0x0  5. "                      CFRE    ,Context fault report enable" "Disabled,Enabled"
textline "                                     "
bitfld.long 0x0  4. "   E            ,Endianess" "Little Endian,Big Endian"
bitfld.long 0x0  3. "                 AFFD    ,Access flag fault disable" "Enabled,Disabled"
textline "                                     "
bitfld.long 0x0  2. "   AFE          ,Access flag enable" "Access permission bit,Access flag"
bitfld.long 0x0  1. "         TRE     ,TEX remap enable" "Disabled,Enabled"
textline "                                     "
bitfld.long 0x0  0. "   M            ,MMU" "Disabled,Enabled"   
textline "                                     "
else
group.long 0x0000++0x03
line.long 0x00 "SMMU_CBn_SCTLR,Control Register"
bitfld.long 0x0 30.      "         UCI          ,User Cache Maintenance" "Disabled,Enabled"
bitfld.long 0x0 28.--29. "                      NSCFG   ,Non-Secure Configuration" "Default Non-Secure,Reserved,Secure,Non-Secure"
textline "                                     "
bitfld.long 0x0 26.--27. "   WACFG        ,Write-Allocate Configuration" "Default allocation,Reserved,Write-Allocate,No Write-Allocate"
bitfld.long 0x0 24.--25. "            RACFG   ,Read-Allocate Configuration" "Default allocation,Reserved,Read-Allocate,No Read-Allocate"
textline "                                     "
bitfld.long 0x0 22.--23. "   SHCFG        ,Shared Configuration" "Default,Outer Shareable,Inner Shareable,Non-Shareable"
bitfld.long 0x0 20.      "               MTCFG   ,Memory Type Configuration" "Default,Use MemAttr field"
textline "                                     "
bitfld.long 0x0 16.--19. "   MemAttr      ,Memory Attribute" "0b0000,0b0001,0b0010,0b0011,0b0100,0b0101,0b0110,0b0111,0b1000,0b1001,0b1010,0b1011,0b1100,0b1101,0b1110,0b1111"
textline "                                     "
bitfld.long 0x0 14.--15. "   TRANSIENTCFG ,Transient Allocate Configuration" "Default,Reserved,Non-Transient,Transient"
bitfld.long 0x0 12. "                 ASIDPNE ,Address Space Identifier Private Namespace" "Disabled,Enabled"
textline "                                     "
bitfld.long 0x0 10. "   UWXN         ,Unprivileged Writeable Execute Never" "Disabled,Enabled"
bitfld.long 0x0  9. "                      WXN     ,Writeable Execute Never" "Disabled,Enabled"
textline "                                     "
bitfld.long 0x0  8. "   UPCF         ,Hit under previous context fault" "Stall or terminate,Process all transactions"
bitfld.long 0x0  7. "      CFCFG   ,Context fault configuration" "Terminate,Stall"
textline "                                     "
bitfld.long 0x0  6. "   CFIE         ,Context fault interrupt enable" "Disabled,Enabled"
bitfld.long 0x0  5. "                      CFRE    ,Context fault report enable" "Disabled,Enabled"
textline "                                     "
bitfld.long 0x0  4. "   E            ,Endianess" "Little Endian,Big Endian"
bitfld.long 0x0  3. "                 AFFD    ,Access flag fault disable" "Enabled,Disabled"
textline "                                     "
bitfld.long 0x0  2. "   AFE          ,Access flag enable" "Access permission bit,Access flag"
bitfld.long 0x0  1. "         TRE     ,TEX remap enable" "Disabled,Enabled"
textline "                                     "
bitfld.long 0x0  0. "   M            ,MMU" "Disabled,Enabled"   
textline "                                     "
endif
group.long 0x0004++0x03
line.long 0x00 "SMMU_CBn_ACTLR,Auxiliary Control Register"
textline "                                    "
wgroup.long 0x0008++0x03
line.long 0x00 "SMMU_CBn_RESUME,Transaction Resume Register"
textline "                                    "
group.long 0x0010++0x03
line.long 0x00 "SMMU_CBn_TCR2,Translation Control Register 2"
bitfld.long 0x00 31. "         NSCFG1 ,Non-secure attribute for the memory associated with a translation table walk using SMMU_CBn_TTBR1" "Default,Non-Secure"
bitfld.long 0x00 15.--17. "     SEP     ,Sign Extension Position" "Bit 31,Bit 35,Bit 39,Bit 41,Bit 43,Bit 47,Res,Bit 48"
textline "                                    "
bitfld.long 0x00 14. "    NSCFG0 ,Non-secure attribute for the memory associated with a translation table walk using SMMU_CBn_TTBR0" "Default,Non-Secure"
bitfld.long 0x00 6. "     TBI1    ,Top-Byte Ignored. Indicates whether the top byte of the input adress can be used for address match for the TTBR1 region" "Used,Ignored"
bitfld.long 0x00 5. "         TBI0   ,Top-Byte Ignored. Indicates whether the top byte of the input adress can be used for address match for the TTBR0 region" "Used,Ignored"
textline "                                    "
bitfld.long 0x00 6. "    AS     ,ASID Size" "8 Bit,16 Bit"
bitfld.long 0x00 0.--2. "         PASize  ,Physical Address Size" "32 Bits (4GB),36 Bits (64GB),40 Bits (1TB),42 Bits (4TB),44 Bits (16TB),48 bits (256TB),48 bits(reserved)..."
textline "                                    "
sif (&va64!=0)
group.quad 0x0020++0x07
line.quad 0x00 "SMMU_CBn_TTBR0,Translation Table Base Registers"
hexmask.quad.word 0x00 48.--63. 1. " ASID   ,Address Space Identifier associated with this base baddress" 
textline "                                    "
hexmask.quad 0x00 0.--47. 1. "    BADDR  ,Translation table base address"
textline "                                    "
else
if (((per.long(D:(&CBn_base+0x0030)))&0x80000000)==0x80000000)
group.quad 0x0020++0x07
line.quad 0x00 "SMMU_CBn_TTBR0,Translation Table Base Registers"
hexmask.quad.byte 0x00 48.--55. 1. " ASID   ,Address Space Identifier associated with this base baddress" 
textline "                                    "
hexmask.quad 0x00 0.--47. 1. "    BADDR  ,Translation table base address"
else
group.quad 0x0020++0x07
line.quad 0x00 "SMMU_CBn_TTBR0,Translation Table Base Registers"
hexmask.quad 0x00 7.--47. 0x80 " BADDR  ,Translation table base address"
textline "                                    "
bitfld.quad 0x00 6. 0. "    IRGN   ,Inner Region Bits" "Inner Non-cacheable,Inner Write-Back Write-Allocate cacheable,Inner Write-Through cacheable,Inner Write-Back no Write-Allocate cacheable"
textline "                                    "
bitfld.quad 0x00 5. "    NOS    ,Not Outer Shareable" "Outer Shareable,Inner Shareable"
textline "                                    "
bitfld.quad 0x00 3.--4. "    RGN    ,Region bits" "Non-cacheable,Outer Write-Back Write-Allocate cacheable,Outer Write-Through cacheable,Outer Write-Back no Write-Allocate cacheable"
textline "                                    "
bitfld.quad 0x00 2. "    IMP    ,Implementation defined bit" "0,1"
textline "                                    "
endif
endif
sif (&stage2!=1)
sif (&va64!=0)
group.quad 0x0028++0x07
line.quad 0x00 "SMMU_CBn_TTBR1,Translation Table Base Registers"
hexmask.quad.word 0x00 48.--63. 1. " ASID   ,Address Space Identifier associated with this base baddress" 
textline "                                    "
hexmask.quad 0x00 0.--47. 1. "    BADDR  ,Translation table base address"
textline "                                    "
else
if (((per.long(D:(&CBn_base+0x0030)))&0x80000000)==0x80000000)
group.quad 0x0028++0x07
line.quad 0x00 "SMMU_CBn_TTBR1,Translation Table Base Registers"
hexmask.quad.byte 0x00 48.--55. 1. " ASID   ,Address Space Identifier associated with this base baddress" 
textline "                                    "
hexmask.quad 0x00 0.--47. 1. "    BADDR  ,Translation table base address"
else
group.quad 0x0028++0x07
line.quad 0x00 "SMMU_CBn_TTBR1,Translation Table Base Registers"
hexmask.quad 0x00 7.--47. 0x80 " BADDR  ,Translation table base address"
textline "                                    "
bitfld.quad 0x00 6. 0. "    IRGN   ,Inner Region Bits" "Inner Non-cacheable,Inner Write-Back Write-Allocate cacheable,Inner Write-Through cacheable,Inner Write-Back no Write-Allocate cacheable"
textline "                                    "
bitfld.quad 0x00 5. "    NOS    ,Not Outer Shareable" "Outer Shareable,Inner Shareable"
textline "                                    "
bitfld.quad 0x00 3.--4. "    RGN    ,Region bits" "Non-cacheable,Outer Write-Back Write-Allocate cacheable,Outer Write-Through cacheable,Outer Write-Back no Write-Allocate cacheable"
textline "                                    "
bitfld.quad 0x00 2. "    IMP    ,Implementation defined bit" "0,1"
textline "                                    "
endif
endif
endif
sif (&va64!=0)
group.long 0x0030++0x03
line.long 0x00 "SMMU_CBn_TCR,Translation Control Register"
bitfld.long 0x00 30.--31. "         TG1    ,Page granule size for TTBR1" "Res,16kB,4kB,64kB"
bitfld.long 0x00 28.--29. "           SH1  ,Shareability attributes for the memory associated with the translation table walks using TTBR1" "Non-Shareable,Reserved,Non-Shareable,Inner Shareable"
bitfld.long 0x00 26.--27. "    ORGN1 ,Outer Cacheability attributes for the memory associated with the translation table walks using TTBR1" "0,1,2,3"
bitfld.long 0x00 24.--25. "            IRGN1 ,Inner Cacheability attributes for the memory associated with the translation table walks using TTBR1" "0,1,2,3"
textline "                                    "
bitfld.long 0x00 23. "    EPD1   ,Translation Walk Disable for TTBR1" "No,Yes"
bitfld.long 0x00 22. "            A1   ,Select ASID from TTBR1 ASID field" "Selected,Not selected"
hexmask.long 0x00 16.--21. 1. "       T1SZ  ,The Size offset of the TTBR1 addressed region"
textline "                                    "
bitfld.long 0x00 14.--15. "    TG0    ,Page granule size for TTBR0" "4kB,64kB,16kB,Res"
bitfld.long 0x00 12.--13. "           SH0  ,Shareability attributes for the memory associated with the translation table walks using TTBR0/HTTBR" "Non-Shareable,Reserved,Non-Shareable,Inner Shareable"
bitfld.long 0x00 10.--11. "    ORGN0 ,Outer Cacheability attributes for the memory associated with the translation table walks using TTBR0/HTTBR" "0,1,2,3"
bitfld.long 0x00 8.--9. "            IRGN0 ,Inner Cacheability attributes for the memory associated with the translation table walks using TTBR0/HTTBR" "0,1,2,3"
textline "                                    "
bitfld.long 0x00 7. "    EPD0   ,Translation Walk Disable for TTBR0 region" "No,Yes"
hexmask.long 0x00 0.--5. 1. "                                    T0SZ  ,The Size offset of the TTBR0 addressed region"
textline "                                    "
else
if (((per.long(D:(&CBn_base+0x0030)))&0x80000000)==0x80000000)
group.long 0x0030++0x03
line.long 0x00 "SMMU_CBn_TCR,Translation Control Register"
bitfld.long 0x00 31. "         EAE    ,Extended Address Enable" "Short-Descriptor,Long-Descriptor"
textline "                                    "
bitfld.long 0x00 30. "    NSCFG1 ,Non-secure attribute" "Default,Non-Secure"
bitfld.long 0x00 28.--29. "     SH1  ,Shareability attributes for the memory associated with the translation table walks using TTBR1" "Non-Shareable,Reserved,Non-Shareable,Inner Shareable"
bitfld.long 0x00 26.--27. "    ORGN1 ,Outer Cacheability attributes for the memory associated with the translation table walks using TTBR1" "0,1,2,3"
bitfld.long 0x00 24.--25. "       IRGN1 ,Inner Cacheability attributes for the memory associated with the translation table walks using TTBR1" "0,1,2,3"
textline "                                    "
bitfld.long 0x00 23. "    EPD1   ,Translation Walk Disable for TTBR1" "No,Yes"
bitfld.long 0x00 22. "            A1   ,Select ASID from TTBR1 ASID field" "Selected,Not selected"
bitfld.long 0x00 16.--18. "       T1SZ  ,The Size offset of the TTBR1 addressed region" "0,1,2,3,4,5,6,7"
textline "                                    "
bitfld.long 0x00 14.  "    NSCFG0 ,Non-secure attribute" "Default,Non-Secure"
bitfld.long 0x00 12.--13. "     SH0  ,Shareability attributes for the memory associated with the translation table walks using TTBR0/HTTBR" "Non-Shareable,Reserved,Non-Shareable,Inner Shareable"
bitfld.long 0x00 10.--11. "    ORGN0 ,Outer Cacheability attributes for the memory associated with the translation table walks using TTBR0/HTTBR" "0,1,2,3"
bitfld.long 0x00 8.--9. "       IRGN0 ,Inner Cacheability attributes for the memory associated with the translation table walks using TTBR0/HTTBR" "0,1,2,3"
textline "                                    "
bitfld.long 0x00 7. "    EPD0   ,Translation Walk Disable for TTBR0 region" "No,Yes"
bitfld.long 0x00 0.--2. "                                    T0SZ  ,The Size offset of the TTBR0/HTTBR addressed region" "0,1,2,3,4,5,6,7"
textline "                                    "
else
group.long 0x0030++0x03
line.long 0x00 "SMMU_CBn_TCR,Translation Control Register"
bitfld.long 0x00 31. "         EAE    ,Extended Address Enable" "Short-Descriptor,Long-Descriptor"
textline "                                    "
bitfld.long 0x00 30. "    NSCFG1 ,Non-secure attribute" "Default,Non-Secure"
bitfld.long 0x00 14. "              NSCFG0 ,Non-secure attribute" "Default,Non-Secure"
textline "                                    "
bitfld.long 0x00 5. "    PD1    ,Translation table walk disable for translations using TTBR1" "TW enabled,TW disabled"
bitfld.long 0x00 4. "             PD0    ,Translation table walk disable for translations using TTBR0" "TW enabled,TW disabled"
textline "                                    "
bitfld.long 0x00 0.--2. "    T0SZ   ,The Size offset of the TTBR0/HTTBR addressed region" "0,1,2,3,4,5,6,7"
endif
endif
sif (&stage2!=1)
group.long 0x0034++0x03
line.long 0x00 "SMMU_CBn_CONTEXTIDR,Context Identification Register"
textline "                                    "
if ((&va64!=0)||((per.long(D:(&CBn_base+0x0030)))&0x80000000)==0x80000000)
group.long 0x0038++0x03
line.long 0x00 "SMMU_CBn_MAIR0,Memory Attribute Indirection Register"
bitfld.long 0x00 28.--31. "         ATTR3H ,Attribute 3 High" "Device memory,Normal Memory/Outer Write-through transient,Normal Memory/Outer Write-through transient,Normal Memory/Outer Write-through transient,Normal Memory/Outer Non-Cacheable,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient"
bitfld.long 0x00 24.--27. "     ATTR3L ,Attribute 3 Low (Device mem/Normal mem)" "Device-nGnRnE/---,---/Inner Write-through transient,---/Inner Write-through transient,---/Inner Write-through transient,Device-nGnRE/Inner Non-Cacheable,---/Inner Write-back transient,---/Inner Write-back transient,---/Inner Write-back transient,Device-nGRE memory/Inner Write-through,---/Inner Write-through non-transient,---/Inner Write-through non-transient,---/Inner Write-through non-transient,Device-GRE memory/Inner Write-back non-transient,---/Inner Write-back non-transient,---/Inner Write-back non-transient,---/Inner Write-back non-transient"
textline "                            "
bitfld.long 0x00 20.--23. "            ATTR2H ,Attribute 2 High" "Device memory,Normal Memory/Outer Write-through transient,Normal Memory/Outer Write-through transient,Normal Memory/Outer Write-through transient,Normal Memory/Outer Non-Cacheable,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient"
bitfld.long 0x00 16.--19. "     ATTR2L ,Attribute 2 Low (Device mem/Normal mem)" "Device-nGnRnE/---,---/Inner Write-through transient,---/Inner Write-through transient,---/Inner Write-through transient,Device-nGnRE/Inner Non-Cacheable,---/Inner Write-back transient,---/Inner Write-back transient,---/Inner Write-back transient,Device-nGRE memory/Inner Write-through,---/Inner Write-through non-transient,---/Inner Write-through non-transient,---/Inner Write-through non-transient,Device-GRE memory/Inner Write-back non-transient,---/Inner Write-back non-transient,---/Inner Write-back non-transient,---/Inner Write-back non-transient"
textline "                            "
bitfld.long 0x00 12.--15. "            ATTR1H ,Attribute 1 High" "Device memory,Normal Memory/Outer Write-through transient,Normal Memory/Outer Write-through transient,Normal Memory/Outer Write-through transient,Normal Memory/Outer Non-Cacheable,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient"
bitfld.long 0x00 8.--11. "     ATTR1L ,Attribute 1 Low (Device mem/Normal mem)" "Device-nGnRnE/---,---/Inner Write-through transient,---/Inner Write-through transient,---/Inner Write-through transient,Device-nGnRE/Inner Non-Cacheable,---/Inner Write-back transient,---/Inner Write-back transient,---/Inner Write-back transient,Device-nGRE memory/Inner Write-through,---/Inner Write-through non-transient,---/Inner Write-through non-transient,---/Inner Write-through non-transient,Device-GRE memory/Inner Write-back non-transient,---/Inner Write-back non-transient,---/Inner Write-back non-transient,---/Inner Write-back non-transient"
textline "                            "
bitfld.long 0x00 4.--7. "            ATTR0H ,Attribute 0 High" "Device memory,Normal Memory/Outer Write-through transient,Normal Memory/Outer Write-through transient,Normal Memory/Outer Write-through transient,Normal Memory/Outer Non-Cacheable,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient"
bitfld.long 0x00 0.--3. "     ATTR0L ,Attribute 0 Low (Device mem/Normal mem)" "Device-nGnRnE/---,---/Inner Write-through transient,---/Inner Write-through transient,---/Inner Write-through transient,Device-nGnRE/Inner Non-Cacheable,---/Inner Write-back transient,---/Inner Write-back transient,---/Inner Write-back transient,Device-nGRE memory/Inner Write-through,---/Inner Write-through non-transient,---/Inner Write-through non-transient,---/Inner Write-through non-transient,Device-GRE memory/Inner Write-back non-transient,---/Inner Write-back non-transient,---/Inner Write-back non-transient,---/Inner Write-back non-transient"
textline "                                    "
else
group.long 0x0038++0x03
line.long 0x00 "SMMU_CBn_PRRR,Primary Region Remap Register"
bitfld.long 0x00 31. "         NOS7 ,Outer Shareable property mapping for memory attributes" "Outer,Inner"
bitfld.long 0x00 30. "                     NOS6 ,Outer Shareable property mapping for memory attributes" "Outer,Inner"
textline "                                    "
bitfld.long 0x00 29. "    NOS5 ,Outer Shareable property mapping for memory attributes" "Outer,Inner"
bitfld.long 0x00 28. "                     NOS4 ,Outer Shareable property mapping for memory attributes" "Outer,Inner"
textline "                                    "
bitfld.long 0x00 27. "    NOS3 ,Outer Shareable property mapping for memory attributes" "Outer,Inner"
bitfld.long 0x00 26. "                     NOS2 ,Outer Shareable property mapping for memory attributes" "Outer,Inner"
textline "                                    "
bitfld.long 0x00 25. "    NOS1 ,Outer Shareable property mapping for memory attributes" "Outer,Inner"
bitfld.long 0x00 24. "                     NOS0 ,Outer Shareable property mapping for memory attributes" "Outer,Inner"
textline "                                    "
bitfld.long 0x00 19. "    NS1  ,Shareable Attribute Remap when S=1 for Normal Regions" "Remapped,Not remapped"
bitfld.long 0x00 18. "              NS0  ,Shareable Attribute Remap when S=0 for Normal Regions" "Not remapped,Remapped"
textline "                                    "
bitfld.long 0x00 17. "    DS1  ,Shareable Attribute Remap when S=1 for Device regions" "Remapped,Not remapped"
bitfld.long 0x00 16. "              DS0  ,Shareable Attribute Remap when S=0 for Device regions" "Not remapped,Remapped"
textline "                                    "
bitfld.long 0x00 14.--15. "    TR7  ,{TEX[0] C B} = b111 Remap" "Strongly ordered,Device,Normal,UNP"
bitfld.long 0x00 12.--13. "          TR6  ,{TEX[0] C B} = b110 Remap" "Strongly ordered,Device,Normal,UNP"
textline "                                    "
bitfld.long 0x00 10.--11. "    TR5  ,{TEX[0] C B} = b101 Remap" "Strongly ordered,Device,Normal,UNP"
bitfld.long 0x00 8.--9. "          TR4  ,{TEX[0] C B} = b100 Remap" "Strongly ordered,Device,Normal,UNP"
textline "                                    "
bitfld.long 0x00 6.--7. "    TR3  ,{TEX[0] C B} = b011 Remap" "Strongly ordered,Device,Normal,UNP"
bitfld.long 0x00 4.--5. "          TR2  ,{TEX[0] C B} = b010 Remap" "Strongly ordered,Device,Normal,UNP"
textline "                                    "
bitfld.long 0x00 2.--3. "    TR1  ,{TEX[0] C B} = b001 Remap" "Strongly ordered,Device,Normal,UNP"
bitfld.long 0x00 0.--1. "          TR0  ,{TEX[0] C B} = b000 Remap" "Strongly ordered,Device,Normal,UNP"
textline "                                    "
endif
if ((&va64!=0)||((per.long(D:(&CBn_base+0x0030)))&0x80000000)==0x80000000)
group.long 0x003C++0x03
line.long 0x00 "SMMU_CBn_MAIR1,Memory Attribute Indirection Register"
bitfld.long 0x00 28.--31. "         ATTR7H ,Attribute 7 High" "Device memory,Normal Memory/Outer Write-through transient,Normal Memory/Outer Write-through transient,Normal Memory/Outer Write-through transient,Normal Memory/Outer Non-Cacheable,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient"
bitfld.long 0x00 24.--27. "     ATTR7L ,Attribute 7 Low (Device mem/Normal mem)" "Device-nGnRnE/---,---/Inner Write-through transient,---/Inner Write-through transient,---/Inner Write-through transient,Device-nGnRE/Inner Non-Cacheable,---/Inner Write-back transient,---/Inner Write-back transient,---/Inner Write-back transient,Device-nGRE memory/Inner Write-through,---/Inner Write-through non-transient,---/Inner Write-through non-transient,---/Inner Write-through non-transient,Device-GRE memory/Inner Write-back non-transient,---/Inner Write-back non-transient,---/Inner Write-back non-transient,---/Inner Write-back non-transient"
textline "                            "
bitfld.long 0x00 20.--23. "            ATTR6H ,Attribute 6 High" "Device memory,Normal Memory/Outer Write-through transient,Normal Memory/Outer Write-through transient,Normal Memory/Outer Write-through transient,Normal Memory/Outer Non-Cacheable,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient"
bitfld.long 0x00 16.--19. "     ATTR6L ,Attribute 6 Low (Device mem/Normal mem)" "Device-nGnRnE/---,---/Inner Write-through transient,---/Inner Write-through transient,---/Inner Write-through transient,Device-nGnRE/Inner Non-Cacheable,---/Inner Write-back transient,---/Inner Write-back transient,---/Inner Write-back transient,Device-nGRE memory/Inner Write-through,---/Inner Write-through non-transient,---/Inner Write-through non-transient,---/Inner Write-through non-transient,Device-GRE memory/Inner Write-back non-transient,---/Inner Write-back non-transient,---/Inner Write-back non-transient,---/Inner Write-back non-transient"
textline "                            "
bitfld.long 0x00 12.--15. "            ATTR5H ,Attribute 5 High" "Device memory,Normal Memory/Outer Write-through transient,Normal Memory/Outer Write-through transient,Normal Memory/Outer Write-through transient,Normal Memory/Outer Non-Cacheable,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient"
bitfld.long 0x00 8.--11. "     ATTR5L ,Attribute 5 Low (Device mem/Normal mem)" "Device-nGnRnE/---,---/Inner Write-through transient,---/Inner Write-through transient,---/Inner Write-through transient,Device-nGnRE/Inner Non-Cacheable,---/Inner Write-back transient,---/Inner Write-back transient,---/Inner Write-back transient,Device-nGRE memory/Inner Write-through,---/Inner Write-through non-transient,---/Inner Write-through non-transient,---/Inner Write-through non-transient,Device-GRE memory/Inner Write-back non-transient,---/Inner Write-back non-transient,---/Inner Write-back non-transient,---/Inner Write-back non-transient"
textline "                            "
bitfld.long 0x00 4.--7. "            ATTR4H ,Attribute 4 High" "Device memory,Normal Memory/Outer Write-through transient,Normal Memory/Outer Write-through transient,Normal Memory/Outer Write-through transient,Normal Memory/Outer Non-Cacheable,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-back transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-through non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient,Normal Memory/Outer Write-back non-transient"
bitfld.long 0x00 0.--3. "     ATTR4L ,Attribute 4 Low (Device mem/Normal mem)" "Device-nGnRnE/---,---/Inner Write-through transient,---/Inner Write-through transient,---/Inner Write-through transient,Device-nGnRE/Inner Non-Cacheable,---/Inner Write-back transient,---/Inner Write-back transient,---/Inner Write-back transient,Device-nGRE memory/Inner Write-through,---/Inner Write-through non-transient,---/Inner Write-through non-transient,---/Inner Write-through non-transient,Device-GRE memory/Inner Write-back non-transient,---/Inner Write-back non-transient,---/Inner Write-back non-transient,---/Inner Write-back non-transient"
textline "                                    "
else
group.long 0x003C++0x03
line.long 0x00 "SMMU_CBn_NMRR,Normal Memory Remap Register"
bitfld.long 0x00 30.--31. "         OR7  ,Outer Attribute for {TEX[0] C B} = b111 Remap" "Noncacheable,Write-back allocate,Write-through,Write-back no allocate"
bitfld.long 0x00 28.--29. "    OR6  ,Outer Attribute for {TEX[0] C B} = b110 Remap" "Noncacheable,Write-back allocate,Write-through,Write-back no allocate"
textline "                                    "
bitfld.long 0x00 26.--27. "    OR5  ,Outer Attribute for {TEX[0] C B} = b101 Remap" "Noncacheable,Write-back allocate,Write-through,Write-back no allocate"
bitfld.long 0x00 24.--25. "    OR4  ,Outer Attribute for {TEX[0] C B} = b100 Remap" "Noncacheable,Write-back allocate,Write-through,Write-back no allocate"
textline "                                    "
bitfld.long 0x00 22.--23. "    OR3  ,Outer Attribute for {TEX[0] C B} = b011 Remap" "Noncacheable,Write-back allocate,Write-through,Write-back no allocate"
bitfld.long 0x00 20.--21. "    OR2  ,Outer Attribute for {TEX[0] C B} = b010 Remap" "Noncacheable,Write-back allocate,Write-through,Write-back no allocate"
textline "                                    "
bitfld.long 0x00 18.--19. "    OR1  ,Outer Attribute for {TEX[0] C B} = b001 Remap" "Noncacheable,Write-back allocate,Write-through,Write-back no allocate"
bitfld.long 0x00 16.--17. "    OR0  ,Outer Attribute for {TEX[0] C B} = b000 Remap" "Noncacheable,Write-back allocate,Write-through,Write-back no allocate"
textline "                                    "
bitfld.long 0x00 14.--15. "    IR7  ,Inner attribute for {TEX[0] C B} = b111 Remap" "Noncacheable,Write-back allocate,Write-through,Write-back no allocate"
bitfld.long 0x00 12.--13. "    IR6  ,Inner attribute for {TEX[0] C B} = b110 Remap" "Noncacheable,Write-back allocate,Write-through,Write-back no allocate"
textline "                                    "
bitfld.long 0x00 10.--11. "    IR5  ,Inner attribute for {TEX[0] C B} = b101 Remap" "Noncacheable,Write-back allocate,Write-through,Write-back no allocate"
bitfld.long 0x00 8.--9. "    IR4  ,Inner attribute for {TEX[0] C B} = b100 Remap" "Noncacheable,Write-back allocate,Write-through,Write-back no allocate"
textline "                                    "
bitfld.long 0x00 6.--7. "    IR3  ,Inner attribute for {TEX[0] C B} = b011 Remap" "Noncacheable,Write-back allocate,Write-through,Write-back no allocate"
bitfld.long 0x00 4.--5. "    IR2  ,Inner attribute for {TEX[0] C B} = b010 Remap" "Noncacheable,Write-back allocate,Write-through,Write-back no allocate"
textline "                                    "
bitfld.long 0x00 2.--3. "    IR1  ,Inner attribute for {TEX[0] C B} = b001 Remap" "Noncacheable,Write-back allocate,Write-through,Write-back no allocate"
bitfld.long 0x00 0.--1. "    IR0  ,Inner attribute for {TEX[0] C B} = b000 Remap" "Noncacheable,Write-back allocate,Write-through,Write-back no allocate"
textline "                                    "
endif
endif
sif (&stage2!=1)
group.quad 0x0050++0x07
line.quad 0x00 "SMMU_CBn_PAR,Physical Address Register"
textline "                                    "
endif
group.long 0x0058++0x03
line.long 0x00 "SMMU_CBn_FSR,Fault Status Register"
bitfld.long 0x00 31. "         MULTI   ,Multiple faults" "No multiple faults occured,Multiple faults occured"
textline "                                    "
bitfld.long 0x00 30. "    SS      ,Stalled Status" "Context is not stalled,Context is stalled"
textline "                                    "
bitfld.long 0x00 9.--10. "    Format  ,Translation scheme" "AArch32 Short-descriptor,AArch32 Long-descriptor,AArch64 Long-descriptor,Reserved"
textline "                                    "
textline "                                    "
bitfld.long 0x00 8. "    UUT     ,Unsupported Upstream Transaction" "No unsupported upstream transaction fault,Unsupported upstream transaction fault recorded"
textline "                                    "
bitfld.long 0x00 7. "    ASF     ,Address size fault" "No fault,Fault is a result of an incorrect address size"
textline "                                    "
bitfld.long 0x00 6. "    TLBLKF  ,TLB lock fault" "No TLB lock fault,A TLB lock fault has occurred"
textline "                                    "
bitfld.long 0x00 5. "    TLBMCF  ,TLB match conflict fault" "No TLB Match conflict fault,A fault caused by multiple matches was detected in the TLB"
textline "                                    "
bitfld.long 0x00 4. "    EF      ,External fault" "No External fault,An External fault has occurred"
textline "                                    "
bitfld.long 0x00 3. "    PF      ,Permission fault" "No Permission fault,A fault caused by insufficient permission to complete a memory access has occurred"
textline "                                    "
bitfld.long 0x00 2. "    AFF     ,Access flag fault" "No Access flag fault,A fault caused by the access flag being set for the address being accessed has occurred"
textline "                                    "
bitfld.long 0x00 1. "    TF      ,Translation fault" "No Translation fault,A Translation fault has occurred. The mapping for the address being accessed is invalid"
textline "                                    "
wgroup.long 0x005C++0x03
line.long 0x00 "SMMU_CBn_FSRRESTORE,Fault Status Restore Register"
bitfld.long 0x00 31. "         MULTI   ,Multiple faults" "No multiple faults occured,Multiple faults occured"
textline "                                    "
bitfld.long 0x00 8. "    UUT     ,Unsupported Upstream Transaction" "No unsupported upstream transaction fault,Unsupported upstream transaction fault recorded"
textline "                                    "
bitfld.long 0x00 7. "    ASF     ,Address size fault" "No fault,Fault is a result of an incorrect address size"
textline "                                    "
bitfld.long 0x00 6. "    TLBLKF  ,TLB lock fault" "No TLB lock fault,A TLB lock fault has occurred"
textline "                                    "
bitfld.long 0x00 5. "    TLBMCF  ,TLB match conflict fault" "No TLB Match conflict fault,A fault caused by multiple matches was detected in the TLB"
textline "                                    "
bitfld.long 0x00 4. "    EF      ,External fault" "No External fault,An External fault has occurred"
textline "                                    "
bitfld.long 0x00 3. "    PF      ,Permission fault" "No Permission fault,A fault caused by insufficient permission to complete a memory access has occurred"
textline "                                    "
bitfld.long 0x00 2. "    AFF     ,Access flag fault" "No Access flag fault,A fault caused by the access flag being set for the address being accessed has occurred"
textline "                                    "
bitfld.long 0x00 1. "    TF      ,Translation fault" "No Translation fault,A Translation fault has occurred. The mapping for the address being accessed is invalid"
textline "                                    "
group.quad 0x0060++0x07
line.quad 0x00 "SMMU_CBn_FAR,Fault Address Register"
hexmask.quad 0x00 0.--51. 1. " FADDR   ,Fault address" 
textline "                                    "
textline "                                    "
group.long 0x0068++0x03
line.long 0x00 "SMMU_CBn_FSYNR0,Fault Syndrome Register 0"
hexmask.long 0x00 18.--23. 1. "         S1CBNDX ,Stage 1 Context Bank Index associated with the transaction that caused the fault"
textline "                                    "
bitfld.long 0x00 11. "    AFR     ,Asynchronous fault recorded" "A fault was recorded synchronously,A fault was recorded asynchronously."
textline "                                    "
bitfld.long 0x00 10. "    PTWF    ,Page Table Walk Fault. Indicates whether an external fault was recorded during a translation table access" "Not occured,Fault occurred"
textline "                                    "
bitfld.long 0x00 9. "    ATOF    ,Address translation operation fault" "Not occured,Fault occurred"
textline "                                    "
bitfld.long 0x00 8. "    NSATTR  ,Non-secure Attribute" "Secure attribute set,Non-secure attribute set"
textline "                                    "
bitfld.long 0x00 7. "    NSSTATE ,Non-secure State" "Transaction associated with secure client,Transaction associated with non-secure client"
textline "                                    "
bitfld.long 0x00 6. "    IND     ,Instruction Not Data" "Data,Instruction"
textline "                                    "
bitfld.long 0x00 5. "    PNU     ,Privileged Not Unprivileged" "Unprivileged,Privileged"
textline "                                    "
bitfld.long 0x00 4. "    WNR     ,Write Not Read" "Read,Write"
textline "                                    "
bitfld.long 0x00 3. "    S1PTWF  ,Table walk fault during stage 2 translation of a stage 1 translation table walk"  "Not occured,Fault occurred"
textline "                                    "
bitfld.long 0x00 2. "    NESTED  ,Indicates whether the fault is related to a stage 1 followed by stage 2 translation." "Related to a stage 2 translation,Related to a stage 1 followed by stage 2 translation"
textline "                                    "
bitfld.long 0x00 0.--1. "    PLVL    ,Translation Table Level" "Level 0,Level 1,Level 2,Level 3"
textline "                                    "
group.long 0x006C++0x03
line.long 0x00 "SMMU_CBn_FSYNR1,Fault Syndrome Register 1"
textline "                                    "
sif (&stage2==1)
rgroup.quad 0x0070++0x07
line.quad 0x00 "SMMU_CBn_IPAFAR,IPA Fault Address Register"
hexmask.quad 0x00 0.--51. 1. " FADDR   ,Fault address" 
textline "                                    "
endif
sif (&stage2!=1)
wgroup.quad 0x0600++0x07
line.quad 0x00 "SMMU_CBn_TLBIVA,TLB Invalidate by VA"
textline "                                    "
wgroup.quad 0x0608++0x07
line.quad 0x00 "SMMU_CBn_TLBIVAA,TLB Invalidate by VA, All ASID"
textline "                                    "
wgroup.long 0x0610++0x03
line.long 0x00 "SMMU_CBn_TLBIASID,TLB Invalidate by ASID"
textline "                                    "
wgroup.long 0x0618++0x03
line.long 0x00 "SMMU_CBn_TLBIALL,TLB Invalidate All"
textline "                                    "
wgroup.quad 0x0620++0x07
line.quad 0x00 "SMMU_CBn_TLBIVAL,TLB Invalidate by VA, Last level"
textline "                                    "
wgroup.quad 0x0628++0x07
line.quad 0x00 "SMMU_CBn_TLBIVAAL,TLB Invalidate by VA, All ASID, Last level"
textline "                                    "
else
wgroup.quad 0x0630++0x07
line.quad 0x00 "SMMU_CBn_TLBIIPAS2,Invalidate TLB by IPA, Last level"
textline "                                    "
wgroup.quad 0x0638++0x07
line.quad 0x00 "SMMU_CBn_TLBIIPAS2L,Invalidate TLB by IPA, Last level"
textline "                                    "
endif
wgroup.long 0x07F0++0x03
line.long 0x00 "SMMU_CBn_TLBSYNC,TLB Synchronization Invalidate"
textline "                                    "
rgroup.long 0x07F4++0x03
line.long 0x00 "SMMU_CBn_TLBSTATUS,TLB Status"
textline "                                    "
sif (&stage2!=1)
wgroup.quad 0x0800++0x07
line.quad 0x00 "SMMU_CBn_ATS1PR,Address Translation Stage 1 Privileged Read"
textline "                                    "
wgroup.quad 0x0808++0x07
line.quad 0x00 "SMMU_CBn_ATS1PW,Address Translation Stage 1 Privileged Write"
textline "                                    "
wgroup.quad 0x0810++0x07
line.quad 0x00 "SMMU_CBn_ATS1UR,Address Translation Stage 1 Unprivileged Read"
textline "                                    "
wgroup.quad 0x0818++0x07
line.quad 0x00 "SMMU_CBn_ATS1UW,Address Translation Stage 1 Unprivileged Write"
textline "                                    "
rgroup.long 0x08F0++0x03
line.long 0x00 "SMMU_CBn_ATSR,Address Translation Status Register"
textline "                                    "
endif
group.long 0x0E00++0x03
line.long 0x00 "SMMU_CBn_PMEVCNTR0,Performance Monitor Event Counter"
textline "                                    "
group.long 0x0E80++0x03
line.long 0x00 "SMMU_CBn_PMEVTYPER0,Performance Monitor Event Type"
textline "                                    "
rgroup.long 0x0F00++0x03
line.long 0x00 "SMMU_CBn_PMCFGR,Performance Monitors Configuration Register"
textline "                                    "
group.long 0x0F04++0x03
line.long 0x00 "SMMU_CBn_PMCR,Performance Monitors Control Register"
textline "                                    "
rgroup.long 0x0F20++0x03
line.long 0x00 "SMMU_CBn_PMCEID0,Performance Monitors Common Event Identification Register 0"
textline "                                    "
rgroup.long 0x0F24++0x03
line.long 0x00 "SMMU_CBn_PMCEID1,Performance Monitors Common Event Identification Register 1"
textline "                                    "
group.long 0x0F40++0x03
line.long 0x00 "SMMU_CBn_PMCNTENSET,Performance Monitors Count Enable Set Register"
textline "                                    "
group.long 0x0F44++0x03
line.long 0x00 "SMMU_CBn_PMCNTENCLR,Performance Monitors Count Enable Clear Register"
textline "                                    "
group.long 0x0F48++0x03
line.long 0x00 "SMMU_CBn_PMINTENSET,Performance Monitors Interrupt Enable Set Register"
textline "                                    "
group.long 0x0F4C++0x03
line.long 0x00 "SMMU_CBn_PMINTENCLR,Performance Monitors Interrupt Enable Clear Register"
textline "                                    "
group.long 0x0F50++0x03
line.long 0x00 "SMMU_CBn_PMOVSCLR,Performance Monitors Overflow Status Clear Register"
textline "                                    "
group.long 0x0F58++0x03
line.long 0x00 "SMMU_CBn_PMOVSSET,Performance Monitors Overflow Status Set Register"
textline "                                    "
rgroup.long 0x0FB8++0x03
line.long 0x00 "SMMU_CBn_PMAUTHSTATUS,Performance Monitors Authentication Status Register"
width 0x0b
tree.end
endif
textline " "
