* [OE-core][PATCH 1/2] opensbi: patch Makefile for zicsr, zifencei extension check @ 2026-09-10 15:08 Trevor Gamblin 2026-09-10 15:08 ` [OE-core][PATCH 2/2] arch-riscv.inc: allow zicsr, zifencei in TUNE_RISCV_PKGARCH Trevor Gamblin 0 siblings, 1 reply; 2+ messages in thread From: Trevor Gamblin @ 2026-09-10 15:08 UTC (permalink / raw) To: openembedded-core; +Cc: mark.hatle Backport a patch from upstream to fix the way OpenSBI's Makefile checks for zicsr and zifencei extension support. The use of grep incorrectly matches against build paths generated by Yocto, so the patch directly checks the exit status from the assignment instead. [YOCTO #15897] Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> --- ...rep-when-setting-CC_SUPPORT_ZICSR_ZI.patch | 33 +++++++++++++++++++ meta/recipes-bsp/opensbi/opensbi_1.9.bb | 5 ++- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-bsp/opensbi/files/0001-Makefile-don-t-grep-when-setting-CC_SUPPORT_ZICSR_ZI.patch diff --git a/meta/recipes-bsp/opensbi/files/0001-Makefile-don-t-grep-when-setting-CC_SUPPORT_ZICSR_ZI.patch b/meta/recipes-bsp/opensbi/files/0001-Makefile-don-t-grep-when-setting-CC_SUPPORT_ZICSR_ZI.patch new file mode 100644 index 0000000000..db93d69e7c --- /dev/null +++ b/meta/recipes-bsp/opensbi/files/0001-Makefile-don-t-grep-when-setting-CC_SUPPORT_ZICSR_ZI.patch @@ -0,0 +1,33 @@ +From b4ea30a4e46fa6fe4293f86c601394052e5e2b43 Mon Sep 17 00:00:00 2001 +From: Trevor Gamblin <tgamblin@baylibre.com> +Date: Wed, 9 Sep 2026 14:33:24 -0400 +Subject: [PATCH 1/3] Makefile: don't grep when setting + CC_SUPPORT_ZICSR_ZIFENCEI + +Upstream-Status: Submitted [https://lists.infradead.org/pipermail/opensbi/2026-September/010606.html] + +Check exit status from the compiler/linker check directly (similar to +OPENSBI_LD_PIE), rather than using grep to search for a pattern. This +avoids potential unrelated matches in the command. + +Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index aebaa98c..07ac7e30 100644 +--- a/Makefile ++++ b/Makefile +@@ -204,7 +204,7 @@ CC_SUPPORT_SAVE_RESTORE := $(shell $(CC) $(CLANG_TARGET) $(RELAX_FLAG) -nostdlib + CC_SUPPORT_STRICT_ALIGN := $(shell $(CC) $(CLANG_TARGET) $(RELAX_FLAG) -nostdlib -mstrict-align -x c /dev/null -o /dev/null 2>&1 | grep -e "-mstrict-align" -e "-mno-unaligned-access" >/dev/null && echo n || echo y) + + # Check whether the assembler and the compiler support the Zicsr and Zifencei extensions +-CC_SUPPORT_ZICSR_ZIFENCEI := $(shell $(CC) $(CLANG_TARGET) $(RELAX_FLAG) -nostdlib -march=rv$(OPENSBI_CC_XLEN)imafd_zicsr_zifencei -x c /dev/null -o /dev/null 2>&1 | grep -e "zicsr" -e "zifencei" > /dev/null && echo n || echo y) ++CC_SUPPORT_ZICSR_ZIFENCEI := $(shell $(CC) $(CLANG_TARGET) $(RELAX_FLAG) -nostdlib -march=rv$(OPENSBI_CC_XLEN)imafd_zicsr_zifencei -x c /dev/null -o /dev/null >/dev/null 2>&1 && echo y || echo n) + + # Check whether the assembler and the compiler support the Vector extension + CC_SUPPORT_VECTOR := $(shell $(CC) $(CLANG_TARGET) $(RELAX_FLAG) -nostdlib -march=rv$(OPENSBI_CC_XLEN)gv -dM -E -x c /dev/null 2>&1 | grep -q riscv.*vector && echo y || echo n) +-- +2.55.0 + diff --git a/meta/recipes-bsp/opensbi/opensbi_1.9.bb b/meta/recipes-bsp/opensbi/opensbi_1.9.bb index 0142ef6787..954753d97e 100644 --- a/meta/recipes-bsp/opensbi/opensbi_1.9.bb +++ b/meta/recipes-bsp/opensbi/opensbi_1.9.bb @@ -9,7 +9,10 @@ require opensbi-payloads.inc inherit deploy SRCREV = "cbf9f6734dd85a982c63e3cb5db7ffe09da839ca" -SRC_URI = "git://github.com/riscv/opensbi.git;branch=master;protocol=https;tag=v${PV}" +SRC_URI = " \ + git://github.com/riscv/opensbi.git;branch=master;protocol=https;tag=v${PV} \ + file://0001-Makefile-don-t-grep-when-setting-CC_SUPPORT_ZICSR_ZI.patch \ + " TARGET_DBGSRC_DIR = "/share/opensbi/*/generic/firmware/" -- 2.55.0 ^ permalink raw reply related [flat|nested] 2+ messages in thread
* [OE-core][PATCH 2/2] arch-riscv.inc: allow zicsr, zifencei in TUNE_RISCV_PKGARCH 2026-09-10 15:08 [OE-core][PATCH 1/2] opensbi: patch Makefile for zicsr, zifencei extension check Trevor Gamblin @ 2026-09-10 15:08 ` Trevor Gamblin 0 siblings, 0 replies; 2+ messages in thread From: Trevor Gamblin @ 2026-09-10 15:08 UTC (permalink / raw) To: openembedded-core; +Cc: mark.hatle With the OpenSBI Makefile fix backported in 7bd2a8ce2618, we can safely enable this. [YOCTO #15897] Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> --- meta/conf/machine/include/riscv/arch-riscv.inc | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/meta/conf/machine/include/riscv/arch-riscv.inc b/meta/conf/machine/include/riscv/arch-riscv.inc index 99bed8fde5..6f9b74974d 100644 --- a/meta/conf/machine/include/riscv/arch-riscv.inc +++ b/meta/conf/machine/include/riscv/arch-riscv.inc @@ -88,20 +88,11 @@ TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicbom", "_zic TUNEVALID[zicsr] = "Control and status register access extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicsr f d", "_zicsr", "", d)}" -# If zicsr (or zifencei) is in the path, OpenSBI fails to use the extensions, do to (Makefile): -# # Check whether the assembler and the compiler support the Zicsr and Zifencei extensions -# CC_SUPPORT_ZICSR_ZIFENCEI := $(shell $(CC) $(CLANG_TARGET) $(RELAX_FLAG) -nostdlib -march=rv$(OPENSBI_CC_XLEN)imafd_zicsr_zifencei -x c /dev/null -o /dev/null 2>&1 | grep -e "zicsr" -e "zifencei" > /dev/null && echo n || echo y) -# this will match on the path containing zicsr or zifencei when an error is reported, which -# will always happens in this check. -# -# Yocto Project Bugzilla 15897 -# -#TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicsr f d", "_zicsr", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "zicsr f d", "_zicsr", "", d)}" TUNEVALID[zifencei] = "Instruction-fetch fence extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zifencei", "_zifencei", "", d)}" -# See above Bug 15897 -#TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zifencei", "_zifencei", "", d)}" +TUNE_RISCV_PKGARCH .= "${@bb.utils.contains("TUNE_FEATURES", "zifencei", "_zifencei", "", d)}" TUNEVALID[zba] = "Address bit manipulation extension" TUNE_RISCV_MARCH .= "${@bb.utils.contains_any("TUNE_FEATURES", "b zba", "_zba", "", d)}" -- 2.55.0 ^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-09-10 15:21 UTC | newest] Thread overview: 2+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-09-10 15:08 [OE-core][PATCH 1/2] opensbi: patch Makefile for zicsr, zifencei extension check Trevor Gamblin 2026-09-10 15:08 ` [OE-core][PATCH 2/2] arch-riscv.inc: allow zicsr, zifencei in TUNE_RISCV_PKGARCH Trevor Gamblin
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox