B.1.8 Creating a Stream Table Entry

Each Stream Table Entry (STE) configures how Stage 2 translation is performed, and how the Context Descriptor (CD) table can be found. The StreamID is used to select an STE.

To create an STE, ensure that your software performs the following steps:

  1. Allocate 64 bytes of memory for the STE.
  2. Set the STE.Config field as required for Stage 1 translation, Stage 2 translation, or translation bypass:
    0b000No traffic can pass through the MMU. An abort is returned.
    0b100Stage 1 and Stage 2 bypass.
    0b101Stage 1 translation Stage 2 bypass.
    0b110Stage 1 bypass Stage 2 translation.
    0b111Stage 1 and Stage 2 translation.
  3. If Stage 1 translation is enabled, you can set the following fields:
    STE.S1CDMaxControls whether STE.S1ContextPtr points to a single CD or a CD table.
    STE.S1FmtIf STE.S1CDMax > 0, configures the format of the CD table.
    STE. S1ContextPtr Contains a pointer to either a CD or a CD table. If Stage 2 translation is enabled, this pointer is an intermediate physical address (IPA), otherwise it is an untranslated physical address PA.
  4. If Stage 2 translation is enabled, you can set the following fields:
    STE.S2TTBPoints to the Stage 2 translation table base address.
    STE.S2PSContains the PA size of the stage 2 PA range.
    STE.S2AA64Indicates whether the Stage 2 tables are AArch32 or AArch64 format.
    STE.S3ENDISet this field to the required endianness for the stage 2 translation tables.
    STE.S2AFFDDisable Access Flag faults for Stage 2 translation.
    STE.S2TG0b00: 4KB. 0b01: 64KB. 0b10: 16KB.
    STE.S2IR0 and STE.S2OR00b00: Non-cacheable. 0b01: Write-Back Cacheable, Read-Allocate Write-Allocate. 0b10: Write-through Cacheable, Read-Allocate.
    STE.S2SH0 0b00: Non-shareable. 0b01: Outer Shareable. 0b10: Inner Shareable.
    STE.S2VMIDContains the VMID associated with these translations.
Non-ConfidentialPDF file icon PDF version100310_0100_00_en
Copyright © 2016–2018 Arm Limited or its affiliates. All rights reserved.