Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 4/01/2024
Public
Document Table of Contents

3.5.3.4.2. Translation Match Process

The Arm* v8-A architecture provides support for multiple maps from the virtual address space that are translated differently. The TLB entries store the context information that is required to facilitate a match and avoid the need for a TLB flush on a context or virtual machine switch.

Each TLB entry contains a virtual address, physical address, and a set of memory properties that include type and access permissions. Each entry is either a global entry, or it is associated with a particular Address Space Identifier (ASID). In addition, each TLB entry contains a field to store the Virtual Machine Identifier (VMID) in the entry applicable to accesses from non-secure EL0 and EL1 exception levels.

Each entry is associated with a particular translation regime:
  • EL3 in secure state in AArch64 state only
  • EL2, EL1, or EL0 in non-secure state
  • EL1 or EL0 in secure state
A TLB match entry occurs when:
  • A virtual address matches the requested address.
  • Entry translation regime matches the current translation regime.
  • The ASID matches the current ASID held in the CONTEXTIDR, TTBR0, or TTBR1 register, or the entry is marked global.
  • The VMID matches the current VMID held in the VTTBR_EL2 register.
  • The ASID and VMID matches are ignored when ASID and VMID are not relevant.
  • ASID is relevant when the translation regime is:
    • EL2 in non-secure state with HCR_EL2.E2H and HCR_EL2.TGE set to 1
    • EL1 or EL0 in secure state
    • EL1 or EL0 in non-secure state
VMID is relevant for EL1 or EL0 in non-secure state.