diff options
Diffstat (limited to 'meta/recipes-bsp')
38 files changed, 700 insertions, 149 deletions
diff --git a/meta/recipes-bsp/alsa-state/alsa-state.bb b/meta/recipes-bsp/alsa-state/alsa-state.bb index 099fbd3b9d..9452a1a4ce 100644 --- a/meta/recipes-bsp/alsa-state/alsa-state.bb +++ b/meta/recipes-bsp/alsa-state/alsa-state.bb | |||
@@ -21,8 +21,7 @@ SRC_URI = "\ | |||
21 | file://alsa-state-init \ | 21 | file://alsa-state-init \ |
22 | " | 22 | " |
23 | 23 | ||
24 | S = "${WORKDIR}/sources" | 24 | S = "${UNPACKDIR}" |
25 | UNPACKDIR = "${S}" | ||
26 | 25 | ||
27 | # As the recipe doesn't inherit systemd.bbclass, we need to set this variable | 26 | # As the recipe doesn't inherit systemd.bbclass, we need to set this variable |
28 | # manually to avoid unnecessary postinst/preinst generated. | 27 | # manually to avoid unnecessary postinst/preinst generated. |
diff --git a/meta/recipes-bsp/barebox/barebox-common.inc b/meta/recipes-bsp/barebox/barebox-common.inc index 7fd7a88d71..a9a6a91db9 100644 --- a/meta/recipes-bsp/barebox/barebox-common.inc +++ b/meta/recipes-bsp/barebox/barebox-common.inc | |||
@@ -3,6 +3,6 @@ SECTION = "bootloaders" | |||
3 | 3 | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=f5125d13e000b9ca1f0d3364286c4192" | 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=f5125d13e000b9ca1f0d3364286c4192" |
5 | 5 | ||
6 | PV = "2025.03.0" | 6 | PV = "2025.07.0" |
7 | SRC_URI = "https://barebox.org/download/barebox-${PV}.tar.bz2" | 7 | SRC_URI = "https://barebox.org/download/barebox-${PV}.tar.bz2" |
8 | SRC_URI[sha256sum] = "0bf7118004e445bdd57feeef89ee9064982acc221e8a046c4a7994d3da6da2ec" | 8 | SRC_URI[sha256sum] = "92add334bd0f5847deb2c23da54c78b40e8bae4f93c545e62be28e2f0afe137b" |
diff --git a/meta/recipes-bsp/barebox/barebox-tools.bb b/meta/recipes-bsp/barebox/barebox-tools.bb index f6395beb7c..eb327306d9 100644 --- a/meta/recipes-bsp/barebox/barebox-tools.bb +++ b/meta/recipes-bsp/barebox/barebox-tools.bb | |||
@@ -2,15 +2,11 @@ SUMMARY = "barebox bootloader tools" | |||
2 | 2 | ||
3 | require barebox-common.inc | 3 | require barebox-common.inc |
4 | 4 | ||
5 | SRC_URI += " \ | ||
6 | file://0001-scripts-dtc-clean-up-yamltree-from-dtc.patch \ | ||
7 | " | ||
8 | |||
9 | LICENSE = "GPL-2.0-only" | 5 | LICENSE = "GPL-2.0-only" |
10 | 6 | ||
11 | DEPENDS = "bison-native flex-native libusb1" | 7 | DEPENDS = "bison-native flex-native libusb1" |
12 | 8 | ||
13 | S = "${WORKDIR}/barebox-${PV}" | 9 | S = "${UNPACKDIR}/barebox-${PV}" |
14 | B = "${WORKDIR}/build" | 10 | B = "${WORKDIR}/build" |
15 | 11 | ||
16 | inherit pkgconfig | 12 | inherit pkgconfig |
@@ -43,6 +39,7 @@ BAREBOX_TOOLS = " \ | |||
43 | omap3-usb-loader \ | 39 | omap3-usb-loader \ |
44 | omap4_usbboot \ | 40 | omap4_usbboot \ |
45 | imx/imx-usb-loader \ | 41 | imx/imx-usb-loader \ |
42 | rk-usb-loader \ | ||
46 | " | 43 | " |
47 | 44 | ||
48 | BAREBOX_TOOLS_SUFFIX = "" | 45 | BAREBOX_TOOLS_SUFFIX = "" |
diff --git a/meta/recipes-bsp/barebox/files/0001-scripts-dtc-clean-up-yamltree-from-dtc.patch b/meta/recipes-bsp/barebox/files/0001-scripts-dtc-clean-up-yamltree-from-dtc.patch deleted file mode 100644 index fdab21ef72..0000000000 --- a/meta/recipes-bsp/barebox/files/0001-scripts-dtc-clean-up-yamltree-from-dtc.patch +++ /dev/null | |||
@@ -1,60 +0,0 @@ | |||
1 | From 77afd065dc58e2f57066ef7f392c571f8136723d Mon Sep 17 00:00:00 2001 | ||
2 | From: Hongxu Jia <hongxu.jia@windriver.com> | ||
3 | Date: Mon, 7 Apr 2025 14:45:27 +0000 | ||
4 | Subject: [PATCH] scripts/dtc: clean up yamltree from dtc | ||
5 | |||
6 | Refer Linux commit [dt-bindings: kbuild: Use DTB files for validation][1], | ||
7 | clean up yamltree from dtc to avoid compile failure while include <yaml.h> | ||
8 | in non-standard path | ||
9 | |||
10 | Since barebox actually doesn't do any dtb binding checks at the moment, just | ||
11 | remove the test of /usr/include/yaml.h, hard-code the -DNO_YAML and remove | ||
12 | yamltree.c from DTC_SOURCE | ||
13 | |||
14 | [1] https://github.com/torvalds/linux/commit/ef8795f3f1ce | ||
15 | |||
16 | Upstream-Status: Submitted [https://github.com/barebox/barebox/pull/37] | ||
17 | |||
18 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
19 | --- | ||
20 | scripts/dtc/Makefile | 9 --------- | ||
21 | scripts/dtc/update-dtc-source.sh | 2 +- | ||
22 | 2 files changed, 1 insertion(+), 10 deletions(-) | ||
23 | |||
24 | diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile | ||
25 | index 721e8e2b..da00319f 100644 | ||
26 | --- a/scripts/dtc/Makefile | ||
27 | +++ b/scripts/dtc/Makefile | ||
28 | @@ -16,16 +16,7 @@ fdtget-objs += fdtget.o $(libfdt-objs) util.o | ||
29 | # Source files need to get at the userspace version of libfdt_env.h to compile | ||
30 | HOST_EXTRACFLAGS += -I$(src)/libfdt | ||
31 | |||
32 | -ifeq ($(wildcard /usr/include/yaml.h),) | ||
33 | -ifneq ($(CHECK_DTBS),) | ||
34 | -$(error dtc needs libyaml for DT schema validation support. \ | ||
35 | - Install the necessary libyaml development package.) | ||
36 | -endif | ||
37 | HOST_EXTRACFLAGS += -DNO_YAML | ||
38 | -else | ||
39 | -dtc-objs += yamltree.o | ||
40 | -HOSTLDLIBS_dtc := -lyaml | ||
41 | -endif | ||
42 | |||
43 | # Generated files need one more search path to include headers in source tree | ||
44 | HOSTCFLAGS_dtc-lexer.lex.o := -I$(src) | ||
45 | diff --git a/scripts/dtc/update-dtc-source.sh b/scripts/dtc/update-dtc-source.sh | ||
46 | index 141d3629..8aa5cd66 100755 | ||
47 | --- a/scripts/dtc/update-dtc-source.sh | ||
48 | +++ b/scripts/dtc/update-dtc-source.sh | ||
49 | @@ -31,7 +31,7 @@ DTC_UPSTREAM_PATH=`pwd`/../dtc | ||
50 | DTC_LINUX_PATH=`pwd`/scripts/dtc | ||
51 | |||
52 | DTC_SOURCE="checks.c data.c dtc.c dtc.h flattree.c fstree.c livetree.c srcpos.c \ | ||
53 | - srcpos.h treesource.c util.c util.h version_gen.h yamltree.c Makefile.dtc \ | ||
54 | + srcpos.h treesource.c util.c util.h version_gen.h Makefile.dtc \ | ||
55 | dtc-lexer.l dtc-parser.y fdtget.c" | ||
56 | LIBFDT_SOURCE="Makefile.libfdt fdt.c fdt.h fdt_addresses.c fdt_empty_tree.c \ | ||
57 | fdt_overlay.c fdt_ro.c fdt_rw.c fdt_strerror.c fdt_sw.c \ | ||
58 | -- | ||
59 | 2.48.1 | ||
60 | |||
diff --git a/meta/recipes-bsp/efibootmgr/efibootmgr_18.bb b/meta/recipes-bsp/efibootmgr/efibootmgr_18.bb index fbd2f5dbc8..6f4178216b 100644 --- a/meta/recipes-bsp/efibootmgr/efibootmgr_18.bb +++ b/meta/recipes-bsp/efibootmgr/efibootmgr_18.bb | |||
@@ -13,8 +13,6 @@ COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" | |||
13 | SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https;branch=main" | 13 | SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https;branch=main" |
14 | SRCREV = "c3f9f0534e32158f62c43564036878b93b9e0fd6" | 14 | SRCREV = "c3f9f0534e32158f62c43564036878b93b9e0fd6" |
15 | 15 | ||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit pkgconfig | 16 | inherit pkgconfig |
19 | 17 | ||
20 | # The directory under the ESP that the default bootloader is found in. When | 18 | # The directory under the ESP that the default bootloader is found in. When |
diff --git a/meta/recipes-bsp/efivar/efivar_39.bb b/meta/recipes-bsp/efivar/efivar_39.bb index b052e3838f..fb6b6b3821 100644 --- a/meta/recipes-bsp/efivar/efivar_39.bb +++ b/meta/recipes-bsp/efivar/efivar_39.bb | |||
@@ -12,8 +12,6 @@ SRC_URI = "git://github.com/rhinstaller/efivar.git;branch=main;protocol=https \ | |||
12 | " | 12 | " |
13 | SRCREV = "c47820c37ac26286559ec004de07d48d05f3308c" | 13 | SRCREV = "c47820c37ac26286559ec004de07d48d05f3308c" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | inherit pkgconfig | 15 | inherit pkgconfig |
18 | 16 | ||
19 | export CCLD_FOR_BUILD = "${BUILD_CCLD}" | 17 | export CCLD_FOR_BUILD = "${BUILD_CCLD}" |
diff --git a/meta/recipes-bsp/formfactor/formfactor_0.0.bb b/meta/recipes-bsp/formfactor/formfactor_0.0.bb index 4714bb2e5e..f8d5613ffa 100644 --- a/meta/recipes-bsp/formfactor/formfactor_0.0.bb +++ b/meta/recipes-bsp/formfactor/formfactor_0.0.bb | |||
@@ -8,8 +8,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 | |||
8 | 8 | ||
9 | SRC_URI = "file://config file://machconfig" | 9 | SRC_URI = "file://config file://machconfig" |
10 | 10 | ||
11 | S = "${WORKDIR}/sources" | 11 | S = "${UNPACKDIR}" |
12 | UNPACKDIR = "${S}" | ||
13 | 12 | ||
14 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 13 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
15 | INHIBIT_DEFAULT_DEPS = "1" | 14 | INHIBIT_DEFAULT_DEPS = "1" |
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/0002-Do-not-treat-warnings-as-errors.patch b/meta/recipes-bsp/gnu-efi/gnu-efi/0001-Do-not-treat-warnings-as-errors.patch index 84966c484e..2909420933 100644 --- a/meta/recipes-bsp/gnu-efi/gnu-efi/0002-Do-not-treat-warnings-as-errors.patch +++ b/meta/recipes-bsp/gnu-efi/gnu-efi/0001-Do-not-treat-warnings-as-errors.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 89218bb3c5eb7b97987769cb4f7bf8323d35ca7e Mon Sep 17 00:00:00 2001 | 1 | From 2f70be61679933805e1d2fef4fefcaf041cbd8db Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Thu, 16 May 2024 21:38:32 +0800 | 3 | Date: Thu, 16 May 2024 21:38:32 +0800 |
4 | Subject: [PATCH] Do not treat warnings as errors | 4 | Subject: [PATCH] Do not treat warnings as errors |
@@ -15,11 +15,18 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
15 | 1 file changed, 1 insertion(+), 1 deletion(-) | 15 | 1 file changed, 1 insertion(+), 1 deletion(-) |
16 | 16 | ||
17 | diff --git a/Make.defaults b/Make.defaults | 17 | diff --git a/Make.defaults b/Make.defaults |
18 | index 1347aca..1834d1c 100755 | 18 | index 777a638..bf98939 100755 |
19 | --- a/Make.defaults | 19 | --- a/Make.defaults |
20 | +++ b/Make.defaults | 20 | +++ b/Make.defaults |
21 | @@ -262,3 +262,3 @@ CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \ | 21 | @@ -275,7 +275,7 @@ EFI_CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \ |
22 | -fno-strict-aliasing \ | ||
23 | -ffreestanding -fno-stack-protector | ||
22 | else | 24 | else |
23 | -CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Wno-pointer-sign -Werror \ | 25 | -EFI_CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \ |
24 | +CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Wno-pointer-sign \ | 26 | +EFI_CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra \ |
25 | -fno-strict-aliasing \ | 27 | -fno-strict-aliasing \ |
28 | -ffreestanding -fno-stack-protector \ | ||
29 | $(if $(findstring 0,$(USING_CLANG)),-fno-merge-all-constants,) | ||
30 | -- | ||
31 | 2.34.1 | ||
32 | |||
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_4.0.0.bb b/meta/recipes-bsp/gnu-efi/gnu-efi_4.0.2.bb index 29d9e695a9..5ce5ceb884 100644 --- a/meta/recipes-bsp/gnu-efi/gnu-efi_4.0.0.bb +++ b/meta/recipes-bsp/gnu-efi/gnu-efi_4.0.2.bb | |||
@@ -16,11 +16,13 @@ COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*|riscv64.*)-linux" | |||
16 | COMPATIBLE_HOST:armv4 = 'null' | 16 | COMPATIBLE_HOST:armv4 = 'null' |
17 | 17 | ||
18 | SRC_URI = "git://github.com/ncroxon/gnu-efi;protocol=https;branch=master \ | 18 | SRC_URI = "git://github.com/ncroxon/gnu-efi;protocol=https;branch=master \ |
19 | file://0002-Do-not-treat-warnings-as-errors.patch \ | 19 | file://0001-Do-not-treat-warnings-as-errors.patch \ |
20 | " | 20 | " |
21 | SRCREV = "5ea320f0f01c8de8f9dd4e4e38a245608f0287dd" | 21 | SRCREV = "1fee8ab566ce91b9cbab9f2c85db96566d79063b" |
22 | 22 | ||
23 | S = "${WORKDIR}/git" | 23 | # llvm-objcopy fails |
24 | # arm-poky-linux-gnueabi-llvm-objcopy: error: 't8.so': section '.dynstr' cannot be removed because it is referenced by the section '.dynamic' | ||
25 | OBJCOPY:toolchain-clang = "${HOST_PREFIX}objcopy" | ||
24 | 26 | ||
25 | inherit github-releases | 27 | inherit github-releases |
26 | 28 | ||
diff --git a/meta/recipes-bsp/grub/grub-bootconf_1.00.bb b/meta/recipes-bsp/grub/grub-bootconf_1.00.bb index a004e3a3b2..0b4005e5bf 100644 --- a/meta/recipes-bsp/grub/grub-bootconf_1.00.bb +++ b/meta/recipes-bsp/grub/grub-bootconf_1.00.bb | |||
@@ -11,8 +11,7 @@ inherit grub-efi-cfg | |||
11 | 11 | ||
12 | require conf/image-uefi.conf | 12 | require conf/image-uefi.conf |
13 | 13 | ||
14 | S = "${WORKDIR}/sources" | 14 | S = "${UNPACKDIR}" |
15 | UNPACKDIR = "${S}" | ||
16 | 15 | ||
17 | GRUB_CFG = "${S}/grub-bootconf" | 16 | GRUB_CFG = "${S}/grub-bootconf" |
18 | LABELS = "boot" | 17 | LABELS = "boot" |
diff --git a/meta/recipes-bsp/grub/grub-efi_2.12.bb b/meta/recipes-bsp/grub/grub-efi_2.12.bb index 5b435245ee..6354b43989 100644 --- a/meta/recipes-bsp/grub/grub-efi_2.12.bb +++ b/meta/recipes-bsp/grub/grub-efi_2.12.bb | |||
@@ -11,7 +11,7 @@ SRC_URI += " \ | |||
11 | file://cfg \ | 11 | file://cfg \ |
12 | " | 12 | " |
13 | 13 | ||
14 | S = "${WORKDIR}/grub-${PV}" | 14 | S = "${UNPACKDIR}/grub-${PV}" |
15 | 15 | ||
16 | # Determine the target arch for the grub modules | 16 | # Determine the target arch for the grub modules |
17 | python __anonymous () { | 17 | python __anonymous () { |
diff --git a/meta/recipes-bsp/grub/grub2.inc b/meta/recipes-bsp/grub/grub2.inc index 1fe39a59d2..ffa04e415d 100644 --- a/meta/recipes-bsp/grub/grub2.inc +++ b/meta/recipes-bsp/grub/grub2.inc | |||
@@ -106,3 +106,7 @@ do_configure:prepend() { | |||
106 | FROM_BOOTSTRAP=1 ${S}/autogen.sh | 106 | FROM_BOOTSTRAP=1 ${S}/autogen.sh |
107 | cd ${B} | 107 | cd ${B} |
108 | } | 108 | } |
109 | |||
110 | # | aarch64-poky-linux-clang: error: invalid argument '-mcmodel=large' only allowed with '-fno-pic' | ||
111 | # see - https://bugs.gentoo.org/942843 | ||
112 | TOOLCHAIN:aarch64 = "gcc" | ||
diff --git a/meta/recipes-bsp/keymaps/keymaps_1.0.bb b/meta/recipes-bsp/keymaps/keymaps_1.0.bb index 0425197c98..ab2d68d6a1 100644 --- a/meta/recipes-bsp/keymaps/keymaps_1.0.bb +++ b/meta/recipes-bsp/keymaps/keymaps_1.0.bb | |||
@@ -24,8 +24,7 @@ SRC_URI = "file://keymap.sh" | |||
24 | INITSCRIPT_NAME = "keymap.sh" | 24 | INITSCRIPT_NAME = "keymap.sh" |
25 | INITSCRIPT_PARAMS = "start 01 S ." | 25 | INITSCRIPT_PARAMS = "start 01 S ." |
26 | 26 | ||
27 | S = "${WORKDIR}/sources" | 27 | S = "${UNPACKDIR}" |
28 | UNPACKDIR = "${S}" | ||
29 | 28 | ||
30 | do_install () { | 29 | do_install () { |
31 | # Only install the script if 'sysvinit' is in DISTRO_FEATURES | 30 | # Only install the script if 'sysvinit' is in DISTRO_FEATURES |
diff --git a/meta/recipes-bsp/libacpi/libacpi_0.2.bb b/meta/recipes-bsp/libacpi/libacpi_0.2.bb index 6aae34b310..f939d11f4c 100644 --- a/meta/recipes-bsp/libacpi/libacpi_0.2.bb +++ b/meta/recipes-bsp/libacpi/libacpi_0.2.bb | |||
@@ -14,7 +14,6 @@ SRC_URI = "http://www.ngolde.de/download/libacpi-${PV}.tar.gz \ | |||
14 | file://0001-libacpi-Fix-build-witth-fno-commom.patch \ | 14 | file://0001-libacpi-Fix-build-witth-fno-commom.patch \ |
15 | " | 15 | " |
16 | 16 | ||
17 | SRC_URI[md5sum] = "05b53dd7bead66dda35fec502b91066c" | ||
18 | SRC_URI[sha256sum] = "13086e31d428b9c125954d48ac497b754bbbce2ef34ea29ecd903e82e25bad29" | 17 | SRC_URI[sha256sum] = "13086e31d428b9c125954d48ac497b754bbbce2ef34ea29ecd903e82e25bad29" |
19 | 18 | ||
20 | UPSTREAM_CHECK_URI = "http://www.ngolde.de/libacpi.html" | 19 | UPSTREAM_CHECK_URI = "http://www.ngolde.de/libacpi.html" |
diff --git a/meta/recipes-bsp/opensbi/opensbi_1.6.bb b/meta/recipes-bsp/opensbi/opensbi_1.7.bb index ed1a70d01a..a460062e93 100644 --- a/meta/recipes-bsp/opensbi/opensbi_1.6.bb +++ b/meta/recipes-bsp/opensbi/opensbi_1.7.bb | |||
@@ -8,17 +8,16 @@ require opensbi-payloads.inc | |||
8 | 8 | ||
9 | inherit deploy | 9 | inherit deploy |
10 | 10 | ||
11 | SRCREV = "bd613dd92113f683052acfb23d9dc8ba60029e0a" | 11 | SRCREV = "a32a91069119e7a5aa31e6bc51d5e00860be3d80" |
12 | SRC_URI = "git://github.com/riscv/opensbi.git;branch=master;protocol=https" | 12 | SRC_URI = "git://github.com/riscv/opensbi.git;branch=master;protocol=https" |
13 | 13 | ||
14 | S = "${WORKDIR}/git" | ||
15 | |||
16 | TARGET_DBGSRC_DIR = "/share/opensbi/*/generic/firmware/" | 14 | TARGET_DBGSRC_DIR = "/share/opensbi/*/generic/firmware/" |
17 | 15 | ||
18 | TARGET_CC_ARCH += "${LDFLAGS}" | 16 | TARGET_CC_ARCH += "${LDFLAGS}" |
19 | 17 | ||
20 | RISCV_SBI_FW_TEXT_START ??= "0x80000000" | 18 | RISCV_SBI_FW_TEXT_START ??= "0x80000000" |
21 | EXTRA_OEMAKE += "PLATFORM=${RISCV_SBI_PLAT} I=${D} FW_TEXT_START=${RISCV_SBI_FW_TEXT_START}" | 19 | EXTRA_OEMAKE += "REPRODUCIBLE=y CROSS_COMPILE=${HOST_PREFIX} ELFFLAGS="${LDFLAGS}" PLATFORM=${RISCV_SBI_PLAT} I=${D} FW_TEXT_START=${RISCV_SBI_FW_TEXT_START}" |
20 | EXTRA_OEMAKE:append:toolchain-clang = " LLVM=y" | ||
22 | # If RISCV_SBI_PAYLOAD is set then include it as a payload | 21 | # If RISCV_SBI_PAYLOAD is set then include it as a payload |
23 | EXTRA_OEMAKE:append = " ${@riscv_get_extra_oemake_image(d)}" | 22 | EXTRA_OEMAKE:append = " ${@riscv_get_extra_oemake_image(d)}" |
24 | EXTRA_OEMAKE:append = " ${@riscv_get_extra_oemake_fdt(d)}" | 23 | EXTRA_OEMAKE:append = " ${@riscv_get_extra_oemake_fdt(d)}" |
diff --git a/meta/recipes-bsp/pciutils/pciutils_3.13.0.bb b/meta/recipes-bsp/pciutils/pciutils_3.14.0.bb index 6478722838..a267ea34b7 100644 --- a/meta/recipes-bsp/pciutils/pciutils_3.13.0.bb +++ b/meta/recipes-bsp/pciutils/pciutils_3.14.0.bb | |||
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" | |||
12 | DEPENDS = "make-native" | 12 | DEPENDS = "make-native" |
13 | 13 | ||
14 | SRC_URI = "${KERNELORG_MIRROR}/software/utils/pciutils/pciutils-${PV}.tar.xz" | 14 | SRC_URI = "${KERNELORG_MIRROR}/software/utils/pciutils/pciutils-${PV}.tar.xz" |
15 | SRC_URI[sha256sum] = "77f11f78298502634d1af50308f15a5788629f6cf45cba376f5009aea4cb4926" | 15 | SRC_URI[sha256sum] = "e7713409882813991d2269d125e40dad1f54a019a52b78b3962941c1d4a6f86f" |
16 | 16 | ||
17 | inherit multilib_header pkgconfig update-alternatives | 17 | inherit multilib_header pkgconfig update-alternatives |
18 | 18 | ||
diff --git a/meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb b/meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb index c7b95e57b0..8756511c17 100644 --- a/meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb +++ b/meta/recipes-bsp/pm-utils/pm-utils_1.4.1.bb | |||
@@ -6,10 +6,8 @@ LICENSE = "GPL-2.0-only" | |||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ |
7 | file://src/pm-pmu.c;beginline=1;endline=22;md5=3c1ddbc54e735fb4a0386e14c78a3147" | 7 | file://src/pm-pmu.c;beginline=1;endline=22;md5=3c1ddbc54e735fb4a0386e14c78a3147" |
8 | 8 | ||
9 | |||
10 | SRC_URI = "http://pm-utils.freedesktop.org/releases/pm-utils-${PV}.tar.gz" | 9 | SRC_URI = "http://pm-utils.freedesktop.org/releases/pm-utils-${PV}.tar.gz" |
11 | 10 | ||
12 | SRC_URI[md5sum] = "1742a556089c36c3a89eb1b957da5a60" | ||
13 | SRC_URI[sha256sum] = "8ed899032866d88b2933a1d34cc75e8ae42dcde20e1cc21836baaae3d4370c0b" | 11 | SRC_URI[sha256sum] = "8ed899032866d88b2933a1d34cc75e8ae42dcde20e1cc21836baaae3d4370c0b" |
14 | 12 | ||
15 | inherit pkgconfig autotools manpages | 13 | inherit pkgconfig autotools manpages |
diff --git a/meta/recipes-bsp/setserial/setserial_2.17.bb b/meta/recipes-bsp/setserial/setserial_2.17.bb index 3241b21f82..e1e80e31ae 100644 --- a/meta/recipes-bsp/setserial/setserial_2.17.bb +++ b/meta/recipes-bsp/setserial/setserial_2.17.bb | |||
@@ -16,7 +16,6 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/setserial/${BPN}-${PV}.tar.gz \ | |||
16 | file://0001-setserial.c-Add-needed-system-headers-for-ioctl-and-.patch \ | 16 | file://0001-setserial.c-Add-needed-system-headers-for-ioctl-and-.patch \ |
17 | " | 17 | " |
18 | 18 | ||
19 | SRC_URI[md5sum] = "c4867d72c41564318e0107745eb7a0f2" | ||
20 | SRC_URI[sha256sum] = "7e4487d320ac31558563424189435d396ddf77953bb23111a17a3d1487b5794a" | 19 | SRC_URI[sha256sum] = "7e4487d320ac31558563424189435d396ddf77953bb23111a17a3d1487b5794a" |
21 | 20 | ||
22 | do_install() { | 21 | do_install() { |
diff --git a/meta/recipes-bsp/u-boot/files/0001-Makefile-add-dependency-from-lib-to-arch-ARCH-lib.patch b/meta/recipes-bsp/u-boot/files/0001-Makefile-add-dependency-from-lib-to-arch-ARCH-lib.patch new file mode 100644 index 0000000000..06fdaf5b0a --- /dev/null +++ b/meta/recipes-bsp/u-boot/files/0001-Makefile-add-dependency-from-lib-to-arch-ARCH-lib.patch | |||
@@ -0,0 +1,81 @@ | |||
1 | From d0075e2d730a4fa48aa763a669e5edbc02c33a22 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mikko Rapeli <mikko.rapeli@linaro.org> | ||
3 | Date: Thu, 31 Jul 2025 14:52:48 +0300 | ||
4 | Subject: [PATCH] Makefile: add dependency from lib to arch/$(ARCH)/lib | ||
5 | |||
6 | Top level Makefile starts separate "make" processes for each each | ||
7 | subdirectory. lib/efi_loader apps now depend on lib.a from | ||
8 | arch/$(ARCH)/lib if CONFIG_USE_PRIVATE_LIBGCC is enabled which creates | ||
9 | a race conditions since dependency from lib/efi_loader EFI apps to | ||
10 | arch/$(ARCH)/lib/lib.a is not explicit: | ||
11 | |||
12 | arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory | ||
13 | make[3]: *** [scripts/Makefile.lib:512: lib/efi_loader/testapp_efi.so] Error 1 | ||
14 | |||
15 | This error was seen on yocto/OE-core CI builds after u-boot 2025.07 update: | ||
16 | |||
17 | https://lists.openembedded.org/g/openembedded-core/message/220004 | ||
18 | |||
19 | https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/2914600/raw_inline | ||
20 | |||
21 | | rm -f lib/efi_loader/built-in.o; arm-poky-linux-gnueabi-ar cDPrsT lib/efi_loader/built-in.o lib/efi_loader/efi_bootmgr.o lib/efi_loader/efi_bootbin.o lib/efi_loader | ||
22 | /efi_boottime.o lib/efi_loader/efi_helper.o lib/efi_loader/efi_console.o lib/efi_loader/efi_device_path.o lib/efi_loader/efi_device_path_to_text.o lib/efi_loader/efi_device_ | ||
23 | path_utilities.o lib/efi_loader/efi_dt_fixup.o lib/efi_loader/efi_fdt.o lib/efi_loader/efi_file.o lib/efi_loader/efi_hii.o lib/efi_loader/efi_hii_config.o lib/efi_loader/efi | ||
24 | _image_loader.o lib/efi_loader/efi_load_options.o lib/efi_loader/efi_memory.o lib/efi_loader/efi_root_node.o lib/efi_loader/efi_runtime.o lib/efi_loader/efi_setup.o lib/efi_ | ||
25 | loader/efi_string.o lib/efi_loader/efi_unicode_collation.o lib/efi_loader/efi_var_common.o lib/efi_loader/efi_var_mem.o lib/efi_loader/efi_variable.o lib/efi_loader/efi_var_ | ||
26 | file.o lib/efi_loader/efi_watchdog.o lib/efi_loader/efi_disk.o lib/efi_loader/efi_net.o lib/efi_loader/efi_smbios.o lib/efi_loader/efi_load_initrd.o lib/efi_loader/efi_confo | ||
27 | rmance.o | ||
28 | | arm-poky-linux-gnueabi-ld.bfd -nostdlib -zexecstack -znocombreloc -znorelro --no-warn-rwx-segments -L /srv/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st- | ||
29 | 3119200/tmp/work/beaglebone_yocto-poky-linux-gnueabi/u-boot/2025.07/sources/u-boot-2025.07 -T arch/arm/lib/elf_arm_efi.lds -shared -Bsymbolic -s lib/efi_loader/helloworld.o | ||
30 | lib/efi_loader/efi_crt0.o lib/efi_loader/efi_reloc.o lib/efi_loader/efi_freestanding.o arch/arm/lib/lib.a -o lib/efi_loader/helloworld_efi.so | ||
31 | | arm-poky-linux-gnueabi-ld.bfd: cannot find arch/arm/lib/lib.a: No such file or directory | ||
32 | | make[3]: *** [scripts/Makefile.lib:512: lib/efi_loader/helloworld_efi.so] Error 1 | ||
33 | |||
34 | The different "make" processes share common scripts/Makefile.build | ||
35 | and scripts/Makefile.libs but since they are separate processes | ||
36 | the Makefile rules can't add a dependency from lib/uefi_loader targets | ||
37 | to arch/$(ARCH)/lib/lib.a. Or the file level dependency can be added but | ||
38 | then "make" produces a too sparse error message which does not mention | ||
39 | that one of the dependencies like arch/$(ARCH)/lib/lib.a was not found: | ||
40 | |||
41 | make[3]: *** No rule to make target 'lib/efi_loader/helloworld.efi', needed by '__build'. Stop. | ||
42 | |||
43 | Fix this dependency problem by building arch/$(ARCH)/lib before lib | ||
44 | if CONFIG_USE_PRIVATE_LIBGCC was enabled. | ||
45 | |||
46 | To reproduce the race condition more reliably, add a "sleep 10" delay | ||
47 | before linker command cmd_link_l_target with 2025.07 | ||
48 | or to $(lib-target): target in scripts/Makefile.build with master branch | ||
49 | after Kbuild update. | ||
50 | |||
51 | Fixes: 43d43241d1c9 ("scripts/Makefile.lib: add PLATFORM_LIBGCC to efi linking") | ||
52 | |||
53 | Cc: Adriano Cordova <adrianox@gmail.com> | ||
54 | Cc: Fabio Estevam <festevam@gmail.com> | ||
55 | Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> | ||
56 | Reviewed-by: Fabio Estevam <festevam@gmail.com> | ||
57 | --- | ||
58 | Makefile | 5 +++++ | ||
59 | 1 file changed, 5 insertions(+) | ||
60 | |||
61 | Upstream-Status: Backport | ||
62 | |||
63 | diff --git a/Makefile b/Makefile | ||
64 | index c31bf7ecea97..b03f87a93fb9 100644 | ||
65 | --- a/Makefile | ||
66 | +++ b/Makefile | ||
67 | @@ -2131,6 +2131,11 @@ $(filter-out tools, $(u-boot-dirs)): tools | ||
68 | # is "yes"), so compile examples after U-Boot is compiled. | ||
69 | examples: $(filter-out examples, $(u-boot-dirs)) | ||
70 | |||
71 | +ifeq ($(CONFIG_USE_PRIVATE_LIBGCC),y) | ||
72 | +# lib/efi_loader apps depend on arch/$(ARCH)/lib for lib.a | ||
73 | +lib: $(filter arch/$(ARCH)/lib, $(u-boot-dirs)) | ||
74 | +endif | ||
75 | + | ||
76 | # The setlocalversion script comes from linux and expects a | ||
77 | # KERNELVERSION variable in the environment for figuring out which | ||
78 | # annotated tags are relevant. Pass UBOOTVERSION. | ||
79 | -- | ||
80 | 2.43.0 | ||
81 | |||
diff --git a/meta/recipes-bsp/u-boot/files/0001-nxp-Prepare-macros-for-KVM-changes.patch b/meta/recipes-bsp/u-boot/files/0001-nxp-Prepare-macros-for-KVM-changes.patch new file mode 100644 index 0000000000..fa34c8033e --- /dev/null +++ b/meta/recipes-bsp/u-boot/files/0001-nxp-Prepare-macros-for-KVM-changes.patch | |||
@@ -0,0 +1,100 @@ | |||
1 | From 9be804cbfde1df715d79247b27de4b388c714cde Mon Sep 17 00:00:00 2001 | ||
2 | From: Ilias Apalodimas <ilias.apalodimas@linaro.org> | ||
3 | Date: Wed, 18 Jun 2025 09:58:12 +0300 | ||
4 | Subject: [PATCH 1/3] nxp: Prepare macros for KVM changes | ||
5 | |||
6 | A following patch is replacing our IO accessors with | ||
7 | do { ... } while(0) ones in order to make them usable with KVM. | ||
8 | |||
9 | That leads to an error eventually looking like this: | ||
10 | arch/arm/include/asm/io.h:62:9: error: expected expression before 'do' | ||
11 | 62 | do { \ | ||
12 | | ^~ | ||
13 | arch/arm/include/asm/io.h:211:41: note: in expansion of macro '__raw_writel' | ||
14 | 211 | #define out_arch(type,endian,a,v) __raw_write##type(cpu_to_##endian(v),a) | ||
15 | | ^~~~~~~~~~~ | ||
16 | arch/arm/include/asm/io.h:223:25: note: in expansion of macro 'out_arch' | ||
17 | 223 | #define out_be32(a,v) out_arch(l,be32,a,v) | ||
18 | | ^~~~~~~~ | ||
19 | drivers/spi/fsl_dspi.c:127:17: note: in expansion of macro 'out_be32' | ||
20 | 127 | out_be32(addr, val) : out_le32(addr, val); | ||
21 | | ^~~~~~~~ | ||
22 | |||
23 | So adjust the current macros and code to be compatible with the upcoming | ||
24 | change. | ||
25 | |||
26 | Upstream-Status: Backport [https://github.com/u-boot/u-boot/commit/b56c0632ad62] | ||
27 | Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> | ||
28 | Reviewed-by: Tom Rini <trini@konsulko.com> | ||
29 | Signed-off-by: Fabio Estevam <festevam@gmail.com> | ||
30 | --- | ||
31 | drivers/spi/fsl_dspi.c | 6 ++++-- | ||
32 | include/fsl_ifc.h | 24 ++++++++++++------------ | ||
33 | 2 files changed, 16 insertions(+), 14 deletions(-) | ||
34 | |||
35 | diff --git a/drivers/spi/fsl_dspi.c b/drivers/spi/fsl_dspi.c | ||
36 | index f2393c041f44..545561ad1169 100644 | ||
37 | --- a/drivers/spi/fsl_dspi.c | ||
38 | +++ b/drivers/spi/fsl_dspi.c | ||
39 | @@ -123,8 +123,10 @@ static uint dspi_read32(uint flags, uint *addr) | ||
40 | |||
41 | static void dspi_write32(uint flags, uint *addr, uint val) | ||
42 | { | ||
43 | - flags & DSPI_FLAG_REGMAP_ENDIAN_BIG ? | ||
44 | - out_be32(addr, val) : out_le32(addr, val); | ||
45 | + if (flags & DSPI_FLAG_REGMAP_ENDIAN_BIG) | ||
46 | + out_be32(addr, val); | ||
47 | + else | ||
48 | + out_le32(addr, val); | ||
49 | } | ||
50 | |||
51 | static void dspi_halt(struct fsl_dspi_priv *priv, u8 halt) | ||
52 | diff --git a/include/fsl_ifc.h b/include/fsl_ifc.h | ||
53 | index 3ac226879303..1c363115beb2 100644 | ||
54 | --- a/include/fsl_ifc.h | ||
55 | +++ b/include/fsl_ifc.h | ||
56 | @@ -803,29 +803,29 @@ void init_final_memctl_regs(void); | ||
57 | ((struct fsl_ifc_fcm *)CFG_SYS_IFC_ADDR) | ||
58 | |||
59 | #define get_ifc_cspr_ext(i) \ | ||
60 | - (ifc_in32(&(IFC_FCM_BASE_ADDR)->cspr_cs[i].cspr_ext)) | ||
61 | + ifc_in32(&(IFC_FCM_BASE_ADDR)->cspr_cs[i].cspr_ext) | ||
62 | #define get_ifc_cspr(i) \ | ||
63 | - (ifc_in32(&(IFC_FCM_BASE_ADDR)->cspr_cs[i].cspr)) | ||
64 | + ifc_in32(&(IFC_FCM_BASE_ADDR)->cspr_cs[i].cspr) | ||
65 | #define get_ifc_csor_ext(i) \ | ||
66 | - (ifc_in32(&(IFC_FCM_BASE_ADDR)->csor_cs[i].csor_ext)) | ||
67 | + ifc_in32(&(IFC_FCM_BASE_ADDR)->csor_cs[i].csor_ext) | ||
68 | #define get_ifc_csor(i) \ | ||
69 | - (ifc_in32(&(IFC_FCM_BASE_ADDR)->csor_cs[i].csor)) | ||
70 | + ifc_in32(&(IFC_FCM_BASE_ADDR)->csor_cs[i].csor) | ||
71 | #define get_ifc_amask(i) \ | ||
72 | - (ifc_in32(&(IFC_FCM_BASE_ADDR)->amask_cs[i].amask)) | ||
73 | + ifc_in32(&(IFC_FCM_BASE_ADDR)->amask_cs[i].amask) | ||
74 | #define get_ifc_ftim(i, j) \ | ||
75 | - (ifc_in32(&(IFC_FCM_BASE_ADDR)->ftim_cs[i].ftim[j])) | ||
76 | + ifc_in32(&(IFC_FCM_BASE_ADDR)->ftim_cs[i].ftim[j]) | ||
77 | #define set_ifc_cspr_ext(i, v) \ | ||
78 | - (ifc_out32(&(IFC_FCM_BASE_ADDR)->cspr_cs[i].cspr_ext, v)) | ||
79 | + ifc_out32(&(IFC_FCM_BASE_ADDR)->cspr_cs[i].cspr_ext, v) | ||
80 | #define set_ifc_cspr(i, v) \ | ||
81 | - (ifc_out32(&(IFC_FCM_BASE_ADDR)->cspr_cs[i].cspr, v)) | ||
82 | + ifc_out32(&(IFC_FCM_BASE_ADDR)->cspr_cs[i].cspr, v) | ||
83 | #define set_ifc_csor_ext(i, v) \ | ||
84 | - (ifc_out32(&(IFC_FCM_BASE_ADDR)->csor_cs[i].csor_ext, v)) | ||
85 | + ifc_out32(&(IFC_FCM_BASE_ADDR)->csor_cs[i].csor_ext, v) | ||
86 | #define set_ifc_csor(i, v) \ | ||
87 | - (ifc_out32(&(IFC_FCM_BASE_ADDR)->csor_cs[i].csor, v)) | ||
88 | + ifc_out32(&(IFC_FCM_BASE_ADDR)->csor_cs[i].csor, v) | ||
89 | #define set_ifc_amask(i, v) \ | ||
90 | - (ifc_out32(&(IFC_FCM_BASE_ADDR)->amask_cs[i].amask, v)) | ||
91 | + ifc_out32(&(IFC_FCM_BASE_ADDR)->amask_cs[i].amask, v) | ||
92 | #define set_ifc_ftim(i, j, v) \ | ||
93 | - (ifc_out32(&(IFC_FCM_BASE_ADDR)->ftim_cs[i].ftim[j], v)) | ||
94 | + ifc_out32(&(IFC_FCM_BASE_ADDR)->ftim_cs[i].ftim[j], v) | ||
95 | |||
96 | enum ifc_chip_sel { | ||
97 | IFC_CS0, | ||
98 | -- | ||
99 | 2.34.1 | ||
100 | |||
diff --git a/meta/recipes-bsp/u-boot/files/0002-arm-io.h-Fix-io-accessors-for-KVM.patch b/meta/recipes-bsp/u-boot/files/0002-arm-io.h-Fix-io-accessors-for-KVM.patch new file mode 100644 index 0000000000..558d753d4a --- /dev/null +++ b/meta/recipes-bsp/u-boot/files/0002-arm-io.h-Fix-io-accessors-for-KVM.patch | |||
@@ -0,0 +1,310 @@ | |||
1 | From 2fc16d8de5bbe2a40ab25445936150c3250a9077 Mon Sep 17 00:00:00 2001 | ||
2 | From: Ilias Apalodimas <ilias.apalodimas@linaro.org> | ||
3 | Date: Wed, 18 Jun 2025 09:58:13 +0300 | ||
4 | Subject: [PATCH 2/3] arm: io.h: Fix io accessors for KVM | ||
5 | |||
6 | commit 2e2c2a5e72a8 ("arm: qemu: override flash accessors to use virtualizable instructions") | ||
7 | explains why we can't have instructions with multiple output registers | ||
8 | when running under QEMU + KVM and the instruction leads to an exception | ||
9 | to the hypervisor. | ||
10 | |||
11 | USB XHCI is such a case (MMIO) where a ldr w1, [x0], #4 is emitted for | ||
12 | xhci_start() which works fine with QEMU but crashes for QEMU + KVM. | ||
13 | |||
14 | These instructions cannot be emulated by KVM as they do not produce | ||
15 | syndrome information data that KVM can use to infer the destination | ||
16 | register, the faulting address, whether it was a load or store, or | ||
17 | if it's a 32 or 64 bit general-purpose register. | ||
18 | As a result an external abort is injected from QEMU, via ext_dabt_pending | ||
19 | to KVM and we end up throwing an exception that looks like | ||
20 | |||
21 | U-Boot 2025.07-rc4 (Jun 10 2025 - 12:00:15 +0000) | ||
22 | [...] | ||
23 | Register 8001040 NbrPorts 8 | ||
24 | Starting the controller | ||
25 | "Synchronous Abort" handler, esr 0x96000010, far 0x10100040 | ||
26 | elr: 000000000005b1c8 lr : 000000000005b1ac (reloc) | ||
27 | elr: 00000000476fc1c8 lr : 00000000476fc1ac | ||
28 | x0 : 0000000010100040 x1 : 0000000000000001 | ||
29 | x2 : 0000000000000000 x3 : 0000000000003e80 | ||
30 | x4 : 0000000000000000 x5 : 00000000477a5694 | ||
31 | x6 : 0000000000000038 x7 : 000000004666f360 | ||
32 | x8 : 0000000000000000 x9 : 00000000ffffffd8 | ||
33 | x10: 000000000000000d x11: 0000000000000006 | ||
34 | x12: 0000000046560a78 x13: 0000000046560dd0 | ||
35 | x14: 00000000ffffffff x15: 000000004666eed2 | ||
36 | x16: 00000000476ee2f0 x17: 0000000000000000 | ||
37 | x18: 0000000046660dd0 x19: 000000004666f480 | ||
38 | x20: 0000000000000000 x21: 0000000010100040 | ||
39 | x22: 0000000010100000 x23: 0000000000000000 | ||
40 | x24: 0000000000000000 x25: 0000000000000000 | ||
41 | x26: 0000000000000000 x27: 0000000000000000 | ||
42 | x28: 0000000000000000 x29: 000000004666f360 | ||
43 | |||
44 | Code: d5033fbf aa1503e0 5287d003 52800002 (b8004401) | ||
45 | Resetting CPU ... | ||
46 | |||
47 | There are two problems making this the default. | ||
48 | - It will emit ldr + add or str + add instead of ldr/str(post increment) | ||
49 | in somne cases | ||
50 | - Some platforms that depend on TPL/SPL grow in size enough so that the | ||
51 | binary doesn't fit anymore. | ||
52 | |||
53 | So let's add proper I/O accessors add a Kconfig option | ||
54 | to turn it off by default apart from our QEMU builds. | ||
55 | |||
56 | Upstream-Status: Backport [https://github.com/u-boot/u-boot/commit/dc512700ad46] | ||
57 | Reported-by: Mikko Rapeli <mikko.rapeli@linaro.org> | ||
58 | Tested-by: Mikko Rapeli <mikko.rapeli@linaro.org> | ||
59 | Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> | ||
60 | Signed-off-by: Fabio Estevam <festevam@gmail.com> | ||
61 | --- | ||
62 | arch/arm/Kconfig | 12 +++ | ||
63 | arch/arm/include/asm/io.h | 152 ++++++++++++++++++++++++++++---------- | ||
64 | 2 files changed, 124 insertions(+), 40 deletions(-) | ||
65 | |||
66 | diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig | ||
67 | index 6ff3f2750ea8..f6430a5aaf07 100644 | ||
68 | --- a/arch/arm/Kconfig | ||
69 | +++ b/arch/arm/Kconfig | ||
70 | @@ -108,6 +108,18 @@ config LNX_KRNL_IMG_TEXT_OFFSET_BASE | ||
71 | The value subtracted from CONFIG_TEXT_BASE to calculate the | ||
72 | TEXT_OFFSET value written to the Linux kernel image header. | ||
73 | |||
74 | +config KVM_VIRT_INS | ||
75 | + bool "Emit virtualizable instructions" | ||
76 | + help | ||
77 | + Instructions in the ARM ISA that have multiple output registers, | ||
78 | + can't be used if the instruction leads to an exception to the hypervisor. | ||
79 | + These instructions cannot be emulated by KVM because they do not produce | ||
80 | + syndrome information data that KVM can use to infer the destination | ||
81 | + register, the faulting address, whether it was a load or store, | ||
82 | + if it's a 32 or 64 bit general-purpose register amongst other things. | ||
83 | + Use this to produce virtualizable instructions if you plan to run U-Boot | ||
84 | + with KVM. | ||
85 | + | ||
86 | config NVIC | ||
87 | bool | ||
88 | |||
89 | diff --git a/arch/arm/include/asm/io.h b/arch/arm/include/asm/io.h | ||
90 | index 89b1015bc4d3..85ec0e6937e8 100644 | ||
91 | --- a/arch/arm/include/asm/io.h | ||
92 | +++ b/arch/arm/include/asm/io.h | ||
93 | @@ -20,23 +20,108 @@ static inline void sync(void) | ||
94 | { | ||
95 | } | ||
96 | |||
97 | -/* Generic virtual read/write. */ | ||
98 | -#define __arch_getb(a) (*(volatile unsigned char *)(a)) | ||
99 | -#define __arch_getw(a) (*(volatile unsigned short *)(a)) | ||
100 | -#define __arch_getl(a) (*(volatile unsigned int *)(a)) | ||
101 | -#define __arch_getq(a) (*(volatile unsigned long long *)(a)) | ||
102 | +#ifdef CONFIG_ARM64 | ||
103 | +#define __W "w" | ||
104 | +#else | ||
105 | +#define __W | ||
106 | +#endif | ||
107 | + | ||
108 | +#if CONFIG_IS_ENABLED(SYS_THUMB_BUILD) | ||
109 | +#define __R "l" | ||
110 | +#define __RM "=l" | ||
111 | +#else | ||
112 | +#define __R "r" | ||
113 | +#define __RM "=r" | ||
114 | +#endif | ||
115 | |||
116 | -#define __arch_putb(v,a) (*(volatile unsigned char *)(a) = (v)) | ||
117 | -#define __arch_putw(v,a) (*(volatile unsigned short *)(a) = (v)) | ||
118 | -#define __arch_putl(v,a) (*(volatile unsigned int *)(a) = (v)) | ||
119 | -#define __arch_putq(v,a) (*(volatile unsigned long long *)(a) = (v)) | ||
120 | +#ifdef CONFIG_KVM_VIRT_INS | ||
121 | +/* | ||
122 | + * The __raw_writeX/__raw_readX below should be converted to static inline | ||
123 | + * functions. However doing so produces a lot of compilation warnings when | ||
124 | + * called with a raw address. Convert these once the callers have been fixed. | ||
125 | + */ | ||
126 | +#define __raw_writeb(val, addr) \ | ||
127 | + do { \ | ||
128 | + asm volatile("strb %" __W "0, [%1]" \ | ||
129 | + : \ | ||
130 | + : __R ((u8)(val)), __R (addr)); \ | ||
131 | + } while (0) | ||
132 | + | ||
133 | +#define __raw_readb(addr) \ | ||
134 | + ({ \ | ||
135 | + u32 __val; \ | ||
136 | + asm volatile("ldrb %" __W "0, [%1]" \ | ||
137 | + : __RM (__val) \ | ||
138 | + : __R (addr)); \ | ||
139 | + __val; \ | ||
140 | + }) | ||
141 | + | ||
142 | +#define __raw_writew(val, addr) \ | ||
143 | + do { \ | ||
144 | + asm volatile("strh %" __W "0, [%1]" \ | ||
145 | + : \ | ||
146 | + : __R ((u16)(val)), __R (addr)); \ | ||
147 | + } while (0) | ||
148 | + | ||
149 | +#define __raw_readw(addr) \ | ||
150 | + ({ \ | ||
151 | + u32 __val; \ | ||
152 | + asm volatile("ldrh %" __W "0, [%1]" \ | ||
153 | + : __RM (__val) \ | ||
154 | + : __R (addr)); \ | ||
155 | + __val; \ | ||
156 | + }) | ||
157 | + | ||
158 | +#define __raw_writel(val, addr) \ | ||
159 | + do { \ | ||
160 | + asm volatile("str %" __W "0, [%1]" \ | ||
161 | + : \ | ||
162 | + : __R ((u32)(val)), __R (addr)); \ | ||
163 | + } while (0) | ||
164 | + | ||
165 | +#define __raw_readl(addr) \ | ||
166 | + ({ \ | ||
167 | + u32 __val; \ | ||
168 | + asm volatile("ldr %" __W "0, [%1]" \ | ||
169 | + : __RM (__val) \ | ||
170 | + : __R (addr)); \ | ||
171 | + __val; \ | ||
172 | + }) | ||
173 | + | ||
174 | +#define __raw_writeq(val, addr) \ | ||
175 | + do { \ | ||
176 | + asm volatile("str %0, [%1]" \ | ||
177 | + : \ | ||
178 | + : __R ((u64)(val)), __R (addr)); \ | ||
179 | + } while (0) | ||
180 | + | ||
181 | +#define __raw_readq(addr) \ | ||
182 | + ({ \ | ||
183 | + u64 __val; \ | ||
184 | + asm volatile("ldr %0, [%1]" \ | ||
185 | + : __RM (__val) \ | ||
186 | + : __R (addr)); \ | ||
187 | + __val; \ | ||
188 | + }) | ||
189 | +#else | ||
190 | +/* Generic virtual read/write. */ | ||
191 | +#define __raw_readb(a) (*(volatile unsigned char *)(a)) | ||
192 | +#define __raw_readw(a) (*(volatile unsigned short *)(a)) | ||
193 | +#define __raw_readl(a) (*(volatile unsigned int *)(a)) | ||
194 | +#define __raw_readq(a) (*(volatile unsigned long long *)(a)) | ||
195 | + | ||
196 | +#define __raw_writeb(v, a) (*(volatile unsigned char *)(a) = (v)) | ||
197 | +#define __raw_writew(v, a) (*(volatile unsigned short *)(a) = (v)) | ||
198 | +#define __raw_writel(v, a) (*(volatile unsigned int *)(a) = (v)) | ||
199 | +#define __raw_writeq(v, a) (*(volatile unsigned long long *)(a) = (v)) | ||
200 | +#endif | ||
201 | |||
202 | static inline void __raw_writesb(unsigned long addr, const void *data, | ||
203 | int bytelen) | ||
204 | { | ||
205 | uint8_t *buf = (uint8_t *)data; | ||
206 | while(bytelen--) | ||
207 | - __arch_putb(*buf++, addr); | ||
208 | + __raw_writeb(*buf++, addr); | ||
209 | } | ||
210 | |||
211 | static inline void __raw_writesw(unsigned long addr, const void *data, | ||
212 | @@ -44,7 +129,7 @@ static inline void __raw_writesw(unsigned long addr, const void *data, | ||
213 | { | ||
214 | uint16_t *buf = (uint16_t *)data; | ||
215 | while(wordlen--) | ||
216 | - __arch_putw(*buf++, addr); | ||
217 | + __raw_writew(*buf++, addr); | ||
218 | } | ||
219 | |||
220 | static inline void __raw_writesl(unsigned long addr, const void *data, | ||
221 | @@ -52,40 +137,30 @@ static inline void __raw_writesl(unsigned long addr, const void *data, | ||
222 | { | ||
223 | uint32_t *buf = (uint32_t *)data; | ||
224 | while(longlen--) | ||
225 | - __arch_putl(*buf++, addr); | ||
226 | + __raw_writel(*buf++, addr); | ||
227 | } | ||
228 | |||
229 | static inline void __raw_readsb(unsigned long addr, void *data, int bytelen) | ||
230 | { | ||
231 | uint8_t *buf = (uint8_t *)data; | ||
232 | while(bytelen--) | ||
233 | - *buf++ = __arch_getb(addr); | ||
234 | + *buf++ = __raw_readb(addr); | ||
235 | } | ||
236 | |||
237 | static inline void __raw_readsw(unsigned long addr, void *data, int wordlen) | ||
238 | { | ||
239 | uint16_t *buf = (uint16_t *)data; | ||
240 | while(wordlen--) | ||
241 | - *buf++ = __arch_getw(addr); | ||
242 | + *buf++ = __raw_readw(addr); | ||
243 | } | ||
244 | |||
245 | static inline void __raw_readsl(unsigned long addr, void *data, int longlen) | ||
246 | { | ||
247 | uint32_t *buf = (uint32_t *)data; | ||
248 | while(longlen--) | ||
249 | - *buf++ = __arch_getl(addr); | ||
250 | + *buf++ = __raw_readl(addr); | ||
251 | } | ||
252 | |||
253 | -#define __raw_writeb(v,a) __arch_putb(v,a) | ||
254 | -#define __raw_writew(v,a) __arch_putw(v,a) | ||
255 | -#define __raw_writel(v,a) __arch_putl(v,a) | ||
256 | -#define __raw_writeq(v,a) __arch_putq(v,a) | ||
257 | - | ||
258 | -#define __raw_readb(a) __arch_getb(a) | ||
259 | -#define __raw_readw(a) __arch_getw(a) | ||
260 | -#define __raw_readl(a) __arch_getl(a) | ||
261 | -#define __raw_readq(a) __arch_getq(a) | ||
262 | - | ||
263 | /* | ||
264 | * TODO: The kernel offers some more advanced versions of barriers, it might | ||
265 | * have some advantages to use them instead of the simple one here. | ||
266 | @@ -98,15 +173,15 @@ static inline void __raw_readsl(unsigned long addr, void *data, int longlen) | ||
267 | |||
268 | #define smp_processor_id() 0 | ||
269 | |||
270 | -#define writeb(v,c) ({ u8 __v = v; __iowmb(); __arch_putb(__v,c); __v; }) | ||
271 | -#define writew(v,c) ({ u16 __v = v; __iowmb(); __arch_putw(__v,c); __v; }) | ||
272 | -#define writel(v,c) ({ u32 __v = v; __iowmb(); __arch_putl(__v,c); __v; }) | ||
273 | -#define writeq(v,c) ({ u64 __v = v; __iowmb(); __arch_putq(__v,c); __v; }) | ||
274 | +#define writeb(v, c) ({ u8 __v = v; __iowmb(); writeb_relaxed(__v, c); __v; }) | ||
275 | +#define writew(v, c) ({ u16 __v = v; __iowmb(); writew_relaxed(__v, c); __v; }) | ||
276 | +#define writel(v, c) ({ u32 __v = v; __iowmb(); writel_relaxed(__v, c); __v; }) | ||
277 | +#define writeq(v, c) ({ u64 __v = v; __iowmb(); writeq_relaxed(__v, c); __v; }) | ||
278 | |||
279 | -#define readb(c) ({ u8 __v = __arch_getb(c); __iormb(); __v; }) | ||
280 | -#define readw(c) ({ u16 __v = __arch_getw(c); __iormb(); __v; }) | ||
281 | -#define readl(c) ({ u32 __v = __arch_getl(c); __iormb(); __v; }) | ||
282 | -#define readq(c) ({ u64 __v = __arch_getq(c); __iormb(); __v; }) | ||
283 | +#define readb(c) ({ u8 __v = readb_relaxed(c); __iormb(); __v; }) | ||
284 | +#define readw(c) ({ u16 __v = readw_relaxed(c); __iormb(); __v; }) | ||
285 | +#define readl(c) ({ u32 __v = readl_relaxed(c); __iormb(); __v; }) | ||
286 | +#define readq(c) ({ u64 __v = readq_relaxed(c); __iormb(); __v; }) | ||
287 | |||
288 | /* | ||
289 | * Relaxed I/O memory access primitives. These follow the Device memory | ||
290 | @@ -121,13 +196,10 @@ static inline void __raw_readsl(unsigned long addr, void *data, int longlen) | ||
291 | #define readq_relaxed(c) ({ u64 __r = le64_to_cpu((__force __le64) \ | ||
292 | __raw_readq(c)); __r; }) | ||
293 | |||
294 | -#define writeb_relaxed(v, c) ((void)__raw_writeb((v), (c))) | ||
295 | -#define writew_relaxed(v, c) ((void)__raw_writew((__force u16) \ | ||
296 | - cpu_to_le16(v), (c))) | ||
297 | -#define writel_relaxed(v, c) ((void)__raw_writel((__force u32) \ | ||
298 | - cpu_to_le32(v), (c))) | ||
299 | -#define writeq_relaxed(v, c) ((void)__raw_writeq((__force u64) \ | ||
300 | - cpu_to_le64(v), (c))) | ||
301 | +#define writeb_relaxed(v, c) __raw_writeb((v), (c)) | ||
302 | +#define writew_relaxed(v, c) __raw_writew((__force u16)cpu_to_le16(v), (c)) | ||
303 | +#define writel_relaxed(v, c) __raw_writel((__force u32)cpu_to_le32(v), (c)) | ||
304 | +#define writeq_relaxed(v, c) __raw_writeq((__force u64)cpu_to_le64(v), (c)) | ||
305 | |||
306 | /* | ||
307 | * The compiler seems to be incapable of optimising constants | ||
308 | -- | ||
309 | 2.34.1 | ||
310 | |||
diff --git a/meta/recipes-bsp/u-boot/files/0003-qemu-arm-Enable-virtualizable-IO-accessors.patch b/meta/recipes-bsp/u-boot/files/0003-qemu-arm-Enable-virtualizable-IO-accessors.patch new file mode 100644 index 0000000000..520c9226b4 --- /dev/null +++ b/meta/recipes-bsp/u-boot/files/0003-qemu-arm-Enable-virtualizable-IO-accessors.patch | |||
@@ -0,0 +1,41 @@ | |||
1 | From cb6120b4bfd8b24dde7e0d1eda882e203a849d3f Mon Sep 17 00:00:00 2001 | ||
2 | From: Ilias Apalodimas <ilias.apalodimas@linaro.org> | ||
3 | Date: Wed, 18 Jun 2025 09:58:14 +0300 | ||
4 | Subject: [PATCH 3/3] qemu: arm: Enable virtualizable IO accessors | ||
5 | |||
6 | We recently added IO accessors that will work with KVM for any MMIO | ||
7 | access that casues an exception to the hypervisor. Enable them by | ||
8 | default for QEMU. | ||
9 | |||
10 | Upstream-Status: Backport [https://github.com/u-boot/u-boot/commit/fcc60481ae75] | ||
11 | Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> | ||
12 | Tested-by: Mikko Rapeli <mikko.rapeli@linaro.org> | ||
13 | Signed-off-by: Fabio Estevam <festevam@gmail.com> | ||
14 | --- | ||
15 | configs/qemu_arm64_defconfig | 1 + | ||
16 | configs/qemu_arm_defconfig | 1 + | ||
17 | 2 files changed, 2 insertions(+) | ||
18 | |||
19 | diff --git a/configs/qemu_arm64_defconfig b/configs/qemu_arm64_defconfig | ||
20 | index 72bd255eafa3..39afb837e411 100644 | ||
21 | --- a/configs/qemu_arm64_defconfig | ||
22 | +++ b/configs/qemu_arm64_defconfig | ||
23 | @@ -1,4 +1,5 @@ | ||
24 | CONFIG_ARM=y | ||
25 | +CONFIG_KVM_VIRT_INS=y | ||
26 | CONFIG_ARCH_QEMU=y | ||
27 | CONFIG_SYS_MALLOC_LEN=0x1000000 | ||
28 | CONFIG_BLOBLIST_SIZE_RELOC=0x2000 | ||
29 | diff --git a/configs/qemu_arm_defconfig b/configs/qemu_arm_defconfig | ||
30 | index f13001390d4d..92ba48f6af97 100644 | ||
31 | --- a/configs/qemu_arm_defconfig | ||
32 | +++ b/configs/qemu_arm_defconfig | ||
33 | @@ -1,4 +1,5 @@ | ||
34 | CONFIG_ARM=y | ||
35 | +CONFIG_KVM_VIRT_INS=y | ||
36 | CONFIG_ARM_SMCCC=y | ||
37 | CONFIG_ARCH_QEMU=y | ||
38 | CONFIG_SYS_MALLOC_LEN=0x1000000 | ||
39 | -- | ||
40 | 2.34.1 | ||
41 | |||
diff --git a/meta/recipes-bsp/u-boot/files/disable-CONFIG_BLOBLIST.cfg b/meta/recipes-bsp/u-boot/files/disable-CONFIG_BLOBLIST.cfg new file mode 100644 index 0000000000..d01d3d12d8 --- /dev/null +++ b/meta/recipes-bsp/u-boot/files/disable-CONFIG_BLOBLIST.cfg | |||
@@ -0,0 +1 @@ | |||
# CONFIG_BLOBLIST is not set | |||
diff --git a/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_a.cfg b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_a.cfg new file mode 100644 index 0000000000..fc45b64480 --- /dev/null +++ b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_a.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_RISCV_ISA_A=y | |||
diff --git a/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_c.cfg b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_c.cfg new file mode 100644 index 0000000000..1cb459f636 --- /dev/null +++ b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_c.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_RISCV_ISA_C=y | |||
diff --git a/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_clear.cfg b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_clear.cfg new file mode 100644 index 0000000000..ce90da23ce --- /dev/null +++ b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_clear.cfg | |||
@@ -0,0 +1,6 @@ | |||
1 | # CONFIG_RISCV_ISA_C is not set | ||
2 | # CONFIG_RISCV_ISA_F is not set | ||
3 | # CONFIG_RISCV_ISA_D is not set | ||
4 | # CONFIG_RISCV_ISA_ZBB is not set | ||
5 | # CONFIG_RISCV_ISA_A is not set | ||
6 | # CONFIG_RISCV_ISA_ZICBOM is not set | ||
diff --git a/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_d.cfg b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_d.cfg new file mode 100644 index 0000000000..fd25fa4e89 --- /dev/null +++ b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_d.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_RISCV_ISA_D=y | |||
diff --git a/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_f.cfg b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_f.cfg new file mode 100644 index 0000000000..dfa9876f82 --- /dev/null +++ b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_f.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_RISCV_ISA_F=y | |||
diff --git a/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_zbb.cfg b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_zbb.cfg new file mode 100644 index 0000000000..2b71b016f8 --- /dev/null +++ b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_zbb.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_RISCV_ISA_ZBB=y | |||
diff --git a/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_zicbom.cfg b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_zicbom.cfg new file mode 100644 index 0000000000..96daf04b20 --- /dev/null +++ b/meta/recipes-bsp/u-boot/files/u-boot-riscv-isa_zicbom.cfg | |||
@@ -0,0 +1 @@ | |||
CONFIG_RISCV_ISA_ZICBOM=y | |||
diff --git a/meta/recipes-bsp/u-boot/libubootenv/0001-Update-cmake_minimum_required-to-3.5.patch b/meta/recipes-bsp/u-boot/libubootenv/0001-Update-cmake_minimum_required-to-3.5.patch new file mode 100644 index 0000000000..ee174ca59e --- /dev/null +++ b/meta/recipes-bsp/u-boot/libubootenv/0001-Update-cmake_minimum_required-to-3.5.patch | |||
@@ -0,0 +1,50 @@ | |||
1 | From cd12d9dd2bea8e4580f458df77229477fc55ba70 Mon Sep 17 00:00:00 2001 | ||
2 | From: James Hilliard <james.hilliard1@gmail.com> | ||
3 | Date: Wed, 14 May 2025 14:17:40 -0600 | ||
4 | Subject: [PATCH] Update cmake_minimum_required to 3.5 | ||
5 | |||
6 | This supports compilation with cmake-4.0.0. | ||
7 | |||
8 | Fixes: | ||
9 | CMake Error at CMakeLists.txt:5 (cmake_minimum_required): | ||
10 | Compatibility with CMake < 3.5 has been removed from CMake. | ||
11 | |||
12 | Update the VERSION argument <min> value. Or, use the <min>...<max> syntax | ||
13 | to tell CMake that the project requires at least <min> but has been updated | ||
14 | to work with policies introduced by <max> or earlier. | ||
15 | |||
16 | Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway. | ||
17 | |||
18 | Signed-off-by: James Hilliard <james.hilliard1@gmail.com> | ||
19 | Upstream-Status: Backport [cd12d9dd2bea8e4580f458df77229477fc55ba70] | ||
20 | --- | ||
21 | CMakeLists.txt | 2 +- | ||
22 | src/CMakeLists.txt | 2 +- | ||
23 | 2 files changed, 2 insertions(+), 2 deletions(-) | ||
24 | |||
25 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
26 | index 796d7bc..0a11730 100644 | ||
27 | --- a/CMakeLists.txt | ||
28 | +++ b/CMakeLists.txt | ||
29 | @@ -2,7 +2,7 @@ | ||
30 | # | ||
31 | # SPDX-License-Identifier: LGPL-2.1-or-later | ||
32 | |||
33 | -cmake_minimum_required (VERSION 2.6) | ||
34 | +cmake_minimum_required (VERSION 3.5) | ||
35 | project (libubootenv C) | ||
36 | |||
37 | # The version number. | ||
38 | diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt | ||
39 | index c56d0c7..3370232 100644 | ||
40 | --- a/src/CMakeLists.txt | ||
41 | +++ b/src/CMakeLists.txt | ||
42 | @@ -1,7 +1,7 @@ | ||
43 | # SPDX-FileCopyrightText: 2019-2021 Stefano Babic <stefano.babic@swupdate.org> | ||
44 | # | ||
45 | # SPDX-License-Identifier: LGPL-2.1-or-later | ||
46 | -cmake_minimum_required (VERSION 2.6) | ||
47 | +cmake_minimum_required (VERSION 3.5) | ||
48 | # Sources and private headers | ||
49 | SET(libubootenv_SOURCES | ||
50 | uboot_env.c | ||
diff --git a/meta/recipes-bsp/u-boot/libubootenv_0.3.6.bb b/meta/recipes-bsp/u-boot/libubootenv_0.3.6.bb index 8c7a59ba96..b63b8ff87d 100644 --- a/meta/recipes-bsp/u-boot/libubootenv_0.3.6.bb +++ b/meta/recipes-bsp/u-boot/libubootenv_0.3.6.bb | |||
@@ -10,11 +10,11 @@ LICENSE = "LGPL-2.1-or-later" | |||
10 | LIC_FILES_CHKSUM = "file://LICENSES/LGPL-2.1-or-later.txt;md5=4fbd65380cdd255951079008b364516c" | 10 | LIC_FILES_CHKSUM = "file://LICENSES/LGPL-2.1-or-later.txt;md5=4fbd65380cdd255951079008b364516c" |
11 | SECTION = "libs" | 11 | SECTION = "libs" |
12 | 12 | ||
13 | SRC_URI = "git://github.com/sbabic/libubootenv;protocol=https;branch=master" | 13 | SRC_URI = "git://github.com/sbabic/libubootenv;protocol=https;branch=master \ |
14 | file://0001-Update-cmake_minimum_required-to-3.5.patch \ | ||
15 | " | ||
14 | SRCREV = "5507339628b5caf244e1ff9d58cb3fa534b16beb" | 16 | SRCREV = "5507339628b5caf244e1ff9d58cb3fa534b16beb" |
15 | 17 | ||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit cmake lib_package | 18 | inherit cmake lib_package |
19 | 19 | ||
20 | EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release" | 20 | EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release" |
diff --git a/meta/recipes-bsp/u-boot/u-boot-common.inc b/meta/recipes-bsp/u-boot/u-boot-common.inc index fd1eab5cdd..ea55545db3 100644 --- a/meta/recipes-bsp/u-boot/u-boot-common.inc +++ b/meta/recipes-bsp/u-boot/u-boot-common.inc | |||
@@ -12,11 +12,28 @@ PE = "1" | |||
12 | 12 | ||
13 | # We use the revision in order to avoid having to fetch it from the | 13 | # We use the revision in order to avoid having to fetch it from the |
14 | # repo during parse | 14 | # repo during parse |
15 | SRCREV = "34820924edbc4ec7803eb89d9852f4b870fa760a" | 15 | SRCREV = "e37de002fac3895e8d0b60ae2015e17bb33e2b5b" |
16 | 16 | ||
17 | SRC_URI = "git://source.denx.de/u-boot/u-boot.git;protocol=https;branch=master;tag=v${PV}" | 17 | SRC_URI = "\ |
18 | git://source.denx.de/u-boot/u-boot.git;protocol=https;branch=master;tag=v${PV} \ | ||
19 | file://0001-Makefile-add-dependency-from-lib-to-arch-ARCH-lib.patch \ | ||
20 | file://0001-nxp-Prepare-macros-for-KVM-changes.patch \ | ||
21 | file://0002-arm-io.h-Fix-io-accessors-for-KVM.patch \ | ||
22 | file://0003-qemu-arm-Enable-virtualizable-IO-accessors.patch \ | ||
23 | " | ||
24 | |||
25 | SRC_URI_RISCV = "\ | ||
26 | file://u-boot-riscv-isa_clear.cfg \ | ||
27 | ${@bb.utils.contains ("TUNE_FEATURES", "a", "file://u-boot-riscv-isa_a.cfg", "", d)} \ | ||
28 | ${@bb.utils.contains ("TUNE_FEATURES", "f", "file://u-boot-riscv-isa_f.cfg", "", d)} \ | ||
29 | ${@bb.utils.contains ("TUNE_FEATURES", "d", "file://u-boot-riscv-isa_d.cfg", "", d)} \ | ||
30 | ${@bb.utils.contains_any("TUNE_FEATURES", "b zbb", "file://u-boot-riscv-isa_zbb.cfg", "", d)} \ | ||
31 | ${@bb.utils.contains ("TUNE_FEATURES", "zicbom", "file://u-boot-riscv-isa_zicbom.cfg", "", d)} \ | ||
32 | " | ||
33 | |||
34 | SRC_URI:append:riscv32 = "${SRC_URI_RISCV}" | ||
35 | SRC_URI:append:riscv64 = "${SRC_URI_RISCV}" | ||
18 | 36 | ||
19 | S = "${WORKDIR}/git" | ||
20 | B = "${WORKDIR}/build" | 37 | B = "${WORKDIR}/build" |
21 | 38 | ||
22 | inherit pkgconfig | 39 | inherit pkgconfig |
diff --git a/meta/recipes-bsp/u-boot/u-boot-tools_2025.04.bb b/meta/recipes-bsp/u-boot/u-boot-tools_2025.07.bb index 7eaf721ca8..7eaf721ca8 100644 --- a/meta/recipes-bsp/u-boot/u-boot-tools_2025.04.bb +++ b/meta/recipes-bsp/u-boot/u-boot-tools_2025.07.bb | |||
diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc index 9464736b84..b7242de5de 100644 --- a/meta/recipes-bsp/u-boot/u-boot.inc +++ b/meta/recipes-bsp/u-boot/u-boot.inc | |||
@@ -192,16 +192,16 @@ uboot_install_config () { | |||
192 | config=$1 | 192 | config=$1 |
193 | type=$2 | 193 | type=$2 |
194 | 194 | ||
195 | install -D -m 644 ${B}/${config}/${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} | 195 | install -D -m 644 ${B}/${config}/${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} |
196 | ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type} | 196 | ln -sf ${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type} |
197 | ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY} | 197 | ln -sf ${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY} |
198 | 198 | ||
199 | # Install the uboot-initial-env | 199 | # Install the uboot-initial-env |
200 | if [ -n "${UBOOT_INITIAL_ENV}" ]; then | 200 | if [ -n "${UBOOT_INITIAL_ENV}" ]; then |
201 | install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} | 201 | install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION} |
202 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type} | 202 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type} |
203 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${type} | 203 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${type} |
204 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV} | 204 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV} |
205 | fi | 205 | fi |
206 | } | 206 | } |
207 | 207 | ||
@@ -211,9 +211,9 @@ uboot_install () { | |||
211 | 211 | ||
212 | # Install the uboot-initial-env | 212 | # Install the uboot-initial-env |
213 | if [ -n "${UBOOT_INITIAL_ENV}" ]; then | 213 | if [ -n "${UBOOT_INITIAL_ENV}" ]; then |
214 | install -D -m 644 ${B}/u-boot-initial-env ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} | 214 | install -D -m 644 ${B}/u-boot-initial-env ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${UBOOT_VERSION} |
215 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE} | 215 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${UBOOT_VERSION} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE} |
216 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV} | 216 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${UBOOT_VERSION} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV} |
217 | fi | 217 | fi |
218 | } | 218 | } |
219 | 219 | ||
@@ -221,9 +221,9 @@ uboot_install_elf_config () { | |||
221 | config=$1 | 221 | config=$1 |
222 | type=$2 | 222 | type=$2 |
223 | 223 | ||
224 | install -m 644 ${B}/${config}/${UBOOT_ELF} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} | 224 | install -m 644 ${B}/${config}/${UBOOT_ELF} ${D}/boot/u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} |
225 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type} | 225 | ln -sf u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type} |
226 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY} | 226 | ln -sf u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY} |
227 | } | 227 | } |
228 | 228 | ||
229 | uboot_install_elf () { | 229 | uboot_install_elf () { |
@@ -235,9 +235,9 @@ uboot_install_spl_config () { | |||
235 | config=$1 | 235 | config=$1 |
236 | type=$2 | 236 | type=$2 |
237 | 237 | ||
238 | install -m 644 ${B}/${config}/${SPL_BINARY} ${D}/boot/${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} | 238 | install -m 644 ${B}/${config}/${SPL_BINARY} ${D}/boot/${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} |
239 | ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${D}/boot/${SPL_BINARYFILE}-${type} | 239 | ln -sf ${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} ${D}/boot/${SPL_BINARYFILE}-${type} |
240 | ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${D}/boot/${SPL_BINARYFILE} | 240 | ln -sf ${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} ${D}/boot/${SPL_BINARYFILE} |
241 | } | 241 | } |
242 | 242 | ||
243 | uboot_install_spl () { | 243 | uboot_install_spl () { |
@@ -282,10 +282,10 @@ do_deploy () { | |||
282 | fi | 282 | fi |
283 | 283 | ||
284 | if [ -e ${UNPACKDIR}/fw_env.config ] ; then | 284 | if [ -e ${UNPACKDIR}/fw_env.config ] ; then |
285 | install -D -m 644 ${UNPACKDIR}/fw_env.config ${DEPLOYDIR}/fw_env.config-${MACHINE}-${PV}-${PR} | 285 | install -D -m 644 ${UNPACKDIR}/fw_env.config ${DEPLOYDIR}/fw_env.config-${MACHINE}-${UBOOT_VERSION} |
286 | cd ${DEPLOYDIR} | 286 | cd ${DEPLOYDIR} |
287 | ln -sf fw_env.config-${MACHINE}-${PV}-${PR} fw_env.config-${MACHINE} | 287 | ln -sf fw_env.config-${MACHINE}-${UBOOT_VERSION} fw_env.config-${MACHINE} |
288 | ln -sf fw_env.config-${MACHINE}-${PV}-${PR} fw_env.config | 288 | ln -sf fw_env.config-${MACHINE}-${UBOOT_VERSION} fw_env.config |
289 | fi | 289 | fi |
290 | 290 | ||
291 | if [ -n "${UBOOT_ELF}" ] | 291 | if [ -n "${UBOOT_ELF}" ] |
@@ -309,7 +309,6 @@ do_deploy () { | |||
309 | fi | 309 | fi |
310 | fi | 310 | fi |
311 | 311 | ||
312 | |||
313 | if [ -n "${SPL_BINARY}" ] | 312 | if [ -n "${SPL_BINARY}" ] |
314 | then | 313 | then |
315 | if [ -n "${UBOOT_CONFIG}" ] | 314 | if [ -n "${UBOOT_CONFIG}" ] |
@@ -355,19 +354,19 @@ uboot_deploy_config () { | |||
355 | config=$1 | 354 | config=$1 |
356 | type=$2 | 355 | type=$2 |
357 | 356 | ||
358 | install -D -m 644 ${B}/${config}/${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} | 357 | install -D -m 644 ${B}/${config}/${UBOOT_BINARYNAME}-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} |
359 | cd ${DEPLOYDIR} | 358 | cd ${DEPLOYDIR} |
360 | ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}-${type} | 359 | ln -sf ${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}-${type} |
361 | ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK} | 360 | ln -sf ${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK} |
362 | ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}-${type} | 361 | ln -sf ${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} ${UBOOT_BINARY}-${type} |
363 | ln -sf ${UBOOT_BINARYNAME}-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY} | 362 | ln -sf ${UBOOT_BINARYNAME}-${type}-${UBOOT_VERSION}.${UBOOT_SUFFIX} ${UBOOT_BINARY} |
364 | 363 | ||
365 | # Deploy the uboot-initial-env | 364 | # Deploy the uboot-initial-env |
366 | if [ -n "${UBOOT_INITIAL_ENV}" ]; then | 365 | if [ -n "${UBOOT_INITIAL_ENV}" ]; then |
367 | install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${DEPLOYDIR}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} | 366 | install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${DEPLOYDIR}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION} |
368 | cd ${DEPLOYDIR} | 367 | cd ${DEPLOYDIR} |
369 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${UBOOT_INITIAL_ENV}-${MACHINE}-${type} | 368 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION} ${UBOOT_INITIAL_ENV}-${MACHINE}-${type} |
370 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${UBOOT_INITIAL_ENV}-${type} | 369 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${UBOOT_VERSION} ${UBOOT_INITIAL_ENV}-${type} |
371 | fi | 370 | fi |
372 | } | 371 | } |
373 | 372 | ||
@@ -381,10 +380,10 @@ uboot_deploy () { | |||
381 | 380 | ||
382 | # Deploy the uboot-initial-env | 381 | # Deploy the uboot-initial-env |
383 | if [ -n "${UBOOT_INITIAL_ENV}" ]; then | 382 | if [ -n "${UBOOT_INITIAL_ENV}" ]; then |
384 | install -D -m 644 ${B}/u-boot-initial-env ${DEPLOYDIR}/${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} | 383 | install -D -m 644 ${B}/u-boot-initial-env ${DEPLOYDIR}/${UBOOT_INITIAL_ENV}-${MACHINE}-${UBOOT_VERSION} |
385 | cd ${DEPLOYDIR} | 384 | cd ${DEPLOYDIR} |
386 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${UBOOT_INITIAL_ENV}-${MACHINE} | 385 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${UBOOT_VERSION} ${UBOOT_INITIAL_ENV}-${MACHINE} |
387 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${UBOOT_INITIAL_ENV} | 386 | ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${UBOOT_VERSION} ${UBOOT_INITIAL_ENV} |
388 | fi | 387 | fi |
389 | } | 388 | } |
390 | 389 | ||
@@ -392,11 +391,11 @@ uboot_deploy_elf_config () { | |||
392 | config=$1 | 391 | config=$1 |
393 | type=$2 | 392 | type=$2 |
394 | 393 | ||
395 | install -m 644 ${B}/${config}/${UBOOT_ELF} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} | 394 | install -m 644 ${B}/${config}/${UBOOT_ELF} ${DEPLOYDIR}/u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} |
396 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}-${type} | 395 | ln -sf u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}-${type} |
397 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY} | 396 | ln -sf u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY} |
398 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}-${type} | 397 | ln -sf u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}-${type} |
399 | ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK} | 398 | ln -sf u-boot-${type}-${UBOOT_VERSION}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK} |
400 | } | 399 | } |
401 | 400 | ||
402 | uboot_deploy_elf () { | 401 | uboot_deploy_elf () { |
@@ -409,12 +408,12 @@ uboot_deploy_spl_config () { | |||
409 | config=$1 | 408 | config=$1 |
410 | type=$2 | 409 | type=$2 |
411 | 410 | ||
412 | install -m 644 ${B}/${config}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} | 411 | install -m 644 ${B}/${config}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} |
413 | rm -f ${DEPLOYDIR}/${SPL_BINARYFILE} ${DEPLOYDIR}/${SPL_SYMLINK} | 412 | rm -f ${DEPLOYDIR}/${SPL_BINARYFILE} ${DEPLOYDIR}/${SPL_SYMLINK} |
414 | ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_BINARYFILE}-${type} | 413 | ln -sf ${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_BINARYFILE}-${type} |
415 | ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_BINARYFILE} | 414 | ln -sf ${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_BINARYFILE} |
416 | ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_SYMLINK}-${type} | 415 | ln -sf ${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_SYMLINK}-${type} |
417 | ln -sf ${SPL_BINARYNAME}-${type}-${PV}-${PR}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_SYMLINK} | 416 | ln -sf ${SPL_BINARYNAME}-${type}-${UBOOT_VERSION}${SPL_DELIMITER}${SPL_SUFFIX} ${DEPLOYDIR}/${SPL_SYMLINK} |
418 | } | 417 | } |
419 | 418 | ||
420 | uboot_deploy_spl () { | 419 | uboot_deploy_spl () { |
diff --git a/meta/recipes-bsp/u-boot/u-boot_2025.04.bb b/meta/recipes-bsp/u-boot/u-boot_2025.04.bb deleted file mode 100644 index db8b2d58b4..0000000000 --- a/meta/recipes-bsp/u-boot/u-boot_2025.04.bb +++ /dev/null | |||
@@ -1,4 +0,0 @@ | |||
1 | require u-boot-common.inc | ||
2 | require u-boot.inc | ||
3 | |||
4 | DEPENDS += "bc-native dtc-native gnutls-native python3-pyelftools-native" | ||
diff --git a/meta/recipes-bsp/u-boot/u-boot_2025.07.bb b/meta/recipes-bsp/u-boot/u-boot_2025.07.bb new file mode 100644 index 0000000000..25f264c961 --- /dev/null +++ b/meta/recipes-bsp/u-boot/u-boot_2025.07.bb | |||
@@ -0,0 +1,8 @@ | |||
1 | require u-boot-common.inc | ||
2 | require u-boot.inc | ||
3 | |||
4 | DEPENDS += "bc-native dtc-native gnutls-native python3-pyelftools-native" | ||
5 | |||
6 | # workarounds for aarch64 kvm qemu boot regressions | ||
7 | SRC_URI:append:qemuarm64 = " file://disable-CONFIG_BLOBLIST.cfg" | ||
8 | SRC_URI:append:genericarm64 = " file://disable-CONFIG_BLOBLIST.cfg" | ||
diff --git a/meta/recipes-bsp/v86d/v86d_0.1.10.bb b/meta/recipes-bsp/v86d/v86d_0.1.10.bb index 6151f0a7e2..3bc9b24487 100644 --- a/meta/recipes-bsp/v86d/v86d_0.1.10.bb +++ b/meta/recipes-bsp/v86d/v86d_0.1.10.bb | |||
@@ -14,7 +14,6 @@ SRC_URI = "http://snapshot.debian.org/archive/debian/20110427T035506Z/pool/main/ | |||
14 | file://Support-for-cross-compilation.patch \ | 14 | file://Support-for-cross-compilation.patch \ |
15 | " | 15 | " |
16 | 16 | ||
17 | SRC_URI[md5sum] = "889686ec8424468fe0d205742e77a4c2" | ||
18 | SRC_URI[sha256sum] = "93575c82e4307d8c4c370ec6b767f5cf87e527b2378146d652a6d8e25d5bdbc5" | 17 | SRC_URI[sha256sum] = "93575c82e4307d8c4c370ec6b767f5cf87e527b2378146d652a6d8e25d5bdbc5" |
19 | 18 | ||
20 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 19 | PACKAGE_ARCH = "${MACHINE_ARCH}" |