diff --git a/SystemReady-band/README.md b/SystemReady-band/README.md index 071ca825..333221dc 100644 --- a/SystemReady-band/README.md +++ b/SystemReady-band/README.md @@ -42,7 +42,7 @@ The SystemReady band compliance and testing requirements are specified in the [A | [Base Boot Requirements (BBR)](https://github.com/ARM-software/bbr-acs) | 00be42e82452cdad0b862728082568f3d7d2a1c3 | BBR v2.1 | | [Base Boot Security Requirements (BBSR)](https://github.com/ARM-software/bbr-acs) | 00be42e82452cdad0b862728082568f3d7d2a1c3 | BBSR v1.3 | | [UEFI Self Certification Tests (UEFI-SCT)](https://github.com/tianocore/edk2-test) | ba6c13f4e4fa1bf92ed04f5cb969d6c8a76f8605 | | -| [Firmware Test Suite (FWTS)](http://kernel.ubuntu.com/git/hwe/fwts.git) | v25.01.00 | | +| [Firmware Test Suite (FWTS)](http://kernel.ubuntu.com/git/hwe/fwts.git) | v26.01.00 | | | [Server Base Manageability Requirements (SBMR)](https://github.com/ARM-software/sbmr-acs) | 27803824d966df48f34ce5290599f616bc0de8e9 | SBMR v2.0 | - **Image Component details** @@ -319,4 +319,4 @@ SystemReady ACS is distributed under Apache v2.0 License. -------------- -*Copyright (c) 2022-2025, Arm Limited and Contributors. All rights reserved.* +*Copyright (c) 2022-2026, Arm Limited and Contributors. All rights reserved.* diff --git a/SystemReady-band/build-scripts/build-buildroot.sh b/SystemReady-band/build-scripts/build-buildroot.sh index 03bd10cb..8f8f09a4 100755 --- a/SystemReady-band/build-scripts/build-buildroot.sh +++ b/SystemReady-band/build-scripts/build-buildroot.sh @@ -93,7 +93,7 @@ do_build () make O=$BUILDROOT_OUT_DIR -j $PARALLELISM rm $BUILDROOT_DEFCONFIG popd - pushd $TOP_DIR/$BUILDROOT_PATH/out/arm64/build/fwts-25.09.00/smccc_test + pushd $TOP_DIR/$BUILDROOT_PATH/out/arm64/build/fwts-${FWTS_VERSION}/smccc_test make -C "$KDIR" M="$PWD" CROSS_COMPILE="$CROSS_COMPILE" modules cp smccc_test.ko $TOP_DIR/$BUILDROOT_PATH/root_fs_overlay/lib/modules/ popd diff --git a/SystemReady-band/build-scripts/get_source.sh b/SystemReady-band/build-scripts/get_source.sh index 7642181a..12e2c243 100755 --- a/SystemReady-band/build-scripts/get_source.sh +++ b/SystemReady-band/build-scripts/get_source.sh @@ -190,7 +190,7 @@ get_buildroot_src() pushd $TOP_DIR/buildroot/package/fwts echo "Applying Buildroot FWTS patch..." # patch buildroot config - git apply $TOP_DIR/../common/patches/build_fwts_version_25.09.00.patch + git apply $TOP_DIR/../common/patches/build_fwts_version_${FWTS_VERSION}.patch popd pushd $TOP_DIR/buildroot echo "Applying Buildroot SBMR-ACS patch..." diff --git a/SystemReady-devicetree-band/README.md b/SystemReady-devicetree-band/README.md index 6202c5ee..657f00ea 100644 --- a/SystemReady-devicetree-band/README.md +++ b/SystemReady-devicetree-band/README.md @@ -43,7 +43,7 @@ The SystemReady-devicetree band compliance and testing requirements are specifie | [Base Boot Requirements (BBR)](https://github.com/ARM-software/bbr-acs) | v25.12_EBBR_2.2.2 | EBBR v2.2, BBR v2.1 | | [Base Boot Security Requirements (BBSR)](https://github.com/ARM-software/bbr-acs) | v25.12_BBSR_1.3.1 | BBSR v1.3 | | [UEFI Self Certification Tests (UEFI-SCT)](https://github.com/tianocore/edk2-test) | edk2-test-stable202509 | | -| [Firmware Test Suite (FWTS)](http://kernel.ubuntu.com/git/hwe/fwts.git) | v25.09.00 | | +| [Firmware Test Suite (FWTS)](http://kernel.ubuntu.com/git/hwe/fwts.git) | v26.01.00 | | | [Platform Fault Detection Interface (PFDI)](https://github.com/ARM-software/sysarch-acs) | 13248b722e9ca63522a475771e085b0a8d6d1e9d | PFDI v1.0-BETA | - Component details @@ -315,4 +315,4 @@ System Ready ACS is distributed under Apache v2.0 License. -------------- -*Copyright (c) 2022-2025, Arm Limited and Contributors. All rights reserved.* +*Copyright (c) 2022-2026, Arm Limited and Contributors. All rights reserved.* diff --git a/SystemReady-devicetree-band/Yocto/meta-woden/conf/distro/woden.conf b/SystemReady-devicetree-band/Yocto/meta-woden/conf/distro/woden.conf index 0cf3e957..b4e27e76 100644 --- a/SystemReady-devicetree-band/Yocto/meta-woden/conf/distro/woden.conf +++ b/SystemReady-devicetree-band/Yocto/meta-woden/conf/distro/woden.conf @@ -109,10 +109,10 @@ EFI_PROVIDER = "grub-efi" # Suffixing the build directory with the libc is pointless TCLIBCAPPEND = "" PREFERRED_VERSION_linux-yocto = "6.16%" -PREFERRED_VERSION_fwts = "25.09.00" +PREFERRED_VERSION_fwts = "26.01.00" PREFERRED_VERSION_python3-dtschema = "2025.2" PREFERRED_VERSION_grub = "2.06" PREFERRED_VERSION_grub-efi = "2.06" PREFERRED_VERSION_grub-native = "2.06" PREFERRED_VERSION_python3-jsonschema = "4.17.3" -PREFERRED_VERSION_python3-dtschema-native = "2025.2" \ No newline at end of file +PREFERRED_VERSION_python3-dtschema-native = "2025.2" diff --git a/SystemReady-devicetree-band/Yocto/meta-woden/recipes-acs/fwts/fwts_26.01.00.bb b/SystemReady-devicetree-band/Yocto/meta-woden/recipes-acs/fwts/fwts_26.01.00.bb new file mode 100644 index 00000000..47263908 --- /dev/null +++ b/SystemReady-devicetree-band/Yocto/meta-woden/recipes-acs/fwts/fwts_26.01.00.bb @@ -0,0 +1,63 @@ +SUMMARY = "Firmware testsuite" +DESCRIPTION = "The tool fwts comprises of over fifty tests that are designed to exercise and test different aspects of a machine's firmware. Many of these tests need super user access to read BIOS data and ACPI tables, so the tool requires running with super user privileges (e.g. with sudo)." +HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts" + +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=79533a427253d19fae2d2c094ebcf28a" + +S = "${WORKDIR}/${BP}/fwts-${PV}" + +SRC_URI = "https://fwts.ubuntu.com/release/fwts-V${PV}.tar.gz;subdir=${BP} \ + file://0001-Add-correct-printf-qualifier-for-off_t.patch \ + file://0004-Define-__SWORD_TYPE-if-not-defined-by-libc.patch \ + file://0005-Undefine-PAGE_SIZE.patch \ + file://0001-uefi-esrt-Added-esrt_test2-for-EBBR.patch \ + " + +SRC_URI[sha256sum] = "25565fd007b378bf29581eb0bc36a03a2f0c49326bb6084f980fee9c5921f289" + +COMPATIBLE_HOST = "(i.86|x86_64|aarch64|powerpc64).*-linux" + +DEPENDS = "libpcre glib-2.0 dtc bison-native libbsd virtual/kernel" +DEPENDS:append:libc-musl = " libexecinfo" + +inherit autotools bash-completion pkgconfig module-base + +# Map aarch64 → arm64; otherwise fall back to TARGET_ARCH +KERNEL_ARCH ?= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'arm64', d.getVar('TARGET_ARCH'), d)}" + +LDFLAGS:append:libc-musl = " -lexecinfo" + +# We end up linker barfing with undefined symbols on ppc64 but not on other arches +# surprisingly +ASNEEDED:powerpc64le = "" + +SMCCC_SRC_DIR ?= "${S}/smccc_test" +MODULE_NAME ?= "smccc_test" + +do_compile:append() { + if [ -d "${SMCCC_SRC_DIR}" ]; then + export KERNEL_SRC=${STAGING_KERNEL_DIR} + bbnote "Building smccc_test kernel module in ${SMCCC_SRC_DIR}" + oe_runmake -C "${STAGING_KERNEL_DIR}" \ + M="${SMCCC_SRC_DIR}" \ + ARCH="${KERNEL_ARCH}" \ + CROSS_COMPILE="${TARGET_PREFIX}" \ + modules + else + bbwarn "SMCCC source directory not found: ${SMCCC_SRC_DIR}" + fi +} + +do_install:append() { + install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME} + install -m 0644 ${SMCCC_SRC_DIR}/${MODULE_NAME}.ko \ + ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}/${MODULE_NAME}.ko +} + +FILES:${PN} += "${base_libdir}/modules/${KERNEL_VERSION}/kernel/${MODULE_NAME}/${MODULE_NAME}.ko" +FILES:${PN} += "${libdir}/fwts/lib*${SOLIBS}" +FILES:${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la" +FILES:${PN}-staticdev += "${libdir}/fwts/lib*a" + +RDEPENDS:${PN} += "dtc" diff --git a/common/config/systemready-band-source.cfg b/common/config/systemready-band-source.cfg index dea44233..63ed2b03 100644 --- a/common/config/systemready-band-source.cfg +++ b/common/config/systemready-band-source.cfg @@ -49,8 +49,7 @@ EDK2_SRC_VERSION=edk2-stable202511 SCT_SRC_TAG=91e998d2d77b26cccd1f4bf99938ff55c1606e8a # FWTS build tag/commit -# The flag is not used for DT Yocto build, but is kept as reference to know which latest version is used -FWTS_VERSION=25.09.00 +FWTS_VERSION=26.01.00 # Arm BSA ACS build tag/commit # UEFI SRC: https://github.com/ARM-software/sysarch-acs diff --git a/common/config/systemready-dt-band-source.cfg b/common/config/systemready-dt-band-source.cfg index 702efb2a..85909338 100644 --- a/common/config/systemready-dt-band-source.cfg +++ b/common/config/systemready-dt-band-source.cfg @@ -47,9 +47,9 @@ EDK2_SRC_TAG=edk2-stable202511 # SRC: https://github.com/tianocore/edk2-test SCT_SRC_TAG=91e998d2d77b26cccd1f4bf99938ff55c1606e8a -#FWTS build tag/commit +# FWTS build tag/commit # The flag is not used for SR build, but is kept as reference to know which latest version is used -FWTS_VERSION=25.09.00 +FWTS_VERSION=26.01.00 # Arm BSA ACS build tag/commit # UEFI SRC: https://github.com/ARM-software/sysarch-acs diff --git a/common/patches/build_fwts_version_26.01.00.patch b/common/patches/build_fwts_version_26.01.00.patch new file mode 100644 index 00000000..687b15bc --- /dev/null +++ b/common/patches/build_fwts_version_26.01.00.patch @@ -0,0 +1,165 @@ +diff --git a/package/fwts/0001-build-do-not-use-Werror.patch b/package/fwts/0001-build-do-not-use-Werror.patch +deleted file mode 100644 +index 715c4f63a5..0000000000 +--- a/package/fwts/0001-build-do-not-use-Werror.patch ++++ /dev/null +@@ -1,79 +0,0 @@ +-From e481c2f990ffa71f205d4b9daf0823e71269a7f3 Mon Sep 17 00:00:00 2001 +-From: Erico Nunes +-Date: Fri, 12 Aug 2016 23:11:56 +0200 +-Subject: [PATCH] fwts: do not use -Werror +-MIME-Version: 1.0 +-Content-Type: text/plain; charset=UTF-8 +-Content-Transfer-Encoding: 8bit +- +-Warnings come and go with various compiler versions, so using -Werror is +-prone to cause build failures with various compiler versions, especially +-newer versions that introduce new warnings. +- +-Remove use of -Werror. +- +-Signed-off-by: Erico Nunes +-[Fabrice: updated for 20.08.00] +-Signed-off-by: Fabrice Fontaine +-[Vincent: rebased onto V21.05.00] +-Signed-off-by: Vincent Stehlé +---- +- configure.ac | 2 +- +- src/Makefile.am | 2 +- +- src/lib/src/Makefile.am | 2 +- +- src/utilities/Makefile.am | 2 +- +- 4 files changed, 4 insertions(+), 4 deletions(-) +- +-diff --git a/configure.ac b/configure.ac +-index f40c3678..0ff5025b 100644 +---- a/configure.ac +-+++ b/configure.ac +-@@ -1,5 +1,5 @@ +- AC_INIT([fwts],[0.1],[fwts-devel@lists.ubuntu.com]) +-- AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects]) +-+ AM_INIT_AUTOMAKE([-Wall foreign subdir-objects]) +- m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) +- AC_CANONICAL_HOST +- AC_CONFIG_MACRO_DIR([m4]) +-diff --git a/src/Makefile.am b/src/Makefile.am +-index cdabb386..7c2e5730 100644 +---- a/src/Makefile.am +-+++ b/src/Makefile.am +-@@ -12,7 +12,7 @@ AM_CPPFLAGS = \ +- -I$(top_srcdir)/src/acpica/source/compiler \ +- -I$(top_srcdir)/efi_runtime \ +- -pthread `pkg-config --cflags glib-2.0 gio-2.0` \ +-- -Wall -Werror -Wextra \ +-+ -Wall -Wextra \ +- -Wno-address-of-packed-member \ +- -Wfloat-equal -Wmissing-declarations \ +- -Wno-long-long -Wredundant-decls -Wshadow \ +-diff --git a/src/lib/src/Makefile.am b/src/lib/src/Makefile.am +-index 55c52b41..50efa97a 100644 +---- a/src/lib/src/Makefile.am +-+++ b/src/lib/src/Makefile.am +-@@ -25,7 +25,7 @@ AM_CPPFLAGS = \ +- `pkg-config --silence-errors --cflags json-c` \ +- `pkg-config --cflags glib-2.0 gio-2.0` \ +- -DDATAROOTDIR=\"$(datarootdir)\" \ +-- -Wall -Werror -Wextra \ +-+ -Wall -Wextra \ +- -Wno-address-of-packed-member +- +- pkglib_LTLIBRARIES = libfwts.la +-diff --git a/src/utilities/Makefile.am b/src/utilities/Makefile.am +-index 1fc0fc02..53614e33 100644 +---- a/src/utilities/Makefile.am +-+++ b/src/utilities/Makefile.am +-@@ -16,7 +16,7 @@ +- # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +- # +- +--AM_CPPFLAGS = -Wall -Werror -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \ +-+AM_CPPFLAGS = -Wall -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \ +- -I$(srcdir)/../lib/include +- +- bin_PROGRAMS = kernelscan +--- +-2.30.2 +- +diff --git a/package/fwts/Config.in b/package/fwts/Config.in +index ac9a2e3909..03f16fa75b 100644 +--- a/package/fwts/Config.in ++++ b/package/fwts/Config.in +@@ -1,6 +1,14 @@ ++config BR2_PACKAGE_FWTS_ARCH_SUPPORTS ++ bool ++ default y if BR2_aarch64 ++ default y if BR2_arm ++ default y if BR2_i386 ++ default y if BR2_RISCV_64 ++ default y if BR2_x86_64 ++ + config BR2_PACKAGE_FWTS + bool "fwts" +- depends on BR2_i386 || BR2_x86_64 || BR2_aarch64 ++ depends on BR2_PACKAGE_FWTS_ARCH_SUPPORTS + depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS # libbsd + depends on BR2_USE_MMU # libglib2 + depends on BR2_USE_WCHAR # libglib2, libbsd +@@ -33,8 +41,8 @@ comment "efi_runtime module needs a Linux kernel to be built" + endif + + comment "fwts needs a glibc toolchain w/ wchar, threads, dynamic library" +- depends on BR2_i386 || BR2_x86_64 || BR2_aarch64 ++ depends on BR2_PACKAGE_FWTS_ARCH_SUPPORTS + depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS # libbsd + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ +- !BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS ++ !BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS +\ No newline at end of file +diff --git a/package/fwts/fwts.hash b/package/fwts/fwts.hash +index 8634980e03..e11ac40bd7 100644 +--- a/package/fwts/fwts.hash ++++ b/package/fwts/fwts.hash +@@ -1,5 +1,5 @@ +-# Hash from: http://fwts.ubuntu.com/release/SHA256SUMS +-sha256 17d1f0b9639e0f9b092ed8233be2d63d6c44ea8d2a76be0fb5902cc867961374 fwts-V21.11.00.tar.gz ++# Hash from: https://fwts.ubuntu.com/release/SHA256SUMS ++sha256 25565fd007b378bf29581eb0bc36a03a2f0c49326bb6084f980fee9c5921f289 fwts-V26.01.00.tar.gz + + # Hash for license file +-sha256 fbbea748555635dd8c7e6e2f99cddd778f5ee3f9e3510775183bf9799076e5e5 debian/copyright ++sha256 1ec8cffc8cf213afc5d854027d746c80e638a13b1688f2a352221490c681c54f debian/copyright +\ No newline at end of file +diff --git a/package/fwts/fwts.mk b/package/fwts/fwts.mk +index 6634cdc40e..38c0848ee0 100644 +--- a/package/fwts/fwts.mk ++++ b/package/fwts/fwts.mk +@@ -4,10 +4,9 @@ + # + ################################################################################ + +-FWTS_VERSION = 21.11.00 ++FWTS_VERSION = 26.01.00 + FWTS_SOURCE = fwts-V$(FWTS_VERSION).tar.gz +-FWTS_SITE = http://fwts.ubuntu.com/release +-FWTS_STRIP_COMPONENTS = 0 ++FWTS_SITE = https://fwts.ubuntu.com/release + FWTS_LICENSE = GPL-2.0, LGPL-2.1, Custom + FWTS_LICENSE_FILES = debian/copyright + FWTS_AUTORECONF = YES +@@ -15,9 +14,13 @@ FWTS_DEPENDENCIES = host-bison host-flex host-pkgconf libglib2 libbsd \ + $(if $(BR2_PACKAGE_BASH_COMPLETION),bash-completion) \ + $(if $(BR2_PACKAGE_DTC),dtc) + +-ifdef BR2_PACKAGE_FWTS_EFI_RUNTIME_MODULE ++ifeq ($(BR2_OPTIMIZE_0),y) ++FWTS_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -O1" ++endif ++ ++ifeq ($(BR2_PACKAGE_FWTS_EFI_RUNTIME_MODULE),y) + FWTS_MODULE_SUBDIRS = efi_runtime + $(eval $(kernel-module)) + endif + +-$(eval $(autotools-package)) ++$(eval $(autotools-package)) +