Release notes - TC2-2024.02.22-LSC

Release tag

The manifest tag for this release is TC2-2024.02.22-LSC.

Components

The following is a summary of the key software features of the release:

  • BSP build supporting Debian bookworm distro;

  • Trusted firmware-A for secure boot;

  • EDK2 bootloader;

  • Hafnium for S-EL2 Secure Partition Manager core;

  • OP-TEE for Trusted Execution Environment (TEE);

  • Trusted Services (Crypto and Internal Trusted Storage);

  • System Control Processor(SCP) firmware for programming the interconnect, power control, etc;

  • Runtime Security Subsystem (RSS) firmware for providing HW RoT;

Hardware Features

  • Booker aka CoreLink CI-700 with Memory Tagging Unit (MTU) support driver in SCP firmware;

  • GIC Clayton Initialization in Trusted Firmware-A;

  • Mali-G720 GPU;

  • Mali-D71 DPU and virtual encoder support for display on Linux;

  • MHUv2 Driver for SCP and AP communication;

  • UARTs, Timers, Flash, PIK, Clock drivers;

  • PL180 MMC;

  • DynamIQ Shared Unit (DSU) with 8 cores (1 Cortex X4 + 3 Cortex A720 + 4 Cortex A520 cores configuration);

  • RSS based on Cortex M55;

  • SCP based on Cortex M3;

Software Features

  • Debian 12 (aka Bookworm);

  • Linux Kernel 6.1.0;

  • EDK2 v202402 (Feb 2024);

  • Trusted Firmware-A v2.9;

  • Hafnium v2.9 as Secure Partition Manager (SPM) at S-EL2;

  • OP-TEE v4.1.0 as Secure Partition at S-EL1, managed by S-EL2 SPMC (Hafnium);

  • Support for secure boot based on TBBR specification (more info available at link);

  • System Control Processor (SCP) firmware v2.12;

  • Runtime Security Subsystem (RSS) firmware v1.8.0;

  • VirtIO to mount the Debian image in the host machine as a storage device in the FVP;

  • Trusted Services (Crypto and Internal Trusted Storage) running at S-EL0;

Platform Support

  • This software release is tested on TC2 Fast Model platform (FVP) version 11.23.28.

Tools Support

  • This software release extends docker support to Debian distro (making it supported to all TC build variants).

Known issues or Limitations

  1. Ubuntu 22.04 is not supported in this release;

  2. SVE2 (Scalable Vector Extension) feature is not supported with this release;

  3. systemd-resolved.service fails multiple times before successful start, which causes delay in boot time;

    This can be avoided following one of the below workaround steps:

    Method 1 - editing the Kernel command line parameters:

    1. during the boot process, once the Grub screen appears (list of options that allow to choose what to boot), press e key to edit the boot command;

    2. navigate to the line with the command line parameters (usually starts with linux /boot/vmlinux*), and append systemd.mask=systemd-resolved.service;

    3. press F10 to continue to boot with the added boot parameters.

    Method 2 - make the changes to be permanent for every boot:

    1. wait for the OS to fully boot, login and get to the command prompt;

    2. on the command prompt, run the following command vi /etc/default/grub to edit the Grub configuration;

    3. add the following line: GRUB_CMDLINE_LINUX_DEFAULT="systemd.mask=systemd-resolved.service";

    4. save the changes and exit the vi editor;

    5. on the command prompt, run the command update-grub to update and apply the new Grub configuration.

  4. Upon the completion of running the ACS (UEFI boot with ACPI support) tests, a synchronous exception is experienced, and some dump information will be presented on the FVP terminal_uart1_ap window, similar to the following excerpt:

    (...)
    Operating System View:
     701 : Non Secure Watchdog Access                 : Result:  PASS
     702 : Check Watchdog WS0 interrupt               : Result:  PASS
    
              All Watchdog tests passed.
    
              *** No ECAM region found, Skipping PCIE tests ***
    
             -------------------------------------------------------
             Total Tests run  =   45  Tests Passed  =   34  Tests Failed =    7
             -------------------------------------------------------
    
              *** BSA tests complete. Reset the system. ***
    
    remove-symbol-file /home/runner/work/arm-systemready/arm-systemready/SR/scripts/edk2/Build/Shell/DEBUG_GCC49/AARCH64/ShellPkg/Application/bsa-acs/uefi_app/BsaAcs/DEBUG/Bsa.dll 0xF73ED000
    
    
    Synchronous Exception at 0x00000000F73F9454
    
    Recursive exception occurred while dumping the CPU state
    Unhandled Exception in EL3.
    x30            = 0x000000000402cb94
    x0             = 0x0000000000000000
    x1             = 0x000000000000003a
    x2             = 0x0000000000000000
    x3             = 0x00000000820003c8
    x4             = 0x0000000000000000
    x5             = 0x000000009600004f
    x6             = 0x00000000fc8a4f90
    x7             = 0x00000000fc9ccc10
    x8             = 0x0000000001000000
    x9             = 0x0000000004035200
    x10            = 0x0000009fa226e8f3
    x11            = 0x0000021e648978a7
    x12            = 0x0000000000000002
    x13            = 0x0000000000000002
    x14            = 0x0000000000000001
    x15            = 0x00000000000000ff
    x16            = 0x00000000f73f9454
    x17            = 0x00000000fcb41000
    x18            = 0x00000000fc8a5130
    x19            = 0x0000000004035a70
    x20            = 0x0000000000000000
    x21            = 0x0000000000000000
    x22            = 0x0000000000000000
    x23            = 0x0000000000000000
    x24            = 0x0000000000000000
    x25            = 0x0000000000000000
    x26            = 0x0000000000000000
    x27            = 0x0000000000000000
    x28            = 0x0000000000000000
    x29            = 0x0000000000000000
    scr_el3        = 0x000000401c07073d
    sctlr_el3      = 0x00000000b0cd183f
    cptr_el3       = 0x0000000000000000
    tcr_el3        = 0x000000008081351c
    daif           = 0x00000000000003c0
    mair_el3       = 0x00000000004404ff
    spsr_el3       = 0x00000000630002cd
    elr_el3        = 0x0000000004021c30
    ttbr0_el3      = 0x000000000403c001
    esr_el3        = 0x00000000be000211
    far_el3        = 0x0000000000000000
    spsr_el1       = 0x0000000000000000
    elr_el1        = 0x0000000000000000
    spsr_abt       = 0x0000000000000000
    spsr_und       = 0x0000000000000000
    spsr_irq       = 0x0000000000000000
    spsr_fiq       = 0x0000000000000000
    sctlr_el1      = 0x0000000030d00980
    actlr_el1      = 0x0000000000000000
    cpacr_el1      = 0x0000000000300000
    csselr_el1     = 0x0000000000000004
    sp_el1         = 0x0000000000000000
    esr_el1        = 0x0000000000000000
    ttbr0_el1      = 0x0000000000000000
    ttbr1_el1      = 0x0000000000000000
    mair_el1       = 0x0000000000000000
    amair_el1      = 0x0000000000000000
    tcr_el1        = 0x0000000000000000
    tpidr_el1      = 0x0000000000000000
    tpidr_el0      = 0x00000000f501edc0
    tpidrro_el0    = 0x0000000000000000
    par_el1        = 0x0000000000000800
    mpidr_el1      = 0x0000000081000000
    afsr0_el1      = 0x0000000000000000
    afsr1_el1      = 0x0000000000000000
    contextidr_el1 = 0x0000000000000000
    vbar_el1       = 0x0000000000000000
    cntp_ctl_el0   = 0x0000000000000002
    cntp_cval_el0  = 0x00000020f49a0984
    cntv_ctl_el0   = 0x0000000000000002
    cntv_cval_el0  = 0x00000020ecda7b2f
    cntkctl_el1    = 0x0000000000000000
    sp_el0         = 0x00000000fc8a5130
    isr_el1        = 0x0000000000000040
    cpuectlr_el1   = 0x0000000000900000
    
  5. Upon running the tf-a-tests, a panic in EL3 is experienced, and some dump information will be presented on the FVP terminal_uart_ap window, similar to the following excerpt:

    (...)
    Running test suite 'Framework Validation'
    Description: Validate the core features of the test framework> Executing 'NVM support'
      TEST COMPLETE                                                 Passed> Executing 'NVM serialisation'
      TEST COMPLETE                                                 Passed> Executing 'Events API'
    ERROR:   Unexpected affinity info state.
    BACKTRACE: START: psci_warmboot_entrypoint
    0: EL3: 0x4022478
    1: EL3: 0x4029aa0
    2: EL3: 0x40201d4
    3: EL3: 0x4022550
    BACKTRACE: END: psci_warmboot_entrypoint
    PANIC in EL3.
    x30            = 0x0000000004029aac
    x0             = 0x0000000000000001
    x1             = 0x0000000000000002
    x2             = 0x0000000000000097
    x3             = 0x00000000ffffffc8
    x4             = 0x0000000000000004
    x5             = 0x0000000000000000
    x6             = 0x000000000402ab70
    x7             = 0x0000000000000000
    x8             = 0x0000000001000000
    x9             = 0x00000000040201c8
    x10            = 0x0000000004021cf4
    x11            = 0x00000000fd030000
    x12            = 0x00000000fd000800
    x13            = 0x0000000080000000
    x14            = 0x00000000410fd801
    x15            = 0x0000000080000000
    x16            = 0x0000000000000000
    x17            = 0x0000000000000017
    x18            = 0x000000401c070f38
    x19            = 0x0000000004020140
    x20            = 0x0000000000000000
    x21            = 0x000000000403b000
    x22            = 0x0000000000000000
    x23            = 0x0000000000000000
    x24            = 0x0000000000000000
    x25            = 0x0000000000000000
    x26            = 0x0000000000000000
    x27            = 0x0000000000000000
    x28            = 0x0000000000000000
    x29            = 0x0000000004030b90
    scr_el3        = 0x0000000000030638
    sctlr_el3      = 0x00000000b0cd183f
    cptr_el3       = 0x0000000040100000
    tcr_el3        = 0x000000008081351c
    daif           = 0x00000000000002c0
    mair_el3       = 0x00000000004404ff
    spsr_el3       = 0x00000000604003c9
    elr_el3        = 0x00000000fd0013d0
    ttbr0_el3      = 0x000000000403c001
    esr_el3        = 0x0000000000000000
    far_el3        = 0x0000000000000000
    spsr_el1       = 0x0000000000000000
    elr_el1        = 0x0000000000000000
    spsr_abt       = 0x0000000000000000
    spsr_und       = 0x0000000000000000
    spsr_irq       = 0x0000000000000000
    spsr_fiq       = 0x0000000000000000
    sctlr_el1      = 0x0000000030d80998
    actlr_el1      = 0x0000000000000000
    cpacr_el1      = 0x0000000000000000
    csselr_el1     = 0x0000000000000000
    sp_el1         = 0x0000000000000000
    esr_el1        = 0x0000000000000000
    ttbr0_el1      = 0x0000000000000000
    ttbr1_el1      = 0x0000000000000000
    mair_el1       = 0x0000000000000000
    amair_el1      = 0x0000000000000000
    tcr_el1        = 0x0000000080000000
    tpidr_el1      = 0x0000000000000000
    tpidr_el0      = 0x0000000000000000
    tpidrro_el0    = 0x0000000000000000
    par_el1        = 0xff0000000402a980
    mpidr_el1      = 0x0000000081000000
    afsr0_el1      = 0x0000000000000000
    afsr1_el1      = 0x0000000000000000
    contextidr_el1 = 0x0000000000000000
    vbar_el1       = 0x0000000000000000
    cntp_ctl_el0   = 0x0000000000000000
    cntp_cval_el0  = 0x0000000000000000
    cntv_ctl_el0   = 0x0000000000000000
    cntv_cval_el0  = 0x0000000000000000
    cntkctl_el1    = 0x0000000000000000
    sp_el0         = 0x0000000004030b90
    isr_el1        = 0x0000000000000000
    cpuectlr_el1   = 0x0000000000900000
    

Support

For support email: support@arm.com.


Copyright (c) 2022-2024, Arm Limited. All rights reserved.