Build on a Strong Foundation With Standard Firmware Interfaces
Firmware plays a crucial role in the low-level operation of a system, supporting higher-level software, such as an operating system or hypervisor. Benefits of using standard interfaces include:
- Compatibility between software from different sources.
- Applying best practices when designing systems.
Firmware Interfaces for Arm A-Profile
A-profile CPUs are optimized to run complex software stacks, supported by a rich set of standard firmware interfaces that enable:
- Transitions between isolated execution environments, with:
- Secure Monitor Call Calling Convention (SMCCC) for calling software in exception levels 2 & 3 using the secure monitor call (SMC) and hypervisor call (HVC) instructions.
- Firmware Framework for A-Profile (FF-A) for communicating with software running in the secure world (TrustZone).
- Arm Confidential Compute Architecture (CCA) defining management and communication with Realms.
- The securing and abstraction of low-level hardware function, such as power states, through a standard set of interfaces.
- Enablement of other system software with industry-standard interfaces, including UEFI, ACPI, SMBIOS and device tree. Some ACPI supplements describe support for Arm-specific features.
The Base Boot Requirements and supplements which forms part of Arm SystemReady, defines a standard minimal set of required interfaces to support common operating systems and hypervisors.
Firmware Interfaces for Arm M-Profile
M-profile CPUs are designed for embedded and real-time systems, with applications typically running directly on the hardware or with a lightweight operating system.
Firmware Framework for M-Profile (FF-M) defines interfaces for the creation and operation of security services within a secure programming environment. These services may include those defined by PSA Certified.
System Management Controllers
Many Arm-based designs include embedded controllers dedicated to low-level system management and security tasks. Standardized interfaces facilitate interoperability between the host system and the controller firmware:
- System Control and Management Interface (SCMI) for power, performance, and system management.
- MPAM Firmware-backed (Fb) Profile for managing Arm Memory System-Resource Partitioning and Monitoring (MPAM) components that are not directly accessible from the host’s address space.
- Server Base Manageability Requirements include interface details of the Manageability Control Processor (MCP) and Board Management Controller (BMC).
Talk with an Expert
Starting off on the right foundation for your product or project is critical. Talk with an Arm expert to learn more about which architecture is right for you.