.. # SPDX-FileCopyrightText: Copyright 2024-2026 Arm Limited and/or its # affiliates # # SPDX-License-Identifier: MIT ######## Overview ######## ************ Introduction ************ The Arm Zena CSS Software Reference Stack contains a collection of resources to provide a representative view of typical compute subsystems that can be designed and implemented using specific generations of Arm Reference Designs, targeting the automotive sector. The **Arm Zena CSS** introduces the concept of a high-performance |Cortex|-A720AE Application Processor (Primary Compute) system augmented with an |Cortex|-R82AE based Safety Island and real-time domain for scenarios where additional system safety monitoring and real-time services are required. The system additionally includes a Runtime Security Engine (RSE) used for the secure boot of the system elements and the runtime Secure Services. Throughout the following documentation, the name "RD-Aspen" is used in place of Arm Zena CSS due to historical reasons. For more information, visit the :link_subs:`rd-aspen:arm_zena_css` on arm.com. A Fixed Virtual Platform (FVP) is available as part of the **Arm Zena CSS** Reference Design Package. Further information on FVPs, including expected runtime performance and other capabilities, can be found at :link_subs:`arm-ecosystem-fvps`. This documentation, together with the FVP, allows for the exploration of baremetal and virtualization hosted Linux instances. The Primary Compute firmware stack of Trusted Firmware-A, U-Boot, and systemd-boot aims to align with the technologies and goals of the Arm SystemReady Devicetree program. ******** Audience ******** The intended target audience of this document are software, hardware, and system engineers who are users of Arm Zena CSS. It describes how to build and run images for Arm automotive reference designs using the Yocto Project build framework. Basic instructions about the Yocto Project can be found in the :link_subs:`common:yocto-q-start`. In addition to having Yocto related knowledge, the target audience also needs to have a certain understanding of the following technologies: * :link_subs:`rd-aspen:tf-m-doc` * :link_subs:`rd-aspen:scp-firmware` * :link_subs:`common:zephyr` * :link_subs:`rd-aspen:tf-a-doc` * :link_subs:`rd-aspen:op-tee-doc` * :link_subs:`rd-aspen:trusted-services-doc` * :link_subs:`rd-aspen:u-boot` * :link_subs:`common:xen-hypervisor` Documentation structure ======================= * :ref:`User Guide ` Provides guidance for configuring, building, and deploying the solutions on the FVP and running and validating the supported functionalities. Also provides instructions on additional, user-defined image customization. * :ref:`Solution Design ` Provides more advanced developer-focused details of each solution, its implementation, and dependencies. * :ref:`License ` Defines the license under which Arm Zena CSS is provided. * :ref:`Release Notes ` Documents new features, bug fixes, limitations, and any other changes provided under each Arm Zena CSS release. * :link_subs:`common:sw-ref-stack-docs` Provides the Arm Automotive Solutions documentation, including shared release information and test automation references. ********************* Arm Zena CSS overview ********************* Software components =================== The Arm Zena CSS is composed of multiple Open Source components, including: * The :link_subs:`rd-aspen:tf-m-doc`, running an instance of Trusted Firmware-M, which offers secure boot and pre-SCP platform initialization. * The Safety Island subsystem, running a single instance of :link_subs:`rd-aspen:scp-firmware`. The CFG2 variant contains one additional instance, running the :link_subs:`rd-aspen:zephyr-repo`. * The firmware for the Primary Compute, using :link_subs:`rd-aspen:tf-a-doc`, :link_subs:`rd-aspen:u-boot` and :link_subs:`rd-aspen:systemd-boot-doc`. These are configured to be aligned with :link_subs:`rd-aspen:arm-systemready-devicetree`. Platform IP =========== The platform consists of the following CPU cores IP: .. table:: Arm Zena CSS platform :widths: auto :align: center =================== ================================ Component Arm Zena CSS =================== ================================ Primary Compute Cortex-A720AE Armv9.2-A Safety Island Cortex-R82AE Armv8-R AArch64 RSE Cortex-M55 Armv8.1-M =================== ================================ Architectures ============= The remaining software in the Primary Compute subsystem, based on the :link_subs:`common:ewaol` distribution, is available in two main architectures: baremetal and virtualization. :link_subs:`common:ewaol` provides :link_subs:`common:bluechi` as a service controller for containerized workload orchestration. Baremetal architecture ---------------------- The Primary Compute boots a single rich operating system (real-time Linux with PREEMPT_RT patches). .. figure:: images/aspen_high_level_arch.* :align: center :alt: Arm Zena CSS High-Level Diagram - Pre Platform Architecture Arm Zena CSS High-Level Diagram - Pre Platform Architecture | Virtualization architecture --------------------------- The Primary Compute boots into a type-1 hypervisor (Xen) using Arm’s hardware virtualization support. There are three isolated, resource-managed virtual machines: Dom0 (privileged domain) and DomU1 and DomU2 (unprivileged domains). Dom0, DomU1, and DomU2 all run real-time Linux with PREEMPT_RT patches. .. figure:: images/aspen-virtualization-arch.* :align: center :alt: Virtualization Architecture Diagram Virtualization Architecture Diagram | .. _rd-aspen_overview_use_cases: ********* Use cases ********* The :ref:`Reproduce ` section of the User Guide contains all the instructions necessary to fetch and build the source as well as to download the required FVP and launch the use cases. Arm Zena CSS demonstrates how the following features can be used to enhance the overall functional safety level of a high-performance compute platform through the use cases implemented by the Reference Software Stack. PSA APIs Tests in Primary Compute ================================= Demonstrates implementation of the secure services on Application Processor. Safety Status Unit (SSU) integration test ========================================= This test demonstrates the working of the Safety Status Unit. Fault Management Unit (FMU) integration test ============================================ It validates that an FMU integrates and behaves correctly within the target system or simulation environment. System Monitoring Control Framework (SMCF) integration test =========================================================== Demonstrates SMCF integration by triggering the test flow and collecting sample monitoring data from the platform. Software Built-In Self-Test Controller (SBISTC) integration test ================================================================ It performs self-diagnostics of hardware blocks (like CPUs, memories, or logic clusters) under software control. Platform Fault Detection Interface (PFDI) integration ===================================================== It is used to detect hardware faults by registering appropriate firmware test libraries. Platform Fault Detection Interface (PFDI) in Safety Island Cluster 1 ==================================================================== Demonstrates the Safety Island Cluster 1 PFDI framework built on top of Zephyr to run fault-detection checks and report the results through the platform firmware integration. Reliability, Availability, and Serviceability (RAS) error processing validation =============================================================================== Reliability, Availability, and Serviceability (RAS) aims to increase the robustness of a system by detecting hardware errors, recording them and correcting them where possible. Arm Cryptographic Extension demo ================================ The demo demonstrates how the Arm Cryptographic Extension can be used to offload cryptographic work to hardware instructions. Mission-based power profile demo ================================ This demo is used to demonstrate system power and performance settings for different mission modes. Primary Compute domain reset ============================ Demonstrates how to reset the Primary Compute domain without resetting the entire system. Virtualization demo =================== Demonstrates Xen hypervisor boot with two guest domains. Linux distribution installation =============================== Demonstrates the installation of three unmodified generic UEFI distribution images, Debian, openSUSE and Rocky Linux. Arm SystemReady Devicetree validation ========================================= The Arm SystemReady Devicetree Firmware Build option builds the Arm SystemReady Devicetree firmware. Secure Firmware Update ====================== Demonstrates capsule-on-disk based Secure Firmware Update for both baremetal and virtualization architectures. Heterogeneous Inter-Processor Communication (HIPC) Demo ======================================================= Demonstrates networking communication between the Primary Compute and Safety Island Cluster 1 (SI CL1). ********************************** Safety and security considerations ********************************** Arm Zena CSS is a public example software project that tracks and pulls upstream components, incorporating their respective security fixes published over time. Arm partners are responsible for ensuring that the components they use contain all the required security fixes, if and when they deploy a product derived from Arm reference solutions. ******************** Repository structure ******************** The Arm Zena CSS repository (|arm zena css repository|) is structured as follows: * ``arm-zena-css``: * ``yocto`` Directory implementing the Yocto layer as well as kas build configuration files. * ``components`` Directory containing source code for components which can either be used directly or as part of the Yocto layer. * ``documentation`` Directory which contains the documentation sources, defined in ReStructuredText (``.rst``) format for building via ``sphinx``. ****************** Repository license ****************** The repository's standard license is the MIT license (more details in :ref:`license_link:License`), under which most of the repository's content is provided. Exceptions to this standard license relate to files that represent modifications to externally licensed works (for example, patch files). These files might therefore be included in the repository under alternative licenses in order to be compliant with the licensing requirements of the associated external works. The Arm corporate logo and words marked with ® or ™ are registered trademarks or trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere. All rights reserved. Other brands and names mentioned in this document might be the trademarks of their respective owners. Please follow Arm’s trademark usage guidelines at :link_subs:`common:arm-trademark`. ********************************* Contributions and issue reporting ********************************* This project has not put in place a process for contributions currently. To report issues with the repository such as potential bugs, security concerns, or feature requests, submit an Issue via :link_subs:`common:gitlab-issues`, following the project's template. ******************** Feedback and support ******************** To request support contact Arm at support@arm.com. Arm licensees can also contact Arm via their partner managers.