new file mode 100644
@@ -0,0 +1,31 @@
+From eaec352436ee0830f2c34088931f707c0ae73d2a Mon Sep 17 00:00:00 2001
+From: Jon Mason <jon.mason@arm.com>
+Date: Sun, 8 Jun 2025 10:33:27 -0400
+Subject: [PATCH] Bug fix for GCC15 incompatible pointer type errors
+
+GCC15 is identifying isr in RegisterInterruptSource as having an
+incompatible pointer type due to the function definition not matching
+the declared one in in edk2 firmware
+EmbeddedPkg/Include/Protocol/HardwareInterrupt.h
+
+Change the local one to match this one and everyone is happy.
+
+Signed-off-by: Jon Mason <jon.mason@arm.com>
+Upstream-Status: Pending [https://github.com/ARM-software/bsa-acs/issues/504]
+---
+ pal/uefi_acpi/common/src/pal_gic.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pal/uefi_acpi/common/src/pal_gic.c b/pal/uefi_acpi/common/src/pal_gic.c
+index 755d2bce62ee..e52899eb613e 100644
+--- a/pal/uefi_acpi/common/src/pal_gic.c
++++ b/pal/uefi_acpi/common/src/pal_gic.c
+@@ -198,7 +198,7 @@ pal_gic_create_info_table(GIC_INFO_TABLE *GicTable)
+ @return Status of the operation
+ **/
+ UINT32
+-pal_gic_install_isr(UINT32 int_id, VOID (*isr)())
++pal_gic_install_isr(UINT32 int_id, VOID (*isr)(long long unsigned int, EFI_SYSTEM_CONTEXT))
+ {
+
+ EFI_STATUS Status;
@@ -1,4 +1,4 @@
-From 17df0e93949097c18c65567bdf8c7ad2478f63b4 Mon Sep 17 00:00:00 2001
+From 148120a41c5ef3abe63d9e2e42c6b5c4e425aa5a Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@arm.com>
Date: Thu, 16 Feb 2023 21:53:25 -0500
Subject: [PATCH] Patch in the paths to the SBSA test suite
@@ -10,15 +10,15 @@ Signed-off-by: Ross Burton <ross.burton@arm.com>
1 file changed, 3 insertions(+)
diff --git a/ShellPkg/ShellPkg.dsc b/ShellPkg/ShellPkg.dsc
-index 7e985f8280a7..052510236cae 100644
+index 7e985f8280a7..1d23aefa120e 100644
--- a/ShellPkg/ShellPkg.dsc
+++ b/ShellPkg/ShellPkg.dsc
@@ -23,6 +23,8 @@
!include MdePkg/MdeLibs.dsc.inc
[LibraryClasses.common]
-+ SbsaValLib|ShellPkg/Application/sbsa-acs/val/SbsaValLib.inf
-+ SbsaPalLib|ShellPkg/Application/sbsa-acs/platform/pal_uefi/SbsaPalLib.inf
++ SbsaValLib|ShellPkg/Application/bsa-acs/val/SbsaValLib.inf
++ SbsaPalLib|ShellPkg/Application/bsa-acs/pal/uefi_acpi/SbsaPalLib.inf
UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
similarity index 67%
rename from meta-arm/recipes-bsp/uefi/sbsa-acs_7.1.4.bb
rename to meta-arm/recipes-bsp/uefi/sbsa-acs_7.2.2.bb
@@ -6,12 +6,18 @@ LIC_FILES_CHKSUM += "file://ShellPkg/Application/sbsa-acs/LICENSE.md;md5=2a94494
SRC_URI += "git://github.com/ARM-software/sbsa-acs;destsuffix=edk2/ShellPkg/Application/sbsa-acs;protocol=https;branch=master;name=acs \
git://github.com/tianocore/edk2-libc;destsuffix=edk2/edk2-libc;protocol=https;branch=master;name=libc \
+ git://github.com/ARM-software/bsa-acs.git;destsuffix=edk2/ShellPkg/Application/bsa-acs;protocol=https;branch=main;name=bsa \
file://0001-Patch-in-the-paths-to-the-SBSA-test-suite.patch \
file://0002-Enforce-using-good-old-BFD-linker.patch \
+ file://0001-Bug-fix-for-GCC15-incompatible-pointer-type-errors.patch;patchdir=ShellPkg/Application/bsa-acs \
"
-SRCREV_acs = "be169f0008d86341e1e48cb70d524bd1518c3acc"
-SRCREV_libc = "4667a82f0d873221f8b25ea701ce57a29270e4cb"
+# v25.03_REL7.2.2 tag
+SRCREV_acs = "642bc12bbc3b526f3931eca580002430c162f2a2"
+# v25.03_REL1.1.0 tag
+SRCREV_bsa = "db423614002621e1f0a9440955e3503623ff64f3"
+# v3.6.8.1 tag
+SRCREV_libc = "caea801aac338aa60f85a7c10148ca0b4440fff3"
UPSTREAM_CHECK_URI = "https://github.com/ARM-software/sbsa-acs/releases"
@@ -23,6 +29,7 @@ EDK2_PLATFORM = "Shell"
EDK2_PLATFORM_DSC = "ShellPkg/ShellPkg.dsc"
EDK2_EXTRA_BUILD = "--module ShellPkg/Application/sbsa-acs/uefi_app/SbsaAvs.inf"
+export BSA_PATH = "${S}/ShellPkg/Application/bsa-acs"
PACKAGES_PATH .= ":${S}/edk2-libc"
do_install() {
Update to the latest version of SBSA ACS. Since 7.1.4, BSA things were put in a separate git repo and it now has a dependency on that. Also, address an issue with BSA, GCC15, and incompatible pointer type errors. Signed-off-by: Jon Mason <jon.mason@arm.com> --- ...C15-incompatible-pointer-type-errors.patch | 31 +++++++++++++++++++ ...-in-the-paths-to-the-SBSA-test-suite.patch | 8 ++--- .../{sbsa-acs_7.1.4.bb => sbsa-acs_7.2.2.bb} | 11 +++++-- 3 files changed, 44 insertions(+), 6 deletions(-) create mode 100644 meta-arm/recipes-bsp/uefi/sbsa-acs/0001-Bug-fix-for-GCC15-incompatible-pointer-type-errors.patch rename meta-arm/recipes-bsp/uefi/{sbsa-acs_7.1.4.bb => sbsa-acs_7.2.2.bb} (67%)