Glossary
========

This glossary provides definitions for terms and abbreviations used in the TF-A
documentation.

You can find additional definitions in the `Arm Glossary`_.

.. glossary::
   :sorted:

   AArch32
      32-bit execution state of the ARMv8 ISA

   AArch64
      64-bit execution state of the ARMv8 ISA

   AMU
      Activity Monitor Unit, a hardware monitoring unit introduced by FEAT_AMUv1
      that exposes CPU core runtime metrics as a set of counter registers.

   API
      Application Programming Interface

   AT
      Address Translation

   BTI
      Branch Target Identification. An Armv8.5 extension providing additional
      control flow integrity around indirect branches and their targets.

   CoT
   COT
      Chain of Trust

   CSS
      Compute Sub-System

   CVE
      Common Vulnerabilities and Exposures. A CVE document is commonly used to
      describe a publicly-known security vulnerability.

   DS-5
      Arm Development Studio 5

   DSU
      DynamIQ Shared Unit

   DT
      Device Tree

   DTB
      Device Tree Blob

   EL
      Exception Level

   EHF
      Exception Handling Framework

   FCONF
      Firmware Configuration Framework

   FDT
      Flattened Device Tree

   FF-A
      Firmware Framework for Arm A-profile

   FIP
      Firmware Image Package

   FVP
      Fixed Virtual Platform

   FWU
      FirmWare Update

   GIC
      Generic Interrupt Controller

   ISA
      Instruction Set Architecture

   Linaro
      A collaborative engineering organization consolidating
      and optimizing open source software and tools for the Arm architecture.

   LSP
      A logical secure partition managed by SPM

   MMU
      Memory Management Unit

   MPAM
      Memory Partitioning And Monitoring. An optional Armv8.4 extension.

   MPMM
     Maximum Power Mitigation Mechanism, an optional power management mechanism
     supported by some Arm Armv9-A cores.

   MPIDR
      Multiprocessor Affinity Register

   MTE
      Memory Tagging Extension. An optional Armv8.5 extension that enables
      hardware-assisted memory tagging.

   OEN
      Owning Entity Number

   OP-TEE
      Open Portable Trusted Execution Environment. An example of a :term:`TEE`

   OTE
      Open-source Trusted Execution Environment

   PDD
      Platform Design Document

   PAUTH
      Pointer Authentication. An optional extension introduced in Armv8.3.

   PMF
      Performance Measurement Framework

   PSA
      Platform Security Architecture

   PSCI
      Power State Coordination Interface

   RAS
      Reliability, Availability, and Serviceability extensions. A mandatory
      extension for the Armv8.2 architecture and later. An optional extension to
      the base Armv8 architecture.

   ROT
      Root of Trust

   SCMI
      System Control and Management Interface

   SCP
      System Control Processor

   SDEI
      Software Delegated Exception Interface

   SDS
      Shared Data Storage

   SEA
      Synchronous External Abort

   SiP
   SIP
      Silicon Provider

   SMC
      Secure Monitor Call

   SMCCC
      :term:`SMC` Calling Convention

   SoC
      System on Chip

   SP
      Secure Partition

   SPD
      Secure Payload Dispatcher

   SPM
      Secure Partition Manager

   SSBS
      Speculative Store Bypass Safe. Introduced in Armv8.5, this configuration
      bit can be set by software to allow or prevent the hardware from
      performing speculative operations.

   SVE
      Scalable Vector Extension

   TBB
      Trusted Board Boot

   TBBR
      Trusted Board Boot Requirements

   TEE
      Trusted Execution Environment

   TF-A
      Trusted Firmware-A

   TF-M
      Trusted Firmware-M

   TLB
      Translation Lookaside Buffer

   TLK
      Trusted Little Kernel. A Trusted OS from NVIDIA.

   TRNG
      True Randon Number Generator (hardware based)

   TSP
      Test Secure Payload

   TZC
      TrustZone Controller

   UBSAN
      Undefined Behavior Sanitizer

   UEFI
      Unified Extensible Firmware Interface

   WDOG
      Watchdog

   XLAT
      Translation (abbr.). For example, "XLAT table".

.. _`Arm Glossary`: https://developer.arm.com/support/arm-glossary
