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

   API
      Application Programming Interface

   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

   DT
      Device Tree

   EL
      Exception Level

   EHF
      Exception Handling Framework

   FDT
      Flattened Device Tree

   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.

   MMU
      Memory Management Unit

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

   MPIDR
      Multiprocessor Affinity Register

   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

   PMF
      Performance Measurement Framework

   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

   SPCI
      Secure Partition Client Interface

   SPD
      Secure Payload Dispatcher

   SPM
      Secure Partition Manager

   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.

   TSP
      Test Secure Payload

   TZC
      TrustZone Controller

   UEFI
      Unified Extensible Firmware Interface

   WDOG
      Watchdog

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

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