B.1.7 Creating a basic Context Descriptor

A Context Descriptor (CD) is a data structure in system memory. A CD defines how Stage 1 translation is performed. The SubstreamID is used to select the CD.

To create a CD, ensure that your software performs the following steps:

  1. Allocate 64 bytes of memory for the CD.
  2. Configure the CD fields according to the information in the following table.

Table B-1 Configuring the CD

Field

Description

AA64

Translation table format:

0AArch32.
1AArch64.

EPD0

Enable translations for TTB0 by setting EPD0 to 0.

TTB0

Base address of translation table 0.

TG0

Translation granule size for TTB0 when CD.AA64 = 1.

IR0

OR0

Cacheability attribute to use for translation table walks to TTB0:

00Non-cacheable.
01Write-Back Cacheable, Read-Allocate Write-Allocate.
10Write-through Cacheable, Read-Allocate.

SH0

Shareability of translation table walks to TTB0:

00Non-shareable.
01Outer Shareable.
10Inner Shareable.

EPD1

If the StreamWorld supports split address spaces, enable table walks for TTB1.

ENDI

The endianness for the translation tables.

IPS

The IPA size when CD.AA64 = 1.

ASET

Defines whether the ASID values are shared with the ASID values of an Arm processor.

Note:

If you expect this context to receive broadcast TLB invalidation commands from a PE, set ASET to 0.

V

Valid CD. This field must be set to 1.

Non-ConfidentialPDF file icon PDF version100310_0100_00_en
Copyright © 2016–2018 Arm Limited or its affiliates. All rights reserved.