Non-Confidential | ![]() | 100964_1180_00_en | ||
| ||||
Home > Trace components > MMU_400_BASE - trace |
This section describes the trace sources.
An AArch64 context got an AddressSizeFault as the base address of the TTBR used is out of range. Fields:
CPAMax
unsigned intPAMax
unsigned intcontext_bank
unsigned intstage
unsigned intAn AArch64 context got an AddressSizeFault in the final block descriptor. Fields:
CPAMax
unsigned intPAMax
unsigned intcontext_bank
unsigned intoutput_address
unsigned intstage
unsigned intAn AArch64 context got an AddressSizeFault as a descriptor encoded a page and the table base address described was out of range. Fields:
CPAMax
unsigned intPAMax
unsigned intcontext_bank
unsigned intipa_address
unsigned intns
boolpa_address
unsigned intstage
unsigned intThe AArch64 block described by a descriptor is too large. Fields:
context_bank
unsigned intlevel
unsigned intstage
unsigned intAn AArch64 context received an address which was outside of the programmed TxSZ. Fields:
context_bank
unsigned intinput_address
unsigned intns
boolstage
unsigned intAn AArch64 context got a TranslationFault as the specified starting level and TxSZ field are inconsistent. Fields:
context_bank
unsigned intstage
unsigned intA context fault occurred and this is the record it wishes to generate. Fields:
SMMU_CBFRSYNRAn
unsigned intSMMU_CBn_FAR
unsigned intSMMU_CBn_FSR
unsigned intSMMU_CBn_FSYNR0
unsigned intSMMU_CBn_FSYNR1
unsigned intSMMU_CBn_IPAFAR
unsigned intcontext_bank
unsigned intgoing_to_be_lost
boolAttempt to raise a Non-Secure global fault. Fields:
SMMU_GFAR
unsigned intSMMU_GFSR
unsigned intSMMU_GFSYNR0
unsigned intSMMU_GFSYNR1
unsigned intgoing_to_be_lost
boolA context fault occurred and this is the record it wishes to generate. Fields:
SMMU_CBFRSYNRAn
unsigned intSMMU_CBn_FAR
unsigned intSMMU_CBn_FSR
unsigned intSMMU_CBn_FSYNR0
unsigned intSMMU_CBn_FSYNR1
unsigned intSMMU_CBn_IPAFAR
unsigned intcontext_bank
unsigned intgoing_to_be_lost
boolAttempt to raise a Secure global fault. Fields:
SMMU_SGFAR
unsigned intSMMU_SGFSR
unsigned intSMMU_SGFSYNR0
unsigned intSMMU_SGFSYNR1
unsigned intgoing_to_be_lost
boolA context bank Address Translation Status Register read occurred (Writes are reported through ats_cb_operation_doesnt_exist_trace). Fields:
ACTIVE
boolcontext_id
unsigned intis_debug
boolAn attempt was made to use a Context Bank Address Translation Operation that didn't exist for some reason. Fields:
context_id
unsigned intdesc
stringA new Context Bank Address Translation Operation was queued. Fields:
VA
unsigned intats_is_privileged
boolats_is_read
boolcontext_id
unsigned intis_debug
boolAnother Context Bank Address Translation operation was received whilst one was currently in progress. This is UNPREDICTABLE. Fields:
context_id
unsigned intdesc
stringA Global Address Translation Status Register read occurred (Writes are reported through ats_cb_operation_doesnt_exist_trace). Fields:
ACTIVE
boolis_debug
boolwhich
enumAn attempt was made to use a Context Bank Address Translation Operation that didn't exist for some reason. Fields:
desc
stringis_non_secure
enumA new Context Bank Address Translation Operation was queued. Fields:
VA
unsigned intats_is_privileged
boolats_is_read
boolcontext_id
unsigned intis_debug
boolis_non_secure
enumis_s12
boolAnother Global Address Translation operation was received whilst one was currently in progress. This is UNPREDICTABLE. Fields:
context_id
unsigned intdesc
stringis_non_secure
enumA queued address translation operation has started. Fields:
VA
unsigned intcontext_bank
unsigned intis_debug
boolis_privileged
boolis_read
boolis_s12
boolwhich
enumThe cfg_cttw signal level that indicates that the SoC support coherent page walks. Fields:
value
boolConfiguration Fault Interrupt. Fields:
asserted
boolis_non_secure
boolThe PAGESIZE has been told to change. Fields:
is_64KiB
boolThe specified bank has changed its security state. Fields:
context_bank
unsigned intnow_is_non_secure
boolprev_is_non_secure
boolA Cache Maintenance Operation (CMO) generated a permission fault. Fields:
abort_returned_to_device
boolcmo
enumcontext_id
unsigned intinput_address
unsigned intThe cache maintenance operation permission model is being applied. Fields:
aarch64
boolfault_action
enumincoming_cmo_operation
enuminstruction
booloutgoing_cmo_operation
enumprivileged
boolstage1_perms
enumstage2_perms
enumCombined interrupt signal. This is the OR of all of the non-secure interrupt signals. Fields:
asserted
boolis_non_secure
boolThis occurs when a configuration transaction attempts to access a stream mapping register group that doesn't exist and if the implementation treats this as a Configuration Access Fault. Fields:
address
unsigned intgroup_number
unsigned intis_non_secure
boolis_read
boolThese messages are verbose commentary about what the context bank is doing. Fields:
output
stringThis is the transformation applied by the stage 1 SMMU_CBn_SCTLR. Fields:
SMMU_CBn_SCTLR
unsigned intcontext_id
unsigned inttrans_id
unsigned intThis is the transformation applied by the stage 2 SMMU_CBn_SCTLR. Fields:
SMMU_CBn_SCTLR
unsigned intcontext_id
unsigned inttrans_id
unsigned intContext Interrupt, this can only ever be non-secure. Fields:
asserted
boolThis is the textual output of the debug messages of the SMMU model, this need not necessarily make much sense to the user, but is useful for sending to the model writers when reporting bugs. Fields:
output
stringThe register access was denied because of some IMPLEMENTATION DEFINED reason due to the transaction attributes. Fields:
address
unsigned intdesc
stringThe register access was denied because SMMU_SCR1.GASRAE has locked down the register. Fields:
address
unsigned intThe DVM TLB Invalidate message completed.
A DVM message for a TLB Invalidate has been received. Fields:
address
unsigned intasid
unsigned intby_ipa
boolignored
enumlast_level
boolmatch_address
boolmatch_asid
boolmatch_vmid
boolprot
enumsecurity_world
enumstage1_only
boolvmid
unsigned intIndicates a transaction unstalling. Fields:
context_id
unsigned inttrans_id
unsigned intunstall_state
enumThese messages are about activity occurring on the SMMU that is considered an error. Fields:
output
stringThe contiguous bit is inconsistent with the descriptor. Fields:
B_mask
unsigned intaarch64_contig_bit_too_high
boolinput_address
unsigned intln2_size_in_bytes_of_region_if_contiguous
unsigned intout_of_range_of_input
booloutput_address
unsigned intoutput_address_if_contig_bit_uses_input_address
unsigned intoutput_address_inconsistent
boolstage_and_level
unsigned intA SMMU_CBAR has been encountered for a secure stream that is not of the Stage 1 with Stage 2 bypass form. Fields:
SMMU_CBARn
unsigned intaction
enumcontext_id
unsigned inttrans_id
unsigned intA TLB entry was attempted to be inserted into the TLB and was determined that it overlaps an existing entry. This check is not perfect but will catch simple errors. Fields:
end_address_of_new_entry
unsigned intend_address_of_old_entry
unsigned intindex_of_new_entry
unsigned intindex_of_old_entry
unsigned intstart_address_of_new_entry
unsigned intstart_address_of_old_entry
unsigned intThis gives the attributes that a particular stage gives prior to being applied to the incoming attributes. Fields:
inner
enumns
boolouter
enumracfg
enumshareability
enumstage
unsigned inttrans_id
unsigned intwacfg
enumGlobal Fault Interrupt. Fields:
asserted
boolis_non_secure
boolThere is an IMP DEF option to replay stalled transactions in affected banks. This records that the implementation has made use of this option. Fields:
context_id
unsigned intwhy
enumThis describes the non-architectural transformation that the implementation makes. Fields:
end_adomain
enumend_inner_acache
enumend_outer_acache
enumis_read
boolstart_adomain
enumstart_inner_acache
enumstart_outer_acache
enumThese are information messages about what is happening in the SMMU. Fields:
output
stringAn input or output address range check failed. Input address range checks are reported as TranslationFault, output ones as AddressSizeFault. Fields:
context_bank
unsigned intoffending_address
unsigned intwhy
enumAn Access Fault occurred. Fields:
context_bank
unsigned intinput_address
unsigned intis_non_secure
boollevel
unsigned intstage
unsigned intLong Descriptor AArch32 or AArch64, level 'n' descriptor fetch failed. Fields:
context_bank
unsigned intipa_address
unsigned intis_non_secure
boollevel
unsigned intpa_address
unsigned intstage
unsigned intLong Descriptor AArch32 or AArch64 encodes an invalid entry. Fields:
context_bank
unsigned intipa_address
unsigned intlevel
unsigned intpa_address
unsigned intssd_ns
boolstage
unsigned intA hypervisor input address is out of range of T0SZ. Fields:
context_bank
unsigned intinput_address
unsigned intis_non_secure
boolA stage 2 context bank was given an address that didn't match T0SZ. Fields:
context_bank
unsigned intinput_address_ipa
unsigned intis_non_secure
bool(SMMUv2) The stage 2 context (nested with MMU off or bypass) for a stage 1 translation had an address that was out of the allowed range. Fields:
context_bank
unsigned intinput_address_ipa
unsigned intis_non_secure
boolLong Descriptor, last level descriptor must encode a page but didn't. Fields:
context_bank
unsigned intipa_address
unsigned intlevel
unsigned intpa_address
unsigned intssd_ns
boolstage
unsigned intA misprogramming occurred that the implementation faulted. Fields:
context_bank
unsigned intinput_address
unsigned intstage
unsigned intwhy
enumA stage 2 translation process for a stage 1 page walk address produce a any-device memory type. Fields:
context_bank
unsigned intinput_address
unsigned intlevel
unsigned intA stage 2 translation process for a stage 1 page walk address produce a permission fault. Fields:
context_bank
unsigned intinput_address
unsigned intlevel
unsigned intA stage 1 non-hyp entry failed to match TTBR0 or TTBR1. Fields:
context_bank
unsigned intinput_address
unsigned intis_non_secure
boolA L1 or L2 short descriptor access flag has disabled access for this (super-)section/page. Fields:
context_bank
unsigned intinput_address
unsigned intis_non_secure
boolstage
unsigned intttbr_id
unsigned intA non Page Table Walk access was recorded when a translated transaction went downstream, but the downstream system aborted it. This is recorded as an asynchronous fault. In the model, we can provide more information about the faulting transaction. Fields:
downstream_address
unsigned intdownstream_ns
enumis_read
enumresult_reported_upstream
enumsGFSYNR0
unsigned intsGFSYNR1
unsigned intsmmu_scr1_gefro
boolsmmu_xcr0_gfre
boolssd_ns
enumupstream_address
unsigned intupstream_ns
enumThe attributes after the SMMU_S2CRn transformation has been applied. Fields:
adomain
enumaprot
enuminner_cache
enuminner_transient
boolouter_cache
enumouter_transient
booltrans_id
unsigned intv8_dev_gathering
boolv8_dev_reordering
boolPage Table Walk (read). This is the physical access that the SMMU is making. Fields:
adomain
enumaprot
enumauser
unsigned intdata
unsigned inthyp
boolinner_cache
enuminput_address
unsigned intns
boolouter_cache
enumpa_address
unsigned intresult
enumst2_st1_context_banks
unsigned intstage_and_level
unsigned inttrans_id
unsigned intPage Table Walk (read). The descriptor that the PTW fetched is invalid. Fields:
hyp
boolinput_address
unsigned intlevel
unsigned intns
boolpa_address
unsigned intst1_context_bank
unsigned intst2_context_bank
unsigned inttrans_id
unsigned intPage Table Walk (read). The descriptor that the PTW fetched is a block or page and this is the decode. Fields:
AF
boolAP21
enumAttrIndx210
unsigned intNS
boolPXN
boolSH10
enumXN
boolcontiguous
boolhyp
boolinput_address
unsigned intlevel
unsigned intmair
unsigned intnG
boolns
booloutput_address
unsigned intpa_address
unsigned intst1_context_bank
unsigned intst2_context_bank
unsigned inttrans_id
unsigned intPage Table Walk (read). The descriptor that the PTW fetched is a Table, this decodes the fields. Fields:
APTable
enumNSTable
boolPXNTable
boolTableAddress
unsigned intXNTable
boolhyp
boolinput_address
unsigned intlevel
unsigned intns
boolpa_address
unsigned intst1_context_bank
unsigned intst2_context_bank
unsigned inttrans_id
unsigned intPage Table Walk (read). The descriptor encodes a fault descriptor. Fields:
level
unsigned inttrans_id
unsigned intPage Table Walk (read). The descriptor encodes a large page descriptor. Fields:
AP210
unsigned intS
boolTEX210CB
unsigned intXN
boollarge_page_base_address
unsigned intnG
booltrans_id
unsigned intPage Table Walk (read). The descriptor encodes a page table descriptor pointing to an L2 table. Fields:
NS
boolPXN
booldomain
unsigned intl2_table_address
unsigned inttrans_id
unsigned intPage Table Walk (read). The descriptor encodes a section descriptor. Fields:
AP210
unsigned intNS
boolPXN
boolS
boolTEX210CB
unsigned intXN
booldomain
unsigned intnG
boolsection_base_address
unsigned inttrans_id
unsigned intPage Table Walk (read). The descriptor encodes a small page descriptor. Fields:
AP210
unsigned intS
boolTEX210CB
unsigned intXN
boolnG
boolsmall_page_base_address
unsigned inttrans_id
unsigned intPage Table Walk (read). The descriptor encodes a section descriptor. Fields:
AP210
unsigned intNS
boolPXN
boolS
boolTEX210CB
unsigned intXN
boolnG
boolsuper_section_base_address
unsigned inttrans_id
unsigned intPage Table Walk (read). The descriptor that the PTW fetched is invalid. Fields:
hyp
boolinput_address
unsigned intlevel
unsigned intns
boolpa_address
unsigned intst1_context_bank
unsigned intst2_context_bank
unsigned inttrans_id
unsigned intPage Table Walk (read). The descriptor that the PTW fetched is a block or page and this is the decode. Fields:
AF
boolHAP21
enumMemAttr3_0
enumRACFG
enumSH10
enumWACFG
enumXN
boolcontiguous
boolhyp
boolinput_address
unsigned intlevel
unsigned intns
booloutput_address
unsigned intpa_address
unsigned intst1_context_bank
unsigned intst2_context_bank
unsigned inttrans_id
unsigned intPage Table Walk (read). The descriptor that the PTW fetched is a Table, this decodes the fields. Fields:
APTable
enumNSTable
boolPXNTable
boolTableAddress
unsigned intXNTable
boolhyp
boolinput_address
unsigned intlevel
unsigned intns
boolpa_address
unsigned intst1_context_bank
unsigned intst2_context_bank
unsigned inttrans_id
unsigned intThis represents a context's bank intent to want to change an interrupt pin. However, this doesn't take into account the accessibility of the bank, nor if other banks are driving the pin. Fields:
accessible
boolasserted
boolcontext_bank
unsigned intinterrupt_id
unsigned intA text representation of the read of a register that was disallowed. Fields:
out
stringA text representation of the write of a register write that was disallowed. Fields:
in
stringRead of the register file. Fields:
address
unsigned intcontext_id
unsigned intln2_width
enumns
enumregister_trans_id
unsigned intresult
enumvalue
unsigned intA text representation of an access to a register address that is reserved. Fields:
in
stringA text representation of the read of a register. Fields:
out
stringWrite to the register file. Fields:
address
unsigned intcontext_id
unsigned intln2_width
enumns
enumregister_trans_id
unsigned intresult
enumvalue
unsigned intA text representation of an access to a register address that is reserved. Fields:
in
stringA text representation of the write of a register. Fields:
in
stringA reset has been received by the SMMU. Fields:
asserted
boolThis is a trace of transaction that are not expected to fault. This does not include those transaction that are faulting by stage 2 or where the access flag or permission model is not allowing the transaction. Fields:
context_id
unsigned intinput_address
unsigned intmapped_attributes
unsigned intoriginal_attributes
unsigned intoutput_address
unsigned intssd_index
unsigned intssd_ns
enumstate
enumstream_id
unsigned inttbu
unsigned inttlb_entry_index_st1
unsigned inttlb_entry_index_st2
unsigned inttrans_id
unsigned inttype_of_transaction
enumThis is a trace of the SMMU transaction after it has been fully remapped. Fields:
context_id
unsigned intinput_address
unsigned intmapped_attributes
unsigned intoriginal_attributes
unsigned intoutput_address
unsigned intssd_index
unsigned intssd_ns
enumstate
enumstream_id
unsigned inttbu
unsigned inttlb_entry_index_st1
unsigned inttlb_entry_index_st2
unsigned inttrans_id
unsigned inttype_of_transaction
enumThis is the initial transaction group request to remap. This represents a bundle of transactions with the same attributes but different addresses within a certain range around the address. Fields:
input_address
unsigned intkind_addressed
enumoriginal_attributes
unsigned intssd_index
unsigned intssd_ns
enumstream_id
unsigned inttbu
unsigned inttrans_id
unsigned inttype_of_transaction
enumThis trace source records the state of the SMMU_gIrpt/SMMU_NSgIrpt pins. Fields:
asserted
boolis_non_secure
boolThis trace source records when there is at least one context bank in the specific world with an interrupt pin raised. Fields:
asserted
boolns
boolThis trace source records when a context bank interrupt pin changes state. Fields:
asserted
boolinterrupt_pin
unsigned intThis trace source records when a context bank tries to assert an interrupt. Multiple banks can drive the same pin and so long as one is driving it then it is asserted. Fields:
context_bank
unsigned intinterrupt_pin
unsigned intnew_count_asserting_pin
unsigned intthis_context_asserting
boolThis trace source records the state of the SMMU_gCfgIrpt/SMMU_NSgCfgIrpt pins. Fields:
asserted
boolis_non_secure
boolThis is a trace of transactions that map to stage 1 with stage 2 faulting. Fields:
context_id
unsigned intinput_address
unsigned intmapped_attributes
unsigned intoriginal_attributes
unsigned intoutput_address
unsigned intssd_index
unsigned intssd_ns
enumstate
enumstream_id
unsigned inttbu
unsigned inttlb_entry_index_st1
unsigned inttlb_entry_index_st2
unsigned inttrans_id
unsigned inttype_of_transaction
enumStream Match Register Group matched. Fields:
desc
stringn
unsigned inttrans_id
unsigned intPage Table Walk (read). This is the start of the physical access that the SMMU is making. Fields:
adomain
enumaprot
enumauser
unsigned inthyp
boolinner_cache
enuminput_address
unsigned intns
boolouter_cache
enumpa_address
unsigned intst2_st1_context_banks
unsigned intstage_and_level
unsigned inttrans_id
unsigned intIndicating that a transaction is stalled. Fields:
context_id
unsigned inthead_of_line
boolreason_for_stall
enumtrans_id
unsigned intA commentary from the TLB about what is going on. Fields:
output
stringA TLB entry has been allocated. Fields:
index
unsigned intinput_end_incl_address
unsigned intinput_start_address
unsigned intoutput_end_incl_address
unsigned intoutput_start_address
unsigned intA TLB entry has been invalidated for some reason. Fields:
index
unsigned intreason
enumA TLB Invalidate command was executed. Fields:
address
unsigned intasid
unsigned intcommand
enumcontext_bank
unsigned intlast_level
boolns
boolqueue_type
enumseq_id
unsigned intvmid
unsigned intA TLB Invalidate command was queued (but not synced). Fields:
address
unsigned intasid
unsigned intcommand
enumcontext_bank
unsigned intlast_level
boolns
boolqueue_type
enumseq_id
unsigned intvmid
unsigned intA TLB Sync command was issued. Fields:
context_bank
unsigned intns
boolqueue_type
enumThe Stage 1 context bank is marked as Stage 1 + Stage 2 by SMMU_CBARn.TYPE; however, the Stage 2 context bank marked by SMMU_CBARn.CBNDX is not marked in it's SMMU_CBARm.TYPE as a Stage 2 context. Fields:
st1_context_bank_id
unsigned intst2_context_bank_id
unsigned intA PTW was in progress and was restarted (for some reason), but this time it asked for different data than last time. This means that the register file changed during the walk process and so the result of the translation for this transaction is unpredictable as to whether it would have seen the first or second walk data. Fields:
first_address
unsigned intfirst_ns
boolsecond_address
unsigned intsecond_ns
booltrans_id
unsigned intA L1 or L2 short descriptor access flag has disabled access for this (super-)section/page. Fields:
context_bank
unsigned intinput_address
unsigned intis_non_secure
boollevel
unsigned intV7 Short Descriptor, level 'n' descriptor is marked as faulting. Fields:
context_bank
unsigned intinput_address
unsigned intis_non_secure
boollevel
unsigned intV7 Short Descriptor, level 'n' descriptor fetch failed. Fields:
context_bank
unsigned intipa_address
unsigned intis_non_secure
boollevel
unsigned intpa_address
unsigned intV7 Short Descriptor, walk process is disabled so producing a fault. Fields:
context_bank
unsigned intThese messages are about unusual (but not necessarily incorrect) activity occurring on the SMMU. Fields:
output
stringThe programming model expects for the user to clear the fault in the FSR before calling SMMU_CBn_RESUME to unstall a transaction. Fields:
context_id
unsigned intfault_flags_of_fsr
unsigned intA transaction was encountered that multiple matched the stream id registers. Fields:
action
enumtrans_id
unsigned intA write occurred that tried to set bits in a register, that for one reason or another, failed to get written. Fields:
desc
string