Agilex™ 5 ES Device Errata and User Guidelines

ID 825514
Date 12/09/2024
Public
Document Table of Contents

3.5.1. 2214518: Global entries are not always invalidated as expected

Description

A transaction whose translation walk is in progress (which is marked as a global translation and is subject to invalidation by TLBI_S_EL1_VA, TLBI_NS_EL1_VA, and TLBI_NS_EL2_VA operations) is not invalidated as expected, unless the ASID that is specified also matches.

Conditions

The erratum occurs when all the following conditions are true:

  • A translation request is being translated that marks the translation as a global entry
  • Stage 1 is enabled for the translation that is in progress
  • The transaction is waiting for the translation result, and the translation in progress is currently either performing a TCU walk cache lookup or page table walk
  • The SMMU receives one of TLBI_S_EL1_VA, TLBI_NS_EL1_VA, or TLBI_NS_EL2_VA operations
  • The ASID for the translation that is in progress does not match the ASID that is specified in the invalidation command

When the above conditions occur, the transaction is not subjected to invalidation, and the translated entry is cached in the TLBs.

Impact

Because the intended invalidation operation does not succeed, the incorrect address is accessed post invalidation, and data corruption can occur. This issue does not cause a security violation because Non-secure transactions cannot access Secure locations.

Note: Arm does not expect systems that are running Linux to be affected because up to at least v5.13, Linux does not use global translations.

Workaround

You can work around this issue by replacing the affected TLBI_*_VA command with the corresponding TLBI_*_VAA command.

Category

Category B (rare)