| |||
| Home > AEM ARMv7-A specifics > Boundary features and architectural checkers > Memory marking check | |||
Rating: 1.
The architecture specifies that behavior can be unpredictable when the same physical memory location has any of the following contradictory combinations of memory marking:
different memory types (Normal, Device, or Strongly-ordered)
different shareable attributes (Outer shareable, Inner shareable and non-shareable) in Normal memory or in Device memory where supported
different cacheability attributes.
Such memory marking contradictions can occur, for example:
by the use of aliases in a virtual-to-physical address mapping
by programming the incorrect memory attributes for TLB lookups
at any time when the same physical address is used by more than one core inside an inner shared domain.
When parameter vmsa.memory_marking_check is
set true, the model emits a warning when the TLB
of a core, or of any two cores inside the inner shared domain, are
loaded with multiple entries for one physical address that fail
to obey the restrictions listed.
You can use this feature most effectively with the aggressively pre-fetching TLB. See Aggressively pre-fetching TLB.