From patchwork Tue Mar 31 13:06:57 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Mason X-Patchwork-Id: 84904 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 71DFE109B464 for ; Tue, 31 Mar 2026 13:07:11 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.19909.1774962424113745934 for ; Tue, 31 Mar 2026 06:07:04 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@arm.com header.s=foss header.b=gauYx/4b; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: jon.mason@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9D96B3603 for ; Tue, 31 Mar 2026 06:06:57 -0700 (PDT) Received: from H24V3P4C17.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 5E8943F7D8 for ; Tue, 31 Mar 2026 06:07:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1774962423; bh=MMU0tI89XwDuHxfR2XA/BtV/kpzwRyFCjTU6jnFCZIA=; h=From:To:Subject:Date:From; b=gauYx/4bUOu7cVq+NWQCdMmcFcnKQbDePKR6K2mxGCOfnxWGD7qJRwQ/5hR7hx4pj F2oNuEetI2QQMlqcfGV4vKmKztHh92o9XomLvgyapDkyB7x+LzudQuxGsQwQtTyApC QpQHT9eXQQOquqRgaY05Q7bXMSX7afRx+yBfzgYU= From: Jon Mason To: meta-arm@lists.yoctoproject.org Subject: [PATCH 1/6] CI: use core-image-base for faster boot Date: Tue, 31 Mar 2026 09:06:57 -0400 Message-ID: <20260331130702.56223-1-jon.mason@arm.com> X-Mailer: git-send-email 2.50.1 MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 31 Mar 2026 13:07:11 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6989 Signed-off-by: Jon Mason --- ci/fvp.yml | 2 +- ci/sgi575.yml | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/ci/fvp.yml b/ci/fvp.yml index 62ff0d29c905..0dc1e2602ab1 100644 --- a/ci/fvp.yml +++ b/ci/fvp.yml @@ -12,4 +12,4 @@ local_conf_header: TEST_SUITES:remove = "opkg dnf" target: - - core-image-full-cmdline + - core-image-base diff --git a/ci/sgi575.yml b/ci/sgi575.yml index a2555a84b8b7..d6e33894e890 100644 --- a/ci/sgi575.yml +++ b/ci/sgi575.yml @@ -12,6 +12,3 @@ local_conf_header: COMPATIBLE_MACHINE:pn-ssh-pregen-hostkeys:sgi575 = "sgi575" machine: sgi575 - -target: - - core-image-base From patchwork Tue Mar 31 13:06:58 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Mason X-Patchwork-Id: 84906 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id A07D7109B469 for ; Tue, 31 Mar 2026 13:07:11 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.19558.1774962424224867728 for ; Tue, 31 Mar 2026 06:07:04 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@arm.com header.s=foss header.b=Yk7zeGKE; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: jon.mason@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id DC1D23620 for ; Tue, 31 Mar 2026 06:06:57 -0700 (PDT) Received: from H24V3P4C17.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 9BD4D3F7D8 for ; Tue, 31 Mar 2026 06:07:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1774962423; bh=HKIfPIFfwPrK8XIgUcE2AN1s9udeEUYWgpEKyp1Z2j0=; h=From:To:Subject:Date:In-Reply-To:References:From; b=Yk7zeGKE/VLorf1WYIUw9SrG7RdGK0+nF2/4NKCW0JWJd7ZerFg8PXCp6yj90/Aog zudMZbFz9iq8gKSz1VtBnshyhcoSnMRW9JsG1+wCNWYxXO9fmK8wIjCt1Ly1iW+tG/ ZjL99mDmx2fXnqHzbx1kEkoK+HprVKhl//j6snbA= From: Jon Mason To: meta-arm@lists.yoctoproject.org Subject: [PATCH 2/6] Revert "arm/execstack: remove, no longer needed" Date: Tue, 31 Mar 2026 09:06:58 -0400 Message-ID: <20260331130702.56223-2-jon.mason@arm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260331130702.56223-1-jon.mason@arm.com> References: <20260331130702.56223-1-jon.mason@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 31 Mar 2026 13:07:11 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6990 Some of the soon-to-be-added FVPs have the execute issue still. So, re-add this until it can be resolved. Also, address S issue that changed upstream between the original removal and now. --- .../recipes-devtools/fvp/execstack-native.bb | 23 ++++++++++++++++ .../recipes-devtools/fvp/remove-execstack.inc | 26 +++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 meta-arm/recipes-devtools/fvp/execstack-native.bb create mode 100644 meta-arm/recipes-devtools/fvp/remove-execstack.inc diff --git a/meta-arm/recipes-devtools/fvp/execstack-native.bb b/meta-arm/recipes-devtools/fvp/execstack-native.bb new file mode 100644 index 000000000000..0bd8f6f33d07 --- /dev/null +++ b/meta-arm/recipes-devtools/fvp/execstack-native.bb @@ -0,0 +1,23 @@ +SUMMARY = "execstack tool" +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" + +DEPENDS = "binutils-native elfutils-native" + +SRC_URI = "git://git.yoctoproject.org/prelink-cross;protocol=https;branch=master" +SRCREV = "ff2561c02ade96c5d4d56ddd4e27ff064840a176" +PV = "1.0+git${SRCPV}" + +# The last tagged release was 20151030. Track this as a git tree to +# see if there are any updates +UPSTREAM_CHECK_COMMITS = "1" + +inherit autotools native + +do_compile() { + oe_runmake -C ${B}/src execstack +} + +do_install() { + oe_runmake -C ${B}/src install-binPROGRAMS DESTDIR="${D}" +} diff --git a/meta-arm/recipes-devtools/fvp/remove-execstack.inc b/meta-arm/recipes-devtools/fvp/remove-execstack.inc new file mode 100644 index 000000000000..7f02b5027b27 --- /dev/null +++ b/meta-arm/recipes-devtools/fvp/remove-execstack.inc @@ -0,0 +1,26 @@ +# Clear the executable stack flag on named shared libraries. This are typically +# not needed, and glibc 2.41 will refuse to dlopen() a library that expects +# an executable stack. +# +# The stack permissions can be checked with readelf -lW <.so> | grep GNU_STACK. +# RW is read/write, RWE is read/write/execute. + +DEPENDS += "execstack-native" + +REMOVE_EXECSTACKS ?= "" + +do_install:append() { + for SO in ${REMOVE_EXECSTACKS}; do + NAME=$(basename $SO) + SO=${D}$SO + + test -f $SO || bbfatal remove-execstack: cannot find $SO + + if execstack --query $SO | grep -q ^X; then + bbnote "Stripping executable stack bit on $NAME" + execstack --clear-execstack $SO + else + bbwarn "Executable stack stripping no longer required for $NAME, remove" + fi + done +} From patchwork Tue Mar 31 13:06:59 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Mason X-Patchwork-Id: 84907 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B6A55109B46C for ; Tue, 31 Mar 2026 13:07:11 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.19559.1774962424414233693 for ; Tue, 31 Mar 2026 06:07:04 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@arm.com header.s=foss header.b=XrHSkJH0; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: jon.mason@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 27DC2493B for ; Tue, 31 Mar 2026 06:06:58 -0700 (PDT) Received: from H24V3P4C17.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id DAC953F7D8 for ; Tue, 31 Mar 2026 06:07:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1774962424; bh=dehEkhl/b3DKlQ9EAdKrIlbjzIH0yMgZSpHuug3Vvt8=; h=From:To:Subject:Date:In-Reply-To:References:From; b=XrHSkJH019/WiG7gv6RCZfY98Kt/LsCBLKdMYDEhkJlwJ86D8byd2GtlZd9OGxYkC akbTo+TQpLr/zbCWJQ53eNeaf6okTm7yXcwHA+u5VmDhFdq0gSA25yJS+/6l/0dYoF vdS1p8Wau62lltzjzSzncl5RwpcDnADW7Umq/FDo= From: Jon Mason To: meta-arm@lists.yoctoproject.org Subject: [PATCH 3/6] arm/fvps: rename rdv3-r1 Date: Tue, 31 Mar 2026 09:06:59 -0400 Message-ID: <20260331130702.56223-3-jon.mason@arm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260331130702.56223-1-jon.mason@arm.com> References: <20260331130702.56223-1-jon.mason@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 31 Mar 2026 13:07:11 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6991 Rename rdv3-r1 to be more consistent with other machines and match documentation/website. Signed-off-by: Jon Mason --- ci/fvps.yml | 4 ++-- .../recipes-devtools/fvp/{fvp-rd-v3-r1.bb => fvp-rdv3-r1.bb} | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename meta-arm/recipes-devtools/fvp/{fvp-rd-v3-r1.bb => fvp-rdv3-r1.bb} (100%) diff --git a/ci/fvps.yml b/ci/fvps.yml index f64885a35c9a..8ec22a30f6af 100644 --- a/ci/fvps.yml +++ b/ci/fvps.yml @@ -32,8 +32,8 @@ target: - nativesdk-fvp-rd1-ae # Infrastructure FVPs - - fvp-rd-v3-r1 - - nativesdk-fvp-rd-v3-r1 + - fvp-rdv3-r1 + - nativesdk-fvp-rdv3-r1 # These are x86 only... :( - nativesdk-fvp-sgi575 diff --git a/meta-arm/recipes-devtools/fvp/fvp-rd-v3-r1.bb b/meta-arm/recipes-devtools/fvp/fvp-rdv3-r1.bb similarity index 100% rename from meta-arm/recipes-devtools/fvp/fvp-rd-v3-r1.bb rename to meta-arm/recipes-devtools/fvp/fvp-rdv3-r1.bb From patchwork Tue Mar 31 13:07:00 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Mason X-Patchwork-Id: 84908 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C55E8109B46E for ; Tue, 31 Mar 2026 13:07:11 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.19560.1774962424604834450 for ; Tue, 31 Mar 2026 06:07:04 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@arm.com header.s=foss header.b=HKlekYvH; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: jon.mason@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5BB813603 for ; Tue, 31 Mar 2026 06:06:58 -0700 (PDT) Received: from H24V3P4C17.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 2507B3F7D8 for ; Tue, 31 Mar 2026 06:07:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1774962424; bh=bDAfL72iw66KubYkkXWSN8Pyy0vL9CVjpZ1k+ui7fME=; h=From:To:Subject:Date:In-Reply-To:References:From; b=HKlekYvHjt2kyDOFuCutdiX+RIRuGgV2x/u3DNa4dsQFSM9TKgBwi5jOxIYmBFuaN 3GRWCQSOBfKtdcJCnjo90mxVAr5Xy1GUUKBaGFkmpg6plQL5fu8P2sjWbHmYD4qEMQ 4kXmUxooND7PfrrhLfxTVWsFta+rLm3r4QFKo+gs= From: Jon Mason To: meta-arm@lists.yoctoproject.org Subject: [PATCH 4/6] arm-bsp/rdv1: add support Date: Tue, 31 Mar 2026 09:07:00 -0400 Message-ID: <20260331130702.56223-4-jon.mason@arm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260331130702.56223-1-jon.mason@arm.com> References: <20260331130702.56223-1-jon.mason@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 31 Mar 2026 13:07:11 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6992 Add support for Neoverse Reference Design version 1 Signed-off-by: Jon Mason --- .gitlab-ci.yml | 9 +++ ci/fvps.yml | 1 + ci/rdv1.yml | 14 ++++ meta-arm-bsp/conf/machine/rdv1.conf | 67 +++++++++++++++++++ .../runtime/cases/parselogs-ignores-rdv1.txt | 3 + .../scp-firmware/scp-firmware-rdv1.inc | 7 ++ .../scp-firmware/scp-firmware_%.bbappend | 1 + .../trusted-firmware-a-rdv1.inc | 19 ++++++ .../trusted-firmware-a_%.bbappend | 1 + .../recipes-bsp/uefi/edk2-firmware-rdv1.inc | 7 ++ .../recipes-bsp/uefi/edk2-firmware_%.bbappend | 1 + .../linux/linux-arm-platforms.inc | 8 +++ meta-arm/recipes-devtools/fvp/fvp-rdv1.bb | 14 ++++ 13 files changed, 152 insertions(+) create mode 100644 ci/rdv1.yml create mode 100644 meta-arm-bsp/conf/machine/rdv1.conf create mode 100644 meta-arm-bsp/lib/oeqa/runtime/cases/parselogs-ignores-rdv1.txt create mode 100644 meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-rdv1.inc create mode 100644 meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-rdv1.inc create mode 100644 meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-rdv1.inc create mode 100644 meta-arm/recipes-devtools/fvp/fvp-rdv1.bb diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a1e40e365d7c..20b3998e787b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -306,6 +306,15 @@ qemuarmv5: - DISTRO: poky-tiny TESTING: testimage +rdv1: + extends: .build + parallel: + matrix: + - TESTING: testimage + # FVP binary is x86-only + tags: + - x86_64 + sbsa-ref: extends: .build parallel: diff --git a/ci/fvps.yml b/ci/fvps.yml index 8ec22a30f6af..db49b3e979a9 100644 --- a/ci/fvps.yml +++ b/ci/fvps.yml @@ -35,6 +35,7 @@ target: - fvp-rdv3-r1 - nativesdk-fvp-rdv3-r1 # These are x86 only... :( + - nativesdk-fvp-rdv1 - nativesdk-fvp-sgi575 # IoT FVPs diff --git a/ci/rdv1.yml b/ci/rdv1.yml new file mode 100644 index 000000000000..52cc4b32ad2b --- /dev/null +++ b/ci/rdv1.yml @@ -0,0 +1,14 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/siemens/kas/master/kas/schema-kas.json + +header: + version: 14 + includes: + - ci/base.yml + - ci/fvp.yml + +local_conf_header: + sshpregen: | + # Allow the use of the pregen keys as this is CI so safe + COMPATIBLE_MACHINE:pn-ssh-pregen-hostkeys:rdv1 = "rdv1" + +machine: rdv1 diff --git a/meta-arm-bsp/conf/machine/rdv1.conf b/meta-arm-bsp/conf/machine/rdv1.conf new file mode 100644 index 000000000000..e3b6ce736ece --- /dev/null +++ b/meta-arm-bsp/conf/machine/rdv1.conf @@ -0,0 +1,67 @@ +# Configuration for Arm Neoverse v1 Reference Design development board + +#@TYPE: Machine +#@NAME: RD V1 +#@DESCRIPTION: Machine configuration for RD V1 + +require conf/machine/include/arm/arch-armv8-4a.inc + +EXTRA_IMAGEDEPENDS += "virtual/control-processor-firmware" +EXTRA_IMAGEDEPENDS += "trusted-firmware-a" + +# 2.13.0 removes support for rdv1 +PREFERRED_VERSION_trusted-firmware-a ?= "2.12.%" + +KERNEL_IMAGETYPE ?= "Image" +PREFERRED_PROVIDER_virtual/kernel:forcevariable = "linux-yocto" +SERIAL_CONSOLES = "115200;ttyAMA0 115200;ttyAMA1" + +EFI_PROVIDER ?= "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd-boot", "grub-efi", d)}" +MACHINE_FEATURES += "efi" + +IMAGE_FSTYPES:forcevariable = "cpio.gz wic" +IMAGE_NAME_SUFFIX = "" +IMAGE_CLASSES += "fvpboot" + +WKS_FILE ?= "efi-disk.wks.in" +WKS_FILE_DEPENDS:append = " ${EXTRA_IMAGEDEPENDS}" + +# testimage config +TEST_TARGET = "OEFVPTarget" +TEST_TARGET_IP = "127.0.0.1:2222" +DEFAULT_TEST_SUITES:append = " fvp_boot fvp_devices" +TEST_FVP_DEVICES ?= "watchdog networking" + +# FVP Config +FVP_PROVIDER ?= "fvp-rdv1-native" +FVP_EXE ?= "FVP_RD_V1" + +FVP_CONFIG[css.cmn_650.force_rnsam_internal] ?= "true" +FVP_DATA ?= "css.scp.armcortexm7ct=scp-firmware/scp_ramfw.bin@0x0BD80000 \ + css.mcp.armcortexm7ct=scp-firmware/mcp_ramfw.bin@0x0BF80000" + +FVP_CONFIG[css.mcp.ROMloader.fname] ?= "scp-firmware/mcp_romfw.bin" +FVP_CONFIG[css.scp.ROMloader.fname] ?= "scp-firmware/scp_romfw.bin" + +FVP_CONFIG[css.trustedBootROMloader.fname] ?= "trusted-firmware-a/bl1.bin" +FVP_CONFIG[board.flashloader0.fname] ?= "trusted-firmware-a/fip.bin" + +FVP_CONSOLES[default] = "terminal_uart_ap" +FVP_TERMINALS[css.scp.terminal_uart_aon] ?= "SCP Console" +FVP_TERMINALS[css.mcp.terminal_uart0] ?= "" +FVP_TERMINALS[css.mcp.terminal_uart1] ?= "" +FVP_TERMINALS[css.terminal_uart_ap] ?= "Console" +FVP_TERMINALS[css.terminal_uart1_ap] ?= "" +FVP_TERMINALS[soc.terminal_s0] ?= "" +FVP_TERMINALS[soc.terminal_s1] ?= "" +FVP_TERMINALS[soc.terminal_mcp] ?= "" +FVP_TERMINALS[board.terminal_0] ?= "" +FVP_TERMINALS[board.terminal_1] ?= "" + +FVP_CONFIG[css.gic_distributor.ITS-device-bits] ?= "20" + +# Virtio configuration +FVP_CONFIG[board.virtio_net.enabled] ?= "1" +FVP_CONFIG[board.virtio_net.hostbridge.userNetworking] ?= "1" +FVP_CONFIG[board.virtio_net.hostbridge.userNetPorts] = "2222=22" +FVP_CONFIG[board.virtioblockdevice.image_path] ?= "${IMAGE_NAME}.wic" diff --git a/meta-arm-bsp/lib/oeqa/runtime/cases/parselogs-ignores-rdv1.txt b/meta-arm-bsp/lib/oeqa/runtime/cases/parselogs-ignores-rdv1.txt new file mode 100644 index 000000000000..ff8db8d52e7c --- /dev/null +++ b/meta-arm-bsp/lib/oeqa/runtime/cases/parselogs-ignores-rdv1.txt @@ -0,0 +1,3 @@ +can't derive routing for PCI INT A +jitterentropy: Initialization failed with host not compliant with requirements: 2 +PCI: OF: of_root node is NULL, cannot create PCI host bridge node diff --git a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-rdv1.inc b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-rdv1.inc new file mode 100644 index 000000000000..ccd77f6bff2a --- /dev/null +++ b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-rdv1.inc @@ -0,0 +1,7 @@ +# RD V1 specific SCP configurations and build instructions + +COMPATIBLE_MACHINE:rdv1 = "rdv1" +SCP_PRODUCT_GROUP = "neoverse-rd" +SCP_PLATFORM = "rdv1" + +SCP_LOG_LEVEL = "INFO" diff --git a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_%.bbappend b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_%.bbappend index bf0af54a671b..4b1bd09e0417 100644 --- a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_%.bbappend +++ b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_%.bbappend @@ -3,6 +3,7 @@ MACHINE_SCP_REQUIRE ?= "" MACHINE_SCP_REQUIRE:juno = "scp-firmware-juno.inc" +MACHINE_SCP_REQUIRE:rdv1 = "scp-firmware-rdv1.inc" MACHINE_SCP_REQUIRE:sgi575 = "scp-firmware-sgi575.inc" require ${MACHINE_SCP_REQUIRE} diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-rdv1.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-rdv1.inc new file mode 100644 index 000000000000..ccd4362d7751 --- /dev/null +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-rdv1.inc @@ -0,0 +1,19 @@ +# RD V1 specific TFA support + +COMPATIBLE_MACHINE = "rdv1" +TFA_PLATFORM = "rdv1" +TFA_BUILD_TARGET = "all fip" +TFA_INSTALL_TARGET = "bl1 fip" +TFA_DEBUG = "1" +TFA_MBEDTLS = "1" +TFA_UBOOT = "0" +TFA_UEFI = "1" + +EXTRA_OEMAKE += "TRUSTED_BOARD_BOOT=1 GENERATE_COT=1 ARM_ROTPK_LOCATION=devel_rsa \ + ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem" + +# If GENERATE_COT is set, then tf-a will try to use local poetry install +# to run the python cot-dt2c command. Disable the local poetry and use +# the provided cot-dt2c. +EXTRA_OEMAKE += "POETRY=''" +DEPENDS += "cot-dt2c-native" diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend index 5b4043e87bea..7e39487c49cf 100644 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend @@ -4,6 +4,7 @@ MACHINE_TFA_REQUIRE ?= "" MACHINE_TFA_REQUIRE:corstone1000 = "trusted-firmware-a-corstone1000.inc" MACHINE_TFA_REQUIRE:fvp-base = "trusted-firmware-a-fvp-base.inc" MACHINE_TFA_REQUIRE:juno = "trusted-firmware-a-juno.inc" +MACHINE_TFA_REQUIRE:rdv1 = "trusted-firmware-a-rdv1.inc" MACHINE_TFA_REQUIRE:sbsa-ref = "trusted-firmware-a-sbsa-ref.inc" MACHINE_TFA_REQUIRE:sgi575 = "trusted-firmware-a-sgi575.inc" diff --git a/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-rdv1.inc b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-rdv1.inc new file mode 100644 index 000000000000..7301a101975a --- /dev/null +++ b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-rdv1.inc @@ -0,0 +1,7 @@ +# RD V1 specific EDK2 configurations +EDK2_BUILD_RELEASE = "0" +EDK2_PLATFORM = "RdV1" +EDK2_PLATFORM_DSC = "Platform/ARM/SgiPkg/RdV1/RdV1.dsc" +EDK2_BIN_NAME = "BL33_AP_UEFI.fd" + +COMPATIBLE_MACHINE = "rdv1" diff --git a/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_%.bbappend b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_%.bbappend index 76ffa55521b3..17a2d23c9cda 100644 --- a/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_%.bbappend +++ b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_%.bbappend @@ -4,6 +4,7 @@ MACHINE_EDK2_REQUIRE ?= "" MACHINE_EDK2_REQUIRE:fvp-base = "edk2-firmware-fvp-base.inc" MACHINE_EDK2_REQUIRE:juno = "edk2-firmware-juno.inc" +MACHINE_EDK2_REQUIRE:rdv1 = "edk2-firmware-rdv1.inc" MACHINE_EDK2_REQUIRE:sbsa-ref = "edk2-firmware-sbsa-ref.inc" MACHINE_EDK2_REQUIRE:sgi575 = "edk2-firmware-sgi575.inc" diff --git a/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc b/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc index a0c4128fca7d..a70de61d78e9 100644 --- a/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc +++ b/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc @@ -110,6 +110,14 @@ FILESEXTRAPATHS:prepend:juno := "${ARMBSPFILESPATHS}" COMPATIBLE_MACHINE:musca-b1 = "(^$)" COMPATIBLE_MACHINE:musca-s1 = "(^$)" +# +# RDV1 KMACHINE +# +COMPATIBLE_MACHINE:rdv1 = "rdv1" +KBUILD_DEFCONFIG:rdv1 = "defconfig" +KCONFIG_MODE:rdv1 = "--alldefconfig" +KCONF_BSP_AUDIT_LEVEL:rdv1 = "0" + # # SGI575 KMACHINE # diff --git a/meta-arm/recipes-devtools/fvp/fvp-rdv1.bb b/meta-arm/recipes-devtools/fvp/fvp-rdv1.bb new file mode 100644 index 000000000000..23804bf3fef4 --- /dev/null +++ b/meta-arm/recipes-devtools/fvp/fvp-rdv1.bb @@ -0,0 +1,14 @@ +require fvp-ecosystem.inc + +MODEL = "RD-V1" +MODEL_CODE = "FVP_RD_V1" +PV = "11.17.29" + +SRC_URI = "https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Neoverse-Infrastructure/${MODEL}/${MODEL_CODE}_${PV_URL}_${FVP_ARCH}.tgz;subdir=${BP};name=fvp-${HOST_ARCH}" +SRC_URI[fvp-x86_64.sha256sum] = "715c0e0264fc3df961a0b9ff4c4399d55e4ccf4efb0944a412141d97873027a3" + +# The CSS used in the FVP homepage make it too difficult to query with the tooling currently in Yocto +UPSTREAM_VERSION_UNKNOWN = "1" + +LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=1a33828e132ba71861c11688dbb0bd16 \ + file://license_terms/third_party_licenses.txt;md5=41029e71051b1c786bae3112a29905a7" From patchwork Tue Mar 31 13:07:01 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Mason X-Patchwork-Id: 84905 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 835C6109B467 for ; Tue, 31 Mar 2026 13:07:11 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.19560.1774962424604834450 for ; Tue, 31 Mar 2026 06:07:05 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@arm.com header.s=foss header.b=WRnPDjke; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: jon.mason@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 952F13620 for ; Tue, 31 Mar 2026 06:06:58 -0700 (PDT) Received: from H24V3P4C17.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 5B7B73F7D8 for ; Tue, 31 Mar 2026 06:07:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1774962424; bh=rlei9X3RCjuYFqfrBeAP04qfcGtmt5lPEEaFf6sI7wU=; h=From:To:Subject:Date:In-Reply-To:References:From; b=WRnPDjke1sgBfBawltbCOOkWxXyHJ0kJlbr8WpFi4JkFW8uEMEgSYuw5gYuK+Btvs MrMw9rWOFBXBi0Q3wn6QAS6WwATbCu/PX+D6jRN85il7ZTMoBCaiZq3uelYDvnWQdj a9LQ3Ka2WPXSLVnnWbeShyE1Qc2qmW6JJo6RB69s= From: Jon Mason To: meta-arm@lists.yoctoproject.org Subject: [PATCH 5/6] arm-bsp/rdn2: add support Date: Tue, 31 Mar 2026 09:07:01 -0400 Message-ID: <20260331130702.56223-5-jon.mason@arm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260331130702.56223-1-jon.mason@arm.com> References: <20260331130702.56223-1-jon.mason@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 31 Mar 2026 13:07:11 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6993 Add support for Neoverse Reference Design N2 Use the rdinfra sources to get it booting Signed-off-by: Jon Mason --- .gitlab-ci.yml | 6 ++ ci/fvps.yml | 2 + ci/rdn2.yml | 14 +++++ meta-arm-bsp/conf/machine/rdn2.conf | 58 +++++++++++++++++++ .../runtime/cases/parselogs-ignores-rdn2.txt | 2 + .../scp-firmware/scp-firmware-rdn2.inc | 14 +++++ .../scp-firmware/scp-firmware_%.bbappend | 1 + .../trusted-firmware-a-rdn2.inc | 29 ++++++++++ .../trusted-firmware-a_%.bbappend | 1 + .../recipes-bsp/uefi/edk2-firmware-rdn2.inc | 17 ++++++ .../recipes-bsp/uefi/edk2-firmware_%.bbappend | 1 + .../linux/linux-arm-platforms.inc | 8 +++ meta-arm/recipes-devtools/fvp/fvp-rdn2.bb | 20 +++++++ 13 files changed, 173 insertions(+) create mode 100644 ci/rdn2.yml create mode 100644 meta-arm-bsp/conf/machine/rdn2.conf create mode 100644 meta-arm-bsp/lib/oeqa/runtime/cases/parselogs-ignores-rdn2.txt create mode 100644 meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-rdn2.inc create mode 100644 meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-rdn2.inc create mode 100644 meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-rdn2.inc create mode 100644 meta-arm/recipes-devtools/fvp/fvp-rdn2.bb diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 20b3998e787b..a07b82abb85d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -306,6 +306,12 @@ qemuarmv5: - DISTRO: poky-tiny TESTING: testimage +rdn2: + extends: .build + parallel: + matrix: + - TESTING: testimage + rdv1: extends: .build parallel: diff --git a/ci/fvps.yml b/ci/fvps.yml index db49b3e979a9..185a4f3de846 100644 --- a/ci/fvps.yml +++ b/ci/fvps.yml @@ -34,6 +34,8 @@ target: # Infrastructure FVPs - fvp-rdv3-r1 - nativesdk-fvp-rdv3-r1 + - fvp-rdn2 + - nativesdk-fvp-rdn2 # These are x86 only... :( - nativesdk-fvp-rdv1 - nativesdk-fvp-sgi575 diff --git a/ci/rdn2.yml b/ci/rdn2.yml new file mode 100644 index 000000000000..16e9c1629738 --- /dev/null +++ b/ci/rdn2.yml @@ -0,0 +1,14 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/siemens/kas/master/kas/schema-kas.json + +header: + version: 14 + includes: + - ci/base.yml + - ci/fvp.yml + +local_conf_header: + sshpregen: | + # Allow the use of the pregen keys as this is CI so safe + COMPATIBLE_MACHINE:pn-ssh-pregen-hostkeys:rdn2 = "rdn2" + +machine: rdn2 diff --git a/meta-arm-bsp/conf/machine/rdn2.conf b/meta-arm-bsp/conf/machine/rdn2.conf new file mode 100644 index 000000000000..cc9ba06c179e --- /dev/null +++ b/meta-arm-bsp/conf/machine/rdn2.conf @@ -0,0 +1,58 @@ +# Configuration for Arm Neoverse N2 Reference Design development board + +#@TYPE: Machine +#@NAME: RD N2 +#@DESCRIPTION: Machine configuration for RD N2 + +require conf/machine/include/arm/armv9a/tune-neoversen2.inc + +EXTRA_IMAGEDEPENDS += "virtual/control-processor-firmware" +EXTRA_IMAGEDEPENDS += "trusted-firmware-a" + +KERNEL_IMAGETYPE ?= "Image" +PREFERRED_PROVIDER_virtual/kernel = "linux-yocto" +SERIAL_CONSOLES = "115200;ttyAMA2" +EXTRA_IMAGEDEPENDS += "edk2-firmware" + +EFI_PROVIDER ?= "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd-boot", "grub-efi", d)}" +MACHINE_FEATURES += "efi" + +IMAGE_FSTYPES:forcevariable = "cpio.gz wic" +IMAGE_NAME_SUFFIX = "" +IMAGE_CLASSES += "fvpboot" + +WKS_FILE ?= "efi-disk.wks.in" +WKS_FILE_DEPENDS:append = " ${EXTRA_IMAGEDEPENDS}" + +# testimage config +TEST_TARGET = "OEFVPTarget" +TEST_TARGET_IP = "127.0.0.1:2222" +DEFAULT_TEST_SUITES:append = " fvp_boot fvp_devices" +TEST_FVP_DEVICES ?= "watchdog networking" + +# FVP Config +FVP_PROVIDER ?= "fvp-rdn2-native" +FVP_EXE ?= "FVP_RD_N2" + +FVP_DATA ?= "css.scp.armcortexm7ct=scp-firmware/scp_ramfw.bin@0x0BD80000 \ + css.mcp.armcortexm7ct=scp-firmware/mcp_ramfw.bin@0x0BF80000" + +FVP_CONFIG[css.gic_distributor.ITS-device-bits] ?= "20" +FVP_CONFIG[css.mcp.ROMloader.fname] ?= "scp-firmware/mcp_romfw.bin" +FVP_CONFIG[css.scp.ROMloader.fname] ?= "scp-firmware/scp_romfw.bin" +FVP_CONFIG[css.trustedBootROMloader.fname] ?= "trusted-firmware-a/bl1.bin" +FVP_CONFIG[board.flashloader0.fname] ?= "trusted-firmware-a/fip.bin" + +FVP_CONFIG[board.dram_size] ?= "0x200000000" + +# Virtio configuration +FVP_CONFIG[board.virtio_net.enabled] ?= "1" +FVP_CONFIG[board.virtio_net.hostbridge.userNetworking] ?= "1" +FVP_CONFIG[board.virtio_net.hostbridge.userNetPorts] = "2222=22" +FVP_CONFIG[board.virtioblockdevice.image_path] ?= "${IMAGE_NAME}.wic" + +FVP_CONSOLES[default] = "terminal_ns_uart_ap" +FVP_TERMINALS[css.scp.terminal_uart_scp] ?= "SCP Console" +FVP_TERMINALS[css.mcp.terminal_uart_mcp] ?= "MCP Console" +FVP_TERMINALS[css.terminal_ns_uart_ap] ?= "NS Console" +FVP_TERMINALS[css.terminal_s_uart_ap] ?= "S Console" diff --git a/meta-arm-bsp/lib/oeqa/runtime/cases/parselogs-ignores-rdn2.txt b/meta-arm-bsp/lib/oeqa/runtime/cases/parselogs-ignores-rdn2.txt new file mode 100644 index 000000000000..7b55e8ea61f0 --- /dev/null +++ b/meta-arm-bsp/lib/oeqa/runtime/cases/parselogs-ignores-rdn2.txt @@ -0,0 +1,2 @@ +arch_timer: Failed to initialize memory-mapped timer. +PCI: OF: of_root node is NULL, cannot create PCI host bridge node diff --git a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-rdn2.inc b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-rdn2.inc new file mode 100644 index 000000000000..b4e0437b20c3 --- /dev/null +++ b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-rdn2.inc @@ -0,0 +1,14 @@ +# RD N2 specific SCP configurations and build instructions + +COMPATIBLE_MACHINE:rdn2 = "rdn2" +SCP_PRODUCT_GROUP = "neoverse-rd" +SCP_PLATFORM = "rdn2" + +EXTRA_OECMAKE += "-D SCP_PLATFORM_VARIANT=0" + +SCP_LOG_LEVEL = "DEBUG" + +SRC_URI_SCP_FIRMWARE = "gitsm://gitlab.arm.com/infra-solutions/reference-design/platsw/scp-firmware.git;protocol=https" +SRCBRANCH = "refinfra-bmc" +# Use the RD-INFRA-2024.12.20 tag +SRCREV = "62bc3f079d1ae5780df1459d4c66de2dbee54359" diff --git a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_%.bbappend b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_%.bbappend index 4b1bd09e0417..222bee5e52e1 100644 --- a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_%.bbappend +++ b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_%.bbappend @@ -3,6 +3,7 @@ MACHINE_SCP_REQUIRE ?= "" MACHINE_SCP_REQUIRE:juno = "scp-firmware-juno.inc" +MACHINE_SCP_REQUIRE:rdn2 = "scp-firmware-rdn2.inc" MACHINE_SCP_REQUIRE:rdv1 = "scp-firmware-rdv1.inc" MACHINE_SCP_REQUIRE:sgi575 = "scp-firmware-sgi575.inc" diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-rdn2.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-rdn2.inc new file mode 100644 index 000000000000..0c09818c9024 --- /dev/null +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-rdn2.inc @@ -0,0 +1,29 @@ +# RD N2 specific TFA support + +COMPATIBLE_MACHINE = "rdn2" +TFA_PLATFORM = "rdn2" +TFA_BUILD_TARGET = "all fip" +TFA_INSTALL_TARGET = "bl1 fip" +TFA_DEBUG = "1" +TFA_MBEDTLS = "1" +TFA_UBOOT = "0" +TFA_UEFI = "1" + +EXTRA_OEMAKE += "TRUSTED_BOARD_BOOT=1 GENERATE_COT=1 ARM_ROTPK_LOCATION=devel_rsa \ + ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem" + +# If GENERATE_COT is set, then tf-a will try to use local poetry install +# to run the python cot-dt2c command. Disable the local poetry and use +# the provided cot-dt2c. +EXTRA_OEMAKE += "POETRY=''" +DEPENDS += "cot-dt2c-native" + +SRC_URI_TRUSTED_FIRMWARE_A = "git://gitlab.arm.com/infra-solutions/reference-design/platsw/trusted-firmware-a.git;protocol=https" +SRCBRANCH = "refinfra" +# SHA not in any branches. so use RD-INFRA-2025.07.03 +SRCREV_tfa = "a4b376b128bb5b91771002f7808566f53c8d9f3a" + +# FIXME - hacking around using the 2.14 based recipe +SRC_URI:remove = "file://0001-feat-build-add-HOSTLDFLAGS-to-pass-flags-to-host-lin.patch" +LIC_FILES_CHKSUM:remove = "file://docs/license.rst;md5=6ed7bace7b0bc63021c6eba7b524039e" +LIC_FILES_CHKSUM += "file://docs/license.rst;md5=1118e32884721c0be33267bd7ae11130" diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend index 7e39487c49cf..9a5d4aa54fd1 100644 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend @@ -4,6 +4,7 @@ MACHINE_TFA_REQUIRE ?= "" MACHINE_TFA_REQUIRE:corstone1000 = "trusted-firmware-a-corstone1000.inc" MACHINE_TFA_REQUIRE:fvp-base = "trusted-firmware-a-fvp-base.inc" MACHINE_TFA_REQUIRE:juno = "trusted-firmware-a-juno.inc" +MACHINE_TFA_REQUIRE:rdn2 = "trusted-firmware-a-rdn2.inc" MACHINE_TFA_REQUIRE:rdv1 = "trusted-firmware-a-rdv1.inc" MACHINE_TFA_REQUIRE:sbsa-ref = "trusted-firmware-a-sbsa-ref.inc" MACHINE_TFA_REQUIRE:sgi575 = "trusted-firmware-a-sgi575.inc" diff --git a/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-rdn2.inc b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-rdn2.inc new file mode 100644 index 000000000000..ef069c789055 --- /dev/null +++ b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-rdn2.inc @@ -0,0 +1,17 @@ +# RD N2 specific EDK2 configurations +EDK2_BUILD_RELEASE = "0" +EDK2_PLATFORM = "RdN2" +EDK2_PLATFORM_DSC = "Platform/ARM/SgiPkg/RdN2/RdN2.dsc" +EDK2_BIN_NAME = "BL33_AP_UEFI.fd" + +COMPATIBLE_MACHINE = "rdn2" + +SRC_URI_EDK2 = "gitsm://gitlab.arm.com/infra-solutions/reference-design/platsw/edk2.git;protocol=https" +SRC_URI_EDK2_PLATFORMS = "git://gitlab.arm.com/infra-solutions/reference-design/platsw/edk2-platforms.git;protocol=https" + +SRCBRANCH_edk2 = "refinfra" +SRCBRANCH_edk2_platforms = "refinfra" + +# Use the RD-INFRA-2024.12.20 tag +SRCREV_edk2 = "dd25905d63ec72d6e06804155fda1098d10da19e" +SRCREV_edk2-platforms = "f6ed3b0f92eeaf380638f77d8b5ace805facb301" diff --git a/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_%.bbappend b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_%.bbappend index 17a2d23c9cda..3bb1319d1545 100644 --- a/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_%.bbappend +++ b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_%.bbappend @@ -4,6 +4,7 @@ MACHINE_EDK2_REQUIRE ?= "" MACHINE_EDK2_REQUIRE:fvp-base = "edk2-firmware-fvp-base.inc" MACHINE_EDK2_REQUIRE:juno = "edk2-firmware-juno.inc" +MACHINE_EDK2_REQUIRE:rdn2 = "edk2-firmware-rdn2.inc" MACHINE_EDK2_REQUIRE:rdv1 = "edk2-firmware-rdv1.inc" MACHINE_EDK2_REQUIRE:sbsa-ref = "edk2-firmware-sbsa-ref.inc" MACHINE_EDK2_REQUIRE:sgi575 = "edk2-firmware-sgi575.inc" diff --git a/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc b/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc index a70de61d78e9..c537c352f78b 100644 --- a/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc +++ b/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc @@ -110,6 +110,14 @@ FILESEXTRAPATHS:prepend:juno := "${ARMBSPFILESPATHS}" COMPATIBLE_MACHINE:musca-b1 = "(^$)" COMPATIBLE_MACHINE:musca-s1 = "(^$)" +# +# RDN2 KMACHINE +# +COMPATIBLE_MACHINE:rdn2 = "rdn2" +KBUILD_DEFCONFIG:rdn2 = "defconfig" +KCONFIG_MODE:rdn2 = "--alldefconfig" +KCONF_BSP_AUDIT_LEVEL:rdn2 = "0" + # # RDV1 KMACHINE # diff --git a/meta-arm/recipes-devtools/fvp/fvp-rdn2.bb b/meta-arm/recipes-devtools/fvp/fvp-rdn2.bb new file mode 100644 index 000000000000..73848bfbc4cf --- /dev/null +++ b/meta-arm/recipes-devtools/fvp/fvp-rdn2.bb @@ -0,0 +1,20 @@ +require fvp-ecosystem.inc + +MODEL = "RD-N2" +MODEL_CODE = "FVP_RD_N2" +PV = "11.25.23" + +SRC_URI = "https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Neoverse-Infrastructure/${MODEL}/${MODEL_CODE}_${PV_URL}_${FVP_ARCH}.tgz;subdir=${BP};name=fvp-${HOST_ARCH}" +SRC_URI[fvp-aarch64.sha256sum] = "ae3a3e85ae307dffcc1221d0f30efbb6bc22b61fd508305b984f294407659bdd" +SRC_URI[fvp-x86_64.sha256sum] = "89c6d5a784d0b76168fb187e366de35f7de5aa7583a148b206b2aee2bc486da2" + +# The CSS used in the FVP homepage make it too difficult to query with the tooling currently in Yocto +UPSTREAM_VERSION_UNKNOWN = "1" + +LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=1a33828e132ba71861c11688dbb0bd16 \ + file://license_terms/third_party_licenses/third_party_licenses.txt;md5=b9005e55057311e41efe02ccfea8ea72" + +COMPATIBLE_HOST = "(aarch64|x86_64).*-linux" + +require remove-execstack.inc +REMOVE_EXECSTACKS:x86-64 = "${FVPDIR}/models/${FVP_ARCH_DIR}*/libarmctmodel.so" From patchwork Tue Mar 31 13:07:02 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Mason X-Patchwork-Id: 84909 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8449D109B468 for ; Tue, 31 Mar 2026 13:07:11 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.19562.1774962425146625421 for ; Tue, 31 Mar 2026 06:07:05 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@arm.com header.s=foss header.b=TXwrWULk; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: jon.mason@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D2D833603 for ; Tue, 31 Mar 2026 06:06:58 -0700 (PDT) Received: from H24V3P4C17.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 923813F7D8 for ; Tue, 31 Mar 2026 06:07:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1774962424; bh=tZOMAlT8It0i1bKZGe1To+mNgYrSJutx4KCsnq/x1R4=; h=From:To:Subject:Date:In-Reply-To:References:From; b=TXwrWULksXB+3+4MJDVwrpFx3FpDrnCGEjfdJOpp//w/5mMWWa2zTbKO9YP4CJFYZ kYUbnBhbzFkpGnrfdAvvUA7jPlf03Sktrn35DtJS7SYFiqRsCzqMM6elIR9q7HO+0r KXyQRVkVRvni657p3LQ7dWw+rfsPP04ztlYCUSnI= From: Jon Mason To: meta-arm@lists.yoctoproject.org Subject: [PATCH 6/6] arm-bsp/rdv2: add support Date: Tue, 31 Mar 2026 09:07:02 -0400 Message-ID: <20260331130702.56223-6-jon.mason@arm.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260331130702.56223-1-jon.mason@arm.com> References: <20260331130702.56223-1-jon.mason@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 31 Mar 2026 13:07:11 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/meta-arm/message/6994 Add support for Neoverse Reference Design version 2 Signed-off-by: Jon Mason --- .gitlab-ci.yml | 6 ++ ci/fvps.yml | 2 + ci/rdv2.yml | 14 +++++ meta-arm-bsp/conf/machine/rdv2.conf | 60 +++++++++++++++++++ .../runtime/cases/parselogs-ignores-rdv2.txt | 2 + .../scp-firmware/scp-firmware-rdv2.inc | 14 +++++ .../scp-firmware/scp-firmware_%.bbappend | 1 + .../trusted-firmware-a-rdv2.inc | 29 +++++++++ .../trusted-firmware-a_%.bbappend | 1 + .../recipes-bsp/uefi/edk2-firmware-rdv2.inc | 17 ++++++ .../recipes-bsp/uefi/edk2-firmware_%.bbappend | 1 + .../linux/linux-arm-platforms.inc | 8 +++ meta-arm/recipes-devtools/fvp/fvp-rdv2.bb | 20 +++++++ 13 files changed, 175 insertions(+) create mode 100644 ci/rdv2.yml create mode 100644 meta-arm-bsp/conf/machine/rdv2.conf create mode 100644 meta-arm-bsp/lib/oeqa/runtime/cases/parselogs-ignores-rdv2.txt create mode 100644 meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-rdv2.inc create mode 100644 meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-rdv2.inc create mode 100644 meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-rdv2.inc create mode 100644 meta-arm/recipes-devtools/fvp/fvp-rdv2.bb diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a07b82abb85d..09a5423f5141 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -321,6 +321,12 @@ rdv1: tags: - x86_64 +rdv2: + extends: .build + parallel: + matrix: + - TESTING: testimage + sbsa-ref: extends: .build parallel: diff --git a/ci/fvps.yml b/ci/fvps.yml index 185a4f3de846..5370402c9f17 100644 --- a/ci/fvps.yml +++ b/ci/fvps.yml @@ -34,6 +34,8 @@ target: # Infrastructure FVPs - fvp-rdv3-r1 - nativesdk-fvp-rdv3-r1 + - fvp-rdv2 + - nativesdk-fvp-rdv2 - fvp-rdn2 - nativesdk-fvp-rdn2 # These are x86 only... :( diff --git a/ci/rdv2.yml b/ci/rdv2.yml new file mode 100644 index 000000000000..7fa62b8309eb --- /dev/null +++ b/ci/rdv2.yml @@ -0,0 +1,14 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/siemens/kas/master/kas/schema-kas.json + +header: + version: 14 + includes: + - ci/base.yml + - ci/fvp.yml + +local_conf_header: + sshpregen: | + # Allow the use of the pregen keys as this is CI so safe + COMPATIBLE_MACHINE:pn-ssh-pregen-hostkeys:rdv2 = "rdv2" + +machine: rdv2 diff --git a/meta-arm-bsp/conf/machine/rdv2.conf b/meta-arm-bsp/conf/machine/rdv2.conf new file mode 100644 index 000000000000..2c306f26316c --- /dev/null +++ b/meta-arm-bsp/conf/machine/rdv2.conf @@ -0,0 +1,60 @@ +# Configuration for Arm Neoverse V2 Reference Design development board + +#@TYPE: Machine +#@NAME: RD V2 +#@DESCRIPTION: Machine configuration for RD V2 + +#FIXME - doesn't boot with armv9 tunes +#require conf/machine/include/arm/arch-armv9a.inc +require conf/machine/include/arm/arch-armv8a.inc + +EXTRA_IMAGEDEPENDS += "virtual/control-processor-firmware" +EXTRA_IMAGEDEPENDS += "trusted-firmware-a" + +KERNEL_IMAGETYPE ?= "Image" +PREFERRED_PROVIDER_virtual/kernel = "linux-yocto" +SERIAL_CONSOLES = "115200;ttyAMA2" +EXTRA_IMAGEDEPENDS += "edk2-firmware" + +EFI_PROVIDER ?= "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd-boot", "grub-efi", d)}" +MACHINE_FEATURES += "efi" + +IMAGE_FSTYPES:forcevariable = "cpio.gz wic" +IMAGE_NAME_SUFFIX = "" +IMAGE_CLASSES += "fvpboot" + +WKS_FILE ?= "efi-disk.wks.in" +WKS_FILE_DEPENDS:append = " ${EXTRA_IMAGEDEPENDS}" + +# testimage config +TEST_TARGET = "OEFVPTarget" +TEST_TARGET_IP = "127.0.0.1:2222" +DEFAULT_TEST_SUITES:append = " fvp_boot fvp_devices" +TEST_FVP_DEVICES ?= "watchdog networking" + +# FVP Config +FVP_PROVIDER ?= "fvp-rdv2-native" +FVP_EXE ?= "FVP_RD_V2" + +FVP_DATA ?= "css.scp.armcortexm7ct=scp-firmware/scp_ramfw.bin@0x0BD80000 \ + css.mcp.armcortexm7ct=scp-firmware/mcp_ramfw.bin@0x0BF80000" + +FVP_CONFIG[css.gic_distributor.ITS-device-bits] ?= "20" +FVP_CONFIG[css.mcp.ROMloader.fname] ?= "scp-firmware/mcp_romfw.bin" +FVP_CONFIG[css.scp.ROMloader.fname] ?= "scp-firmware/scp_romfw.bin" +FVP_CONFIG[css.trustedBootROMloader.fname] ?= "trusted-firmware-a/bl1.bin" +FVP_CONFIG[board.flashloader0.fname] ?= "trusted-firmware-a/fip.bin" + +FVP_CONFIG[board.dram_size] ?= "0x200000000" + +# Virtio configuration +FVP_CONFIG[board.virtio_net.enabled] ?= "1" +FVP_CONFIG[board.virtio_net.hostbridge.userNetworking] ?= "1" +FVP_CONFIG[board.virtio_net.hostbridge.userNetPorts] = "2222=22" +FVP_CONFIG[board.virtioblockdevice.image_path] ?= "${IMAGE_NAME}.wic" + +FVP_CONSOLES[default] = "terminal_ns_uart_ap" +FVP_TERMINALS[css.scp.terminal_uart_scp] ?= "SCP Console" +FVP_TERMINALS[css.mcp.terminal_uart_mcp] ?= "MCP Console" +FVP_TERMINALS[css.terminal_ns_uart_ap] ?= "NS Console" +FVP_TERMINALS[css.terminal_s_uart_ap] ?= "S Console" diff --git a/meta-arm-bsp/lib/oeqa/runtime/cases/parselogs-ignores-rdv2.txt b/meta-arm-bsp/lib/oeqa/runtime/cases/parselogs-ignores-rdv2.txt new file mode 100644 index 000000000000..7b55e8ea61f0 --- /dev/null +++ b/meta-arm-bsp/lib/oeqa/runtime/cases/parselogs-ignores-rdv2.txt @@ -0,0 +1,2 @@ +arch_timer: Failed to initialize memory-mapped timer. +PCI: OF: of_root node is NULL, cannot create PCI host bridge node diff --git a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-rdv2.inc b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-rdv2.inc new file mode 100644 index 000000000000..e36c7b60f407 --- /dev/null +++ b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware-rdv2.inc @@ -0,0 +1,14 @@ +# RD V2 specific SCP configurations and build instructions + +COMPATIBLE_MACHINE:rdv2 = "rdv2" +SCP_PRODUCT_GROUP = "neoverse-rd" +SCP_PLATFORM = "rdn2" + +EXTRA_OECMAKE += "-D SCP_PLATFORM_VARIANT=0" + +SCP_LOG_LEVEL = "DEBUG" + +SRC_URI_SCP_FIRMWARE = "gitsm://gitlab.arm.com/infra-solutions/reference-design/platsw/scp-firmware.git;protocol=https" +SRCBRANCH = "refinfra-bmc" +# Use the RD-INFRA-2024.12.20 tag +SRCREV = "62bc3f079d1ae5780df1459d4c66de2dbee54359" diff --git a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_%.bbappend b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_%.bbappend index 222bee5e52e1..011090e72351 100644 --- a/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_%.bbappend +++ b/meta-arm-bsp/recipes-bsp/scp-firmware/scp-firmware_%.bbappend @@ -5,6 +5,7 @@ MACHINE_SCP_REQUIRE ?= "" MACHINE_SCP_REQUIRE:juno = "scp-firmware-juno.inc" MACHINE_SCP_REQUIRE:rdn2 = "scp-firmware-rdn2.inc" MACHINE_SCP_REQUIRE:rdv1 = "scp-firmware-rdv1.inc" +MACHINE_SCP_REQUIRE:rdv2 = "scp-firmware-rdv2.inc" MACHINE_SCP_REQUIRE:sgi575 = "scp-firmware-sgi575.inc" require ${MACHINE_SCP_REQUIRE} diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-rdv2.inc b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-rdv2.inc new file mode 100644 index 000000000000..796011576e1d --- /dev/null +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-rdv2.inc @@ -0,0 +1,29 @@ +# RD V2 specific TFA support + +COMPATIBLE_MACHINE = "rdv2" +TFA_PLATFORM = "rdn2" +TFA_BUILD_TARGET = "all fip" +TFA_INSTALL_TARGET = "bl1 fip" +TFA_DEBUG = "1" +TFA_MBEDTLS = "1" +TFA_UBOOT = "0" +TFA_UEFI = "1" + +EXTRA_OEMAKE += "TRUSTED_BOARD_BOOT=1 GENERATE_COT=1 ARM_ROTPK_LOCATION=devel_rsa \ + ROT_KEY=plat/arm/board/common/rotpk/arm_rotprivk_rsa.pem" + +# If GENERATE_COT is set, then tf-a will try to use local poetry install +# to run the python cot-dt2c command. Disable the local poetry and use +# the provided cot-dt2c. +EXTRA_OEMAKE += "POETRY=''" +DEPENDS += "cot-dt2c-native" + +SRC_URI_TRUSTED_FIRMWARE_A = "git://gitlab.arm.com/infra-solutions/reference-design/platsw/trusted-firmware-a.git;protocol=https" +SRCBRANCH = "refinfra" +# SHA not in any branches. so use RD-INFRA-2025.07.03 +SRCREV_tfa = "a4b376b128bb5b91771002f7808566f53c8d9f3a" + +# FIXME - hacking around using the 2.14 based recipe +SRC_URI:remove = "file://0001-feat-build-add-HOSTLDFLAGS-to-pass-flags-to-host-lin.patch" +LIC_FILES_CHKSUM:remove = "file://docs/license.rst;md5=6ed7bace7b0bc63021c6eba7b524039e" +LIC_FILES_CHKSUM += "file://docs/license.rst;md5=1118e32884721c0be33267bd7ae11130" diff --git a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend index 9a5d4aa54fd1..6f7a6e857cfd 100644 --- a/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend +++ b/meta-arm-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend @@ -6,6 +6,7 @@ MACHINE_TFA_REQUIRE:fvp-base = "trusted-firmware-a-fvp-base.inc" MACHINE_TFA_REQUIRE:juno = "trusted-firmware-a-juno.inc" MACHINE_TFA_REQUIRE:rdn2 = "trusted-firmware-a-rdn2.inc" MACHINE_TFA_REQUIRE:rdv1 = "trusted-firmware-a-rdv1.inc" +MACHINE_TFA_REQUIRE:rdv2 = "trusted-firmware-a-rdv2.inc" MACHINE_TFA_REQUIRE:sbsa-ref = "trusted-firmware-a-sbsa-ref.inc" MACHINE_TFA_REQUIRE:sgi575 = "trusted-firmware-a-sgi575.inc" diff --git a/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-rdv2.inc b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-rdv2.inc new file mode 100644 index 000000000000..c2fd6fecfd32 --- /dev/null +++ b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware-rdv2.inc @@ -0,0 +1,17 @@ +# RD V2 specific EDK2 configurations +EDK2_BUILD_RELEASE = "0" +EDK2_PLATFORM = "RdN2" +EDK2_PLATFORM_DSC = "Platform/ARM/SgiPkg/RdN2/RdN2.dsc" +EDK2_BIN_NAME = "BL33_AP_UEFI.fd" + +COMPATIBLE_MACHINE = "rdv2" + +SRC_URI_EDK2 = "gitsm://gitlab.arm.com/infra-solutions/reference-design/platsw/edk2.git;protocol=https" +SRC_URI_EDK2_PLATFORMS = "git://gitlab.arm.com/infra-solutions/reference-design/platsw/edk2-platforms.git;protocol=https" + +SRCBRANCH_edk2 = "refinfra" +SRCBRANCH_edk2_platforms = "refinfra" + +# Use the RD-INFRA-2024.12.20 tag +SRCREV_edk2 = "dd25905d63ec72d6e06804155fda1098d10da19e" +SRCREV_edk2-platforms = "f6ed3b0f92eeaf380638f77d8b5ace805facb301" diff --git a/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_%.bbappend b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_%.bbappend index 3bb1319d1545..7dd87303c5ec 100644 --- a/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_%.bbappend +++ b/meta-arm-bsp/recipes-bsp/uefi/edk2-firmware_%.bbappend @@ -6,6 +6,7 @@ MACHINE_EDK2_REQUIRE:fvp-base = "edk2-firmware-fvp-base.inc" MACHINE_EDK2_REQUIRE:juno = "edk2-firmware-juno.inc" MACHINE_EDK2_REQUIRE:rdn2 = "edk2-firmware-rdn2.inc" MACHINE_EDK2_REQUIRE:rdv1 = "edk2-firmware-rdv1.inc" +MACHINE_EDK2_REQUIRE:rdv2 = "edk2-firmware-rdv2.inc" MACHINE_EDK2_REQUIRE:sbsa-ref = "edk2-firmware-sbsa-ref.inc" MACHINE_EDK2_REQUIRE:sgi575 = "edk2-firmware-sgi575.inc" diff --git a/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc b/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc index c537c352f78b..bc1ea28cb70c 100644 --- a/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc +++ b/meta-arm-bsp/recipes-kernel/linux/linux-arm-platforms.inc @@ -126,6 +126,14 @@ KBUILD_DEFCONFIG:rdv1 = "defconfig" KCONFIG_MODE:rdv1 = "--alldefconfig" KCONF_BSP_AUDIT_LEVEL:rdv1 = "0" +# +# RDV2 KMACHINE +# +COMPATIBLE_MACHINE:rdv2 = "rdv2" +KBUILD_DEFCONFIG:rdv2 = "defconfig" +KCONFIG_MODE:rdv2 = "--alldefconfig" +KCONF_BSP_AUDIT_LEVEL:rdv2 = "0" + # # SGI575 KMACHINE # diff --git a/meta-arm/recipes-devtools/fvp/fvp-rdv2.bb b/meta-arm/recipes-devtools/fvp/fvp-rdv2.bb new file mode 100644 index 000000000000..3da7075abcd0 --- /dev/null +++ b/meta-arm/recipes-devtools/fvp/fvp-rdv2.bb @@ -0,0 +1,20 @@ +require fvp-ecosystem.inc + +MODEL = "RD-V2" +MODEL_CODE = "FVP_RD_V2" +PV = "11.24.12" + +SRC_URI = "https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Neoverse-Infrastructure/${MODEL}/${MODEL_CODE}_${PV_URL}_${FVP_ARCH}.tgz;subdir=${BP};name=fvp-${HOST_ARCH}" +SRC_URI[fvp-aarch64.sha256sum] = "fa43cc506e3799afb73c646f93c2ea509dc1081c0e993c4a7bf83b082b896e5f" +SRC_URI[fvp-x86_64.sha256sum] = "74199d4766e96ed86b071bf343a0a60d876accef83be41be3dbb9557b4455635" + +# The CSS used in the FVP homepage make it too difficult to query with the tooling currently in Yocto +UPSTREAM_VERSION_UNKNOWN = "1" + +LIC_FILES_CHKSUM = "file://license_terms/license_agreement.txt;md5=1a33828e132ba71861c11688dbb0bd16 \ + file://license_terms/third_party_licenses/third_party_licenses.txt;md5=b9005e55057311e41efe02ccfea8ea72" + +COMPATIBLE_HOST = "(aarch64|x86_64).*-linux" + +require remove-execstack.inc +REMOVE_EXECSTACKS:x86-64 = "${FVPDIR}/models/${FVP_ARCH_DIR}*/libarmctmodel.so"