Page-based hardware attributes
Page-Based Hardware Attributes (PBHA) is an optional, implementation defined feature.
It allows software to set up to two bits in the translation tables, which are then propagated though the memory system with transactions, and can be used in the system to control system components. The meaning of the bits is specific to the system design.
For information on how to set and enable the PBHA bits in the translation tables, see the Arm® Architecture Reference Manual Armv8, for Armv8-A architecture profile. When disabled, the PBHA value that is propagated on the bus is 0.
For memory accesses caused by a translation table walk, the AHTCR, ATTBCR, and AVTCR registers control the PBHA values.
PBHA combination between stage 1 and stage 2 on memory accesses
PBHA should always be considered as an attribute of the physical address.
When stage 1 and stage 2 are enabled:
- If both stage 1 PBHA and stage 2 PBHA are enabled, the final PBHA is stage 2 PBHA.
- If stage 1 PBHA is enabled and stage 2 PBHA is disabled, the final PBHA is stage 1 PBHA.
- If stage 1 PBHA is disabled and stage 2 PBHA is enabled, the final PBHA is stage 2 PBHA.
- If both stage 1 PBHA and stage 2 PBHA are disabled, the final PBHA is defined to 0.
Enable of PBHA has a granularity of one bit, so this property is applied independently on each PBHA bit.
If the same physical address is accessed through more than one virtual address mapping, and the PBHA bits are different in the mappings, then the results are unpredictable. The PBHA value sent on the bus could be for either mapping.