Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 11/27/2024
Public
Document Table of Contents

4.3.9.2. Translation Table Walk Sequence

The page table walk sequence is shown in the following figure.

Figure 47. Page Table Walk Sequence

For address translation, there can be maximum 36 page table walks required. SMMU software can limit the number of page table walks as per application.

The full page table walk sequence is described as follows:

  • Up to two fetches to read the Stream Table Entry (STE)
    • If SMMU is configured for a single-level stream table, then only one fetch is required
  • Up to two fetches to read the Context Descriptor (CD)
    • For single-level CD table, only one fetch is required
  • Up to four fetches from the stage 1 page table
    • Maximum number of stage 1 page table walks can be configured by the software
  • Up to seven stage 2 page table walk sequences of up to four fetches each
    • A stage 2 walk occurs for each CD and stage 1 table fetch. An extra stage 2 walk occurs for the final translated address.
    • Maximum number of stage 2 page table walks by configuring the stage 2 starting level or by increasing the granule size.

The example of an address translation mechanism and stages are shown in the following figure.

Figure 48. Address Translation Phases

In this example, the stream ID selects the STE from a linear stream table, the STE points to a translation table stage 2 and points to a single CD for stage 1 configuration, and the CD points to translation tables for stage 1.

For Agilex™ 5 implementation, there is no Sub-Stream ID. So, there is only one CD pointed by the STE.

The translation stages and final address generation flow are shown in the following figure.

Figure 49. Translation Stages and Addresses
Note: The ARM MMU-600 is compliant with the Arm System Memory Management Unit Architecture Specification, SMMU architecture version 3, which specifies support up to 48 bit address of virtual memory space. However, in the Agilex™ 5 implementation, all transaction clients to the SMMU (TCU/TBU) complex, such as F2H, F2SDRAM, xgmac, usb, dma, I/Os, and so on, are limited to 40-bit virtual addressing. Customers can limit the virtual address space to 40 bits to be compatible with the Agilex™ 5 SMMU implementation.