Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v5 1/3] boot/xilinx-embeddedsw: rename toolchain vendor to buildroot
@ 2025-04-09  6:47 Neal Frager via buildroot
  2025-04-09  6:47 ` [Buildroot] [PATCH v5 2/3] toolchain/toolchain-bare-metal-buildroot: rename example " Neal Frager via buildroot
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Neal Frager via buildroot @ 2025-04-09  6:47 UTC (permalink / raw)
  To: buildroot
  Cc: ibai.erkiaga-elorza, luca.ceresoli, brandon.maier, ju.o,
	thomas.petazzoni, Neal Frager, romain.naour, michal.simek, arnout

This patch renames the bare-metal toolchain vendor used by the
xilinx-embeddedsw package from Xilinx to Buildroot to be consistent with all
other toolchains built by Buildroot.

To build the Microblaze applications available with the xilinx-embeddedsw
package, the following config is now needed:

BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf"

This change keeps backwards compatibility for users already using the
following architecture tuple:

BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf"

Either vendor name is now valid, but the documentation will describe using
the Buildroot vendor name.

Signed-off-by: Neal Frager <neal.frager@amd.com>
---
V1->V2:
- xilinx-embeddedsw is now backwards compatible with either vendor name
V2->V3:
- split patch into series
V3->V4:
- rebase patch
V4->V5:
- add deprecation warning for microblazeel-xilinx-elf tuple
---
 boot/xilinx-embeddedsw/Config.in            |  3 ++-
 boot/xilinx-embeddedsw/xilinx-embeddedsw.mk | 30 ++++++++++++++-------
 2 files changed, 23 insertions(+), 10 deletions(-)

diff --git a/boot/xilinx-embeddedsw/Config.in b/boot/xilinx-embeddedsw/Config.in
index a27253d594..31b12baaf2 100644
--- a/boot/xilinx-embeddedsw/Config.in
+++ b/boot/xilinx-embeddedsw/Config.in
@@ -1,4 +1,5 @@
-comment "xilinx-embeddedsw needs a bare metal toolchain for tuple microblazeel-xilinx-elf"
+comment "xilinx-embeddedsw needs a bare metal toolchain for tuple microblazeel-buildroot-elf"
+	depends on BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH != "microblazeel-buildroot-elf"
 	depends on BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH != "microblazeel-xilinx-elf"
 
 menuconfig BR2_TARGET_XILINX_EMBEDDEDSW
diff --git a/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk b/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
index 7d4fcf8b8f..6e37dc48bd 100644
--- a/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
+++ b/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
@@ -12,6 +12,18 @@ XILINX_EMBEDDEDSW_INSTALL_TARGET = NO
 XILINX_EMBEDDEDSW_INSTALL_IMAGES = YES
 XILINX_EMBEDDEDSW_DEPENDENCIES = toolchain-bare-metal-buildroot
 
+ifneq ("$(wildcard $(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc)","")
+$(warning BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf" \
+	will soon be deprecated!)
+$(warning Please migrate to new bare-metal toolchain config below)
+$(warning BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf")
+XILINX_EMBEDDEDSW_MICROBLAZE_CC = $(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc
+XILINX_EMBEDDEDSW_MICROBLAZE_AR = $(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc-ar
+else
+XILINX_EMBEDDEDSW_MICROBLAZE_CC = $(HOST_DIR)/bin/microblazeel-buildroot-elf-gcc
+XILINX_EMBEDDEDSW_MICROBLAZE_AR = $(HOST_DIR)/bin/microblazeel-buildroot-elf-gcc-ar
+endif
+
 # ZYNQMP_PMUFW application allows users to add cflags
 XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_USER_CFLAGS = \
 	$(call qstrip,$(BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_USER_CFLAGS))
@@ -23,9 +35,9 @@ XILINX_EMBEDDEDSW_CFLAGS = "-Os -flto -ffat-lto-objects"
 ifeq ($(BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM),y)
 define XILINX_EMBEDDEDSW_BUILD_VERSAL_PLM
 	$(MAKE) -C $(@D)/lib/sw_apps/versal_plm/src/versal \
-		COMPILER=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc \
-		ARCHIVER=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc-ar \
-		CC=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc \
+		COMPILER=$(XILINX_EMBEDDEDSW_MICROBLAZE_CC) \
+		ARCHIVER=$(XILINX_EMBEDDEDSW_MICROBLAZE_AR) \
+		CC=$(XILINX_EMBEDDEDSW_MICROBLAZE_CC) \
 		CFLAGS=$(XILINX_EMBEDDEDSW_CFLAGS)
 endef
 
@@ -38,9 +50,9 @@ endif # BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PLM
 ifeq ($(BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW),y)
 define XILINX_EMBEDDEDSW_BUILD_VERSAL_PSMFW
 	$(MAKE) -C $(@D)/lib/sw_apps/versal_psmfw/src/versal \
-		COMPILER=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc \
-		ARCHIVER=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc-ar \
-		CC=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc \
+		COMPILER=$(XILINX_EMBEDDEDSW_MICROBLAZE_CC) \
+		ARCHIVER=$(XILINX_EMBEDDEDSW_MICROBLAZE_AR) \
+		CC=$(XILINX_EMBEDDEDSW_MICROBLAZE_CC) \
 		CFLAGS=$(XILINX_EMBEDDEDSW_CFLAGS)
 endef
 
@@ -53,9 +65,9 @@ endif # BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW
 ifeq ($(BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW),y)
 define XILINX_EMBEDDEDSW_BUILD_ZYNQMP_PMUFW
 	$(MAKE) -C $(@D)/lib/sw_apps/zynqmp_pmufw/src \
-		COMPILER=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc \
-		ARCHIVER=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc-ar \
-		CC=$(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc \
+		COMPILER=$(XILINX_EMBEDDEDSW_MICROBLAZE_CC) \
+		ARCHIVER=$(XILINX_EMBEDDEDSW_MICROBLAZE_AR) \
+		CC=$(XILINX_EMBEDDEDSW_MICROBLAZE_CC) \
 		CFLAGS=$(XILINX_EMBEDDEDSW_ZYNQMP_PMUFW_CFLAGS)
 endef
 
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH v5 2/3] toolchain/toolchain-bare-metal-buildroot: rename example vendor to buildroot
  2025-04-09  6:47 [Buildroot] [PATCH v5 1/3] boot/xilinx-embeddedsw: rename toolchain vendor to buildroot Neal Frager via buildroot
@ 2025-04-09  6:47 ` Neal Frager via buildroot
  2025-04-09  6:47 ` [Buildroot] [PATCH v5 3/3] configs/versal|zynqmp: migrate to microblazeel-buildroot-elf tuple Neal Frager via buildroot
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 10+ messages in thread
From: Neal Frager via buildroot @ 2025-04-09  6:47 UTC (permalink / raw)
  To: buildroot
  Cc: ibai.erkiaga-elorza, luca.ceresoli, brandon.maier, ju.o,
	thomas.petazzoni, Neal Frager, romain.naour, michal.simek, arnout

Now that xilinx-embeddedsw is compatible with the toolchain vendor buildroot,
this patch modifies the toolchain-bare-metal-buildroot help example to use
the microblazeel-buildroot-elf tuple.

Signed-off-by: Neal Frager <neal.frager@amd.com>
---
V1->V3:
- new to series with V3
V3->V5:
- no changes
---
 toolchain/toolchain-bare-metal-buildroot/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/toolchain/toolchain-bare-metal-buildroot/Config.in b/toolchain/toolchain-bare-metal-buildroot/Config.in
index c86c5d725c..19c97410c6 100644
--- a/toolchain/toolchain-bare-metal-buildroot/Config.in
+++ b/toolchain/toolchain-bare-metal-buildroot/Config.in
@@ -10,7 +10,7 @@ config BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH
 
 	  For example, to build both a Microblaze and a RISC-V bare
 	  metal toolchain, use the following definition:
-	  "microblazeel-xilinx-elf riscv32-buldroot-elf"
+	  "microblazeel-buildroot-elf riscv32-buildroot-elf"
 
 source "package/newlib-bare-metal/Config.in"
 
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Buildroot] [PATCH v5 3/3] configs/versal|zynqmp: migrate to microblazeel-buildroot-elf tuple
  2025-04-09  6:47 [Buildroot] [PATCH v5 1/3] boot/xilinx-embeddedsw: rename toolchain vendor to buildroot Neal Frager via buildroot
  2025-04-09  6:47 ` [Buildroot] [PATCH v5 2/3] toolchain/toolchain-bare-metal-buildroot: rename example " Neal Frager via buildroot
@ 2025-04-09  6:47 ` Neal Frager via buildroot
  2025-05-13 10:34 ` [Buildroot] [PATCH v5 1/3] boot/xilinx-embeddedsw: rename toolchain vendor to buildroot Frager, Neal via buildroot
  2025-05-16  8:42 ` Luca Ceresoli via buildroot
  3 siblings, 0 replies; 10+ messages in thread
From: Neal Frager via buildroot @ 2025-04-09  6:47 UTC (permalink / raw)
  To: buildroot
  Cc: ibai.erkiaga-elorza, luca.ceresoli, brandon.maier, ju.o,
	thomas.petazzoni, Neal Frager, romain.naour, michal.simek, arnout

This patch migrates all the versal and zynqmp defconfigs to use the
microblazeel-buildroot-elf arch tuple for the toolchain-bare-metal-buildroot
toolchain.

Signed-off-by: Neal Frager <neal.frager@amd.com>
---
V1->V3:
- new to series with V3
V3->V5:
- no changes
---
 configs/versal_vck190_defconfig     | 2 +-
 configs/versal_vek280_defconfig     | 2 +-
 configs/versal_vpk180_defconfig     | 2 +-
 configs/zynqmp_kria_kd240_defconfig | 2 +-
 configs/zynqmp_kria_kr260_defconfig | 2 +-
 configs/zynqmp_kria_kv260_defconfig | 2 +-
 configs/zynqmp_zcu102_defconfig     | 2 +-
 configs/zynqmp_zcu104_defconfig     | 2 +-
 configs/zynqmp_zcu106_defconfig     | 2 +-
 9 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/configs/versal_vck190_defconfig b/configs/versal_vck190_defconfig
index 2f40c210a8..f1b4e15bb5 100644
--- a/configs/versal_vck190_defconfig
+++ b/configs/versal_vck190_defconfig
@@ -2,7 +2,7 @@ BR2_aarch64=y
 BR2_cortex_a72=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y
 BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y
-BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf"
+BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf"
 BR2_GLOBAL_PATCH_DIR="board/xilinx/patches"
 BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/versal/post-build.sh"
diff --git a/configs/versal_vek280_defconfig b/configs/versal_vek280_defconfig
index af8bed884f..0b45bad945 100644
--- a/configs/versal_vek280_defconfig
+++ b/configs/versal_vek280_defconfig
@@ -2,7 +2,7 @@ BR2_aarch64=y
 BR2_cortex_a72=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y
 BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y
-BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf"
+BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf"
 BR2_GLOBAL_PATCH_DIR="board/versal/vek280/patches board/xilinx/patches"
 BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/versal/post-build.sh"
diff --git a/configs/versal_vpk180_defconfig b/configs/versal_vpk180_defconfig
index afa606ec8c..acad9516ce 100644
--- a/configs/versal_vpk180_defconfig
+++ b/configs/versal_vpk180_defconfig
@@ -2,7 +2,7 @@ BR2_aarch64=y
 BR2_cortex_a72=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y
 BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y
-BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf"
+BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf"
 BR2_GLOBAL_PATCH_DIR="board/xilinx/patches"
 BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/versal/post-build.sh"
diff --git a/configs/zynqmp_kria_kd240_defconfig b/configs/zynqmp_kria_kd240_defconfig
index 261b73d6cf..69571a53bd 100644
--- a/configs/zynqmp_kria_kd240_defconfig
+++ b/configs/zynqmp_kria_kd240_defconfig
@@ -1,7 +1,7 @@
 BR2_aarch64=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y
 BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y
-BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf"
+BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf"
 BR2_GLOBAL_PATCH_DIR="board/zynqmp/patches board/zynqmp/kria/patches board/xilinx/patches"
 BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynqmp/post-build.sh"
diff --git a/configs/zynqmp_kria_kr260_defconfig b/configs/zynqmp_kria_kr260_defconfig
index 2cf2b98aa5..b7b9691fc7 100644
--- a/configs/zynqmp_kria_kr260_defconfig
+++ b/configs/zynqmp_kria_kr260_defconfig
@@ -1,7 +1,7 @@
 BR2_aarch64=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y
 BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y
-BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf"
+BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf"
 BR2_GLOBAL_PATCH_DIR="board/zynqmp/patches board/zynqmp/kria/patches board/xilinx/patches"
 BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynqmp/post-build.sh"
diff --git a/configs/zynqmp_kria_kv260_defconfig b/configs/zynqmp_kria_kv260_defconfig
index ef6a23f2a2..78d4a882c5 100644
--- a/configs/zynqmp_kria_kv260_defconfig
+++ b/configs/zynqmp_kria_kv260_defconfig
@@ -1,7 +1,7 @@
 BR2_aarch64=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y
 BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y
-BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf"
+BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf"
 BR2_GLOBAL_PATCH_DIR="board/zynqmp/patches board/zynqmp/kria/patches board/xilinx/patches"
 BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynqmp/post-build.sh"
diff --git a/configs/zynqmp_zcu102_defconfig b/configs/zynqmp_zcu102_defconfig
index 762a54d968..5010aee2dc 100644
--- a/configs/zynqmp_zcu102_defconfig
+++ b/configs/zynqmp_zcu102_defconfig
@@ -1,7 +1,7 @@
 BR2_aarch64=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y
 BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y
-BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf"
+BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf"
 BR2_GLOBAL_PATCH_DIR="board/zynqmp/patches board/xilinx/patches"
 BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynqmp/post-build.sh"
diff --git a/configs/zynqmp_zcu104_defconfig b/configs/zynqmp_zcu104_defconfig
index 92e0d41736..7352148603 100644
--- a/configs/zynqmp_zcu104_defconfig
+++ b/configs/zynqmp_zcu104_defconfig
@@ -1,7 +1,7 @@
 BR2_aarch64=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y
 BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y
-BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf"
+BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf"
 BR2_GLOBAL_PATCH_DIR="board/zynqmp/patches board/xilinx/patches"
 BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynqmp/post-build.sh"
diff --git a/configs/zynqmp_zcu106_defconfig b/configs/zynqmp_zcu106_defconfig
index 51287fdffb..b8ec4c983e 100644
--- a/configs/zynqmp_zcu106_defconfig
+++ b/configs/zynqmp_zcu106_defconfig
@@ -1,7 +1,7 @@
 BR2_aarch64=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_6=y
 BR2_TOOLCHAIN_BARE_METAL_BUILDROOT=y
-BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf"
+BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf"
 BR2_GLOBAL_PATCH_DIR="board/zynqmp/patches board/xilinx/patches"
 BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/zynqmp/post-build.sh"
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH v5 1/3] boot/xilinx-embeddedsw: rename toolchain vendor to buildroot
  2025-04-09  6:47 [Buildroot] [PATCH v5 1/3] boot/xilinx-embeddedsw: rename toolchain vendor to buildroot Neal Frager via buildroot
  2025-04-09  6:47 ` [Buildroot] [PATCH v5 2/3] toolchain/toolchain-bare-metal-buildroot: rename example " Neal Frager via buildroot
  2025-04-09  6:47 ` [Buildroot] [PATCH v5 3/3] configs/versal|zynqmp: migrate to microblazeel-buildroot-elf tuple Neal Frager via buildroot
@ 2025-05-13 10:34 ` Frager, Neal via buildroot
  2025-05-16  8:42 ` Luca Ceresoli via buildroot
  3 siblings, 0 replies; 10+ messages in thread
From: Frager, Neal via buildroot @ 2025-05-13 10:34 UTC (permalink / raw)
  To: buildroot@buildroot.org
  Cc: Erkiaga Elorza, Ibai, luca.ceresoli@bootlin.com,
	brandon.maier@collins.com, ju.o@free.fr,
	thomas.petazzoni@bootlin.com, romain.naour@smile.fr,
	Simek, Michal, arnout@mind.be

[AMD Official Use Only - AMD Internal Distribution Only]

Hello everyone,

Just a friendly reminder for this patch set.

> This patch renames the bare-metal toolchain vendor used by the
> xilinx-embeddedsw package from Xilinx to Buildroot to be consistent with all
> other toolchains built by Buildroot.

> To build the Microblaze applications available with the xilinx-embeddedsw
> package, the following config is now needed:

> BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf"

> This change keeps backwards compatibility for users already using the
> following architecture tuple:

> BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf"

> Either vendor name is now valid, but the documentation will describe using
> the Buildroot vendor name.

> Signed-off-by: Neal Frager <neal.frager@amd.com>

Best regards,
Neal Frager
AMD
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH v5 1/3] boot/xilinx-embeddedsw: rename toolchain vendor to buildroot
  2025-04-09  6:47 [Buildroot] [PATCH v5 1/3] boot/xilinx-embeddedsw: rename toolchain vendor to buildroot Neal Frager via buildroot
                   ` (2 preceding siblings ...)
  2025-05-13 10:34 ` [Buildroot] [PATCH v5 1/3] boot/xilinx-embeddedsw: rename toolchain vendor to buildroot Frager, Neal via buildroot
@ 2025-05-16  8:42 ` Luca Ceresoli via buildroot
  2025-05-16  9:34   ` Frager, Neal via buildroot
  2025-05-17  9:45   ` Frager, Neal via buildroot
  3 siblings, 2 replies; 10+ messages in thread
From: Luca Ceresoli via buildroot @ 2025-05-16  8:42 UTC (permalink / raw)
  To: Neal Frager
  Cc: ibai.erkiaga-elorza, arnout, brandon.maier, ju.o,
	thomas.petazzoni, buildroot, romain.naour, michal.simek

Hello Neal,

On Wed, 9 Apr 2025 07:47:09 +0100
Neal Frager <neal.frager@amd.com> wrote:

> This patch renames the bare-metal toolchain vendor used by the
> xilinx-embeddedsw package from Xilinx to Buildroot to be consistent with all
> other toolchains built by Buildroot.
> 
> To build the Microblaze applications available with the xilinx-embeddedsw
> package, the following config is now needed:
> 
> BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf"
> 
> This change keeps backwards compatibility for users already using the
> following architecture tuple:
> 
> BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf"
> 
> Either vendor name is now valid, but the documentation will describe using
> the Buildroot vendor name.
> 
> Signed-off-by: Neal Frager <neal.frager@amd.com>
> ---
> V1->V2:
> - xilinx-embeddedsw is now backwards compatible with either vendor name
> V2->V3:
> - split patch into series
> V3->V4:
> - rebase patch
> V4->V5:
> - add deprecation warning for microblazeel-xilinx-elf tuple
> ---
>  boot/xilinx-embeddedsw/Config.in            |  3 ++-
>  boot/xilinx-embeddedsw/xilinx-embeddedsw.mk | 30 ++++++++++++++-------
>  2 files changed, 23 insertions(+), 10 deletions(-)
> 
> diff --git a/boot/xilinx-embeddedsw/Config.in b/boot/xilinx-embeddedsw/Config.in
> index a27253d594..31b12baaf2 100644
> --- a/boot/xilinx-embeddedsw/Config.in
> +++ b/boot/xilinx-embeddedsw/Config.in
> @@ -1,4 +1,5 @@
> -comment "xilinx-embeddedsw needs a bare metal toolchain for tuple microblazeel-xilinx-elf"
> +comment "xilinx-embeddedsw needs a bare metal toolchain for tuple microblazeel-buildroot-elf"
> +	depends on BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH != "microblazeel-buildroot-elf"
>  	depends on BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH != "microblazeel-xilinx-elf"
>  
>  menuconfig BR2_TARGET_XILINX_EMBEDDEDSW
> diff --git a/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk b/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
> index 7d4fcf8b8f..6e37dc48bd 100644
> --- a/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
> +++ b/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
> @@ -12,6 +12,18 @@ XILINX_EMBEDDEDSW_INSTALL_TARGET = NO
>  XILINX_EMBEDDEDSW_INSTALL_IMAGES = YES
>  XILINX_EMBEDDEDSW_DEPENDENCIES = toolchain-bare-metal-buildroot
>  
> +ifneq ("$(wildcard $(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc)","")
> +$(warning BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf" \
> +	will soon be deprecated!)
> +$(warning Please migrate to new bare-metal toolchain config below)

A warning is not very visible, so it won't be very effective. You
should really use the same logic that Config.in.legacy uses: error out,
and clearly state how to migrate, practically. E.g. (untested):

$(error microblazeel-xilinx-elf in BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH is not supported anymore!)
$(error Replace microblazeel-xilinx-elf with microblazeel-buildroot-elf in BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH)

Moreover, an existing and working defconfig with
microblazeel-xilinx-elf hard fails later on with this patch:

  >>> xilinx-embeddedsw xilinx_v2024.2 Building
  ...
  make[4]: <...>/output/host/bin/microblazeel-buildroot-elf-gcc: No such file or directory

Steps to reproduce, from a clean Buildroot git clone:

  git checkout a4249a20243bb620d095a36e78d3722aa29f8da7 # current master
  # Apply patch 1 (not 2 and 3)
  make zynqmp_kria_kv260_defconfig
  make xilinx-embeddedsw

The patch looks good otherwise.

Luca

-- 
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH v5 1/3] boot/xilinx-embeddedsw: rename toolchain vendor to buildroot
  2025-05-16  8:42 ` Luca Ceresoli via buildroot
@ 2025-05-16  9:34   ` Frager, Neal via buildroot
  2025-05-19 15:34     ` Luca Ceresoli via buildroot
  2025-05-17  9:45   ` Frager, Neal via buildroot
  1 sibling, 1 reply; 10+ messages in thread
From: Frager, Neal via buildroot @ 2025-05-16  9:34 UTC (permalink / raw)
  To: Luca Ceresoli
  Cc: Erkiaga Elorza, Ibai, arnout@mind.be, brandon.maier@collins.com,
	ju.o@free.fr, thomas.petazzoni@bootlin.com,
	buildroot@buildroot.org, romain.naour@smile.fr, Simek, Michal

[AMD Official Use Only - AMD Internal Distribution Only]

Hi Luca,

> This patch renames the bare-metal toolchain vendor used by the
> xilinx-embeddedsw package from Xilinx to Buildroot to be consistent with all
> other toolchains built by Buildroot.
>
> To build the Microblaze applications available with the xilinx-embeddedsw
> package, the following config is now needed:
>
> BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf"
>
> This change keeps backwards compatibility for users already using the
> following architecture tuple:
>
> BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf"
>
> Either vendor name is now valid, but the documentation will describe using
> the Buildroot vendor name.
>
> Signed-off-by: Neal Frager <neal.frager@amd.com>
> ---
> V1->V2:
> - xilinx-embeddedsw is now backwards compatible with either vendor name
> V2->V3:
> - split patch into series
> V3->V4:
> - rebase patch
> V4->V5:
> - add deprecation warning for microblazeel-xilinx-elf tuple
> ---
>  boot/xilinx-embeddedsw/Config.in            |  3 ++-
>  boot/xilinx-embeddedsw/xilinx-embeddedsw.mk | 30 ++++++++++++++-------
>  2 files changed, 23 insertions(+), 10 deletions(-)
>
> diff --git a/boot/xilinx-embeddedsw/Config.in b/boot/xilinx-embeddedsw/Config.in
> index a27253d594..31b12baaf2 100644
> --- a/boot/xilinx-embeddedsw/Config.in
> +++ b/boot/xilinx-embeddedsw/Config.in
> @@ -1,4 +1,5 @@
> -comment "xilinx-embeddedsw needs a bare metal toolchain for tuple microblazeel-xilinx-elf"
> +comment "xilinx-embeddedsw needs a bare metal toolchain for tuple microblazeel-buildroot-elf"
> +     depends on BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH != "microblazeel-buildroot-elf"
>       depends on BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH != "microblazeel-xilinx-elf"
>
>  menuconfig BR2_TARGET_XILINX_EMBEDDEDSW
> diff --git a/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk b/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
> index 7d4fcf8b8f..6e37dc48bd 100644
> --- a/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
> +++ b/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
> @@ -12,6 +12,18 @@ XILINX_EMBEDDEDSW_INSTALL_TARGET = NO
>  XILINX_EMBEDDEDSW_INSTALL_IMAGES = YES
>  XILINX_EMBEDDEDSW_DEPENDENCIES = toolchain-bare-metal-buildroot
>
> +ifneq ("$(wildcard $(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc)","")
> +$(warning BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf" \
> +     will soon be deprecated!)
> +$(warning Please migrate to new bare-metal toolchain config below)

> A warning is not very visible, so it won't be very effective. You
> should really use the same logic that Config.in.legacy uses: error out,
> and clearly state how to migrate, practically. E.g. (untested):

> $(error microblazeel-xilinx-elf in BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH is not supported anymore!)
> $(error Replace microblazeel-xilinx-elf with microblazeel-buildroot-elf in BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH)

If I do this, then it means that users must switch immediately to the new
microblazeel-buildroot-elf tuple definition.  My thought about the warning was
that either tuple would be valid for awhile before deprecating the old one.

> Moreover, an existing and working defconfig with
> microblazeel-xilinx-elf hard fails later on with this patch:

>  >>> xilinx-embeddedsw xilinx_v2024.2 Building
>  ...
>  make[4]: <...>/output/host/bin/microblazeel-buildroot-elf-gcc: No such file or directory

> Steps to reproduce, from a clean Buildroot git clone:

>  git checkout a4249a20243bb620d095a36e78d3722aa29f8da7 # current master
>  # Apply patch 1 (not 2 and 3)
>  make zynqmp_kria_kv260_defconfig
>  make xilinx-embeddedsw

This error seems to show that the following dependency from the
xilinx-embeddedsw.mk is ignored when building only this package instead of
using a generic make.  With generic make, it builds correctly.

XILINX_EMBEDDEDSW_DEPENDENCIES = toolchain-bare-metal-buildroot

Should the dependencies still work when specifying a specific package to build?

> The patch looks good otherwise.

Best regards,
Neal Frager
AMD
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH v5 1/3] boot/xilinx-embeddedsw: rename toolchain vendor to buildroot
  2025-05-16  8:42 ` Luca Ceresoli via buildroot
  2025-05-16  9:34   ` Frager, Neal via buildroot
@ 2025-05-17  9:45   ` Frager, Neal via buildroot
  1 sibling, 0 replies; 10+ messages in thread
From: Frager, Neal via buildroot @ 2025-05-17  9:45 UTC (permalink / raw)
  To: Luca Ceresoli
  Cc: Erkiaga Elorza, Ibai, arnout@mind.be, brandon.maier@collins.com,
	ju.o@free.fr, thomas.petazzoni@bootlin.com,
	buildroot@buildroot.org, romain.naour@smile.fr, Simek, Michal

[AMD Official Use Only - AMD Internal Distribution Only]

Hello Luca,

> This patch renames the bare-metal toolchain vendor used by the
> xilinx-embeddedsw package from Xilinx to Buildroot to be consistent with all
> other toolchains built by Buildroot.
>
> To build the Microblaze applications available with the xilinx-embeddedsw
> package, the following config is now needed:
>
> BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf"
>
> This change keeps backwards compatibility for users already using the
> following architecture tuple:
>
> BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf"
>
> Either vendor name is now valid, but the documentation will describe using
> the Buildroot vendor name.
>
> Signed-off-by: Neal Frager <neal.frager@amd.com>
> ---
> V1->V2:
> - xilinx-embeddedsw is now backwards compatible with either vendor name
> V2->V3:
> - split patch into series
> V3->V4:
> - rebase patch
> V4->V5:
> - add deprecation warning for microblazeel-xilinx-elf tuple
> ---
>  boot/xilinx-embeddedsw/Config.in            |  3 ++-
>  boot/xilinx-embeddedsw/xilinx-embeddedsw.mk | 30 ++++++++++++++-------
>  2 files changed, 23 insertions(+), 10 deletions(-)
>
> diff --git a/boot/xilinx-embeddedsw/Config.in b/boot/xilinx-embeddedsw/Config.in
> index a27253d594..31b12baaf2 100644
> --- a/boot/xilinx-embeddedsw/Config.in
> +++ b/boot/xilinx-embeddedsw/Config.in
> @@ -1,4 +1,5 @@
> -comment "xilinx-embeddedsw needs a bare metal toolchain for tuple microblazeel-xilinx-elf"
> +comment "xilinx-embeddedsw needs a bare metal toolchain for tuple microblazeel-buildroot-elf"
> +     depends on BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH != "microblazeel-buildroot-elf"
>       depends on BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH != "microblazeel-xilinx-elf"
>
>  menuconfig BR2_TARGET_XILINX_EMBEDDEDSW
> diff --git a/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk b/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
> index 7d4fcf8b8f..6e37dc48bd 100644
> --- a/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
> +++ b/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
> @@ -12,6 +12,18 @@ XILINX_EMBEDDEDSW_INSTALL_TARGET = NO
>  XILINX_EMBEDDEDSW_INSTALL_IMAGES = YES
>  XILINX_EMBEDDEDSW_DEPENDENCIES = toolchain-bare-metal-buildroot
>
> +ifneq ("$(wildcard $(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc)","")
> +$(warning BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf" \
> +     will soon be deprecated!)
> +$(warning Please migrate to new bare-metal toolchain config below)

> A warning is not very visible, so it won't be very effective. You
> should really use the same logic that Config.in.legacy uses: error out,
> and clearly state how to migrate, practically. E.g. (untested):

> $(error microblazeel-xilinx-elf in BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH is not supported anymore!)
> $(error Replace microblazeel-xilinx-elf with microblazeel-buildroot-elf in BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH)

> Moreover, an existing and working defconfig with
> microblazeel-xilinx-elf hard fails later on with this patch:

>  >>> xilinx-embeddedsw xilinx_v2024.2 Building
>  ...
>  make[4]: <...>/output/host/bin/microblazeel-buildroot-elf-gcc: No such file or directory

> Steps to reproduce, from a clean Buildroot git clone:

>  git checkout a4249a20243bb620d095a36e78d3722aa29f8da7 # current master
>  # Apply patch 1 (not 2 and 3)
>  make zynqmp_kria_kv260_defconfig
>  make xilinx-embeddedsw

I re-checked this, and you are right.  $(HOST_DIR) is not available in time
for the wildcard function in the current version of the patch.  I need to
put this in a script to make sure that $(HOST_DIR) exists before the wildcard
function is evaluated.  I will fix this with the next version.

> The patch looks good otherwise.

Thanks for your review as always!

Best regards,
Neal Frager
AMD
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH v5 1/3] boot/xilinx-embeddedsw: rename toolchain vendor to buildroot
  2025-05-16  9:34   ` Frager, Neal via buildroot
@ 2025-05-19 15:34     ` Luca Ceresoli via buildroot
  2025-05-19 16:02       ` Frager, Neal via buildroot
  0 siblings, 1 reply; 10+ messages in thread
From: Luca Ceresoli via buildroot @ 2025-05-19 15:34 UTC (permalink / raw)
  To: Frager, Neal
  Cc: Erkiaga Elorza, Ibai, arnout@mind.be, brandon.maier@collins.com,
	ju.o@free.fr, thomas.petazzoni@bootlin.com,
	buildroot@buildroot.org, romain.naour@smile.fr, Simek, Michal

On Fri, 16 May 2025 09:34:53 +0000
"Frager, Neal" <neal.frager@amd.com> wrote:

> [AMD Official Use Only - AMD Internal Distribution Only]
> 
> Hi Luca,
> 
> > This patch renames the bare-metal toolchain vendor used by the
> > xilinx-embeddedsw package from Xilinx to Buildroot to be consistent with all
> > other toolchains built by Buildroot.
> >
> > To build the Microblaze applications available with the xilinx-embeddedsw
> > package, the following config is now needed:
> >
> > BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf"
> >
> > This change keeps backwards compatibility for users already using the
> > following architecture tuple:
> >
> > BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf"
> >
> > Either vendor name is now valid, but the documentation will describe using
> > the Buildroot vendor name.
> >
> > Signed-off-by: Neal Frager <neal.frager@amd.com>
> > ---
> > V1->V2:
> > - xilinx-embeddedsw is now backwards compatible with either vendor name
> > V2->V3:
> > - split patch into series
> > V3->V4:
> > - rebase patch
> > V4->V5:
> > - add deprecation warning for microblazeel-xilinx-elf tuple
> > ---
> >  boot/xilinx-embeddedsw/Config.in            |  3 ++-
> >  boot/xilinx-embeddedsw/xilinx-embeddedsw.mk | 30 ++++++++++++++-------
> >  2 files changed, 23 insertions(+), 10 deletions(-)
> >
> > diff --git a/boot/xilinx-embeddedsw/Config.in b/boot/xilinx-embeddedsw/Config.in
> > index a27253d594..31b12baaf2 100644
> > --- a/boot/xilinx-embeddedsw/Config.in
> > +++ b/boot/xilinx-embeddedsw/Config.in
> > @@ -1,4 +1,5 @@
> > -comment "xilinx-embeddedsw needs a bare metal toolchain for tuple microblazeel-xilinx-elf"
> > +comment "xilinx-embeddedsw needs a bare metal toolchain for tuple microblazeel-buildroot-elf"
> > +     depends on BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH != "microblazeel-buildroot-elf"
> >       depends on BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH != "microblazeel-xilinx-elf"
> >
> >  menuconfig BR2_TARGET_XILINX_EMBEDDEDSW
> > diff --git a/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk b/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
> > index 7d4fcf8b8f..6e37dc48bd 100644
> > --- a/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
> > +++ b/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
> > @@ -12,6 +12,18 @@ XILINX_EMBEDDEDSW_INSTALL_TARGET = NO
> >  XILINX_EMBEDDEDSW_INSTALL_IMAGES = YES
> >  XILINX_EMBEDDEDSW_DEPENDENCIES = toolchain-bare-metal-buildroot
> >
> > +ifneq ("$(wildcard $(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc)","")
> > +$(warning BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf" \
> > +     will soon be deprecated!)
> > +$(warning Please migrate to new bare-metal toolchain config below)  
> 
> > A warning is not very visible, so it won't be very effective. You
> > should really use the same logic that Config.in.legacy uses: error out,
> > and clearly state how to migrate, practically. E.g. (untested):  
> 
> > $(error microblazeel-xilinx-elf in BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH is not supported anymore!)
> > $(error Replace microblazeel-xilinx-elf with microblazeel-buildroot-elf in BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH)  
> 
> If I do this, then it means that users must switch immediately to the new
> microblazeel-buildroot-elf tuple definition.  My thought about the warning was
> that either tuple would be valid for awhile before deprecating the old one.

I understand your idea, and I'm sorry I didn't realize from the
beginning and changed my mind only after testing accurately the series.

However I think a warning will be unnoticed my many users, and others
might just be lazy and ignore it for as long as they can. So basically
they would never update their defconfigs until forced to do so.

It may look a rough attitude, but it's pragmatic, and it is what
happens with Config.in.legacy IIUC: an old symbol is not accepted
starting at a given Buildroot release, but an easy upgrade path is
provided for at least one year after that release. So users upgrading
regularly enough will:

  1) upgrade to newer Buildroot release
  2) have a build failure with instructions on how to update
  3) update their defconfig
  4) build successfully
  5) be happy

Note the "with instructions on how to update" at step 2. This is a
prerequisite to step 5. :-)

Luca

-- 
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH v5 1/3] boot/xilinx-embeddedsw: rename toolchain vendor to buildroot
  2025-05-19 15:34     ` Luca Ceresoli via buildroot
@ 2025-05-19 16:02       ` Frager, Neal via buildroot
  2025-05-19 20:29         ` Luca Ceresoli via buildroot
  0 siblings, 1 reply; 10+ messages in thread
From: Frager, Neal via buildroot @ 2025-05-19 16:02 UTC (permalink / raw)
  To: Luca Ceresoli
  Cc: Erkiaga Elorza, Ibai, arnout@mind.be, brandon.maier@collins.com,
	ju.o@free.fr, thomas.petazzoni@bootlin.com,
	buildroot@buildroot.org, romain.naour@smile.fr, Simek, Michal

[AMD Official Use Only - AMD Internal Distribution Only]

>
> > This patch renames the bare-metal toolchain vendor used by the
> > xilinx-embeddedsw package from Xilinx to Buildroot to be consistent with all
> > other toolchains built by Buildroot.
> >
> > To build the Microblaze applications available with the xilinx-embeddedsw
> > package, the following config is now needed:
> >
> > BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf"
> >
> > This change keeps backwards compatibility for users already using the
> > following architecture tuple:
> >
> > BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf"
> >
> > Either vendor name is now valid, but the documentation will describe using
> > the Buildroot vendor name.
> >
> > Signed-off-by: Neal Frager <neal.frager@amd.com>
> > ---
> > V1->V2:
> > - xilinx-embeddedsw is now backwards compatible with either vendor name
> > V2->V3:
> > - split patch into series
> > V3->V4:
> > - rebase patch
> > V4->V5:
> > - add deprecation warning for microblazeel-xilinx-elf tuple
> > ---
> >  boot/xilinx-embeddedsw/Config.in            |  3 ++-
> >  boot/xilinx-embeddedsw/xilinx-embeddedsw.mk | 30 ++++++++++++++-------
> >  2 files changed, 23 insertions(+), 10 deletions(-)
> >
> > diff --git a/boot/xilinx-embeddedsw/Config.in b/boot/xilinx-embeddedsw/Config.in
> > index a27253d594..31b12baaf2 100644
> > --- a/boot/xilinx-embeddedsw/Config.in
> > +++ b/boot/xilinx-embeddedsw/Config.in
> > @@ -1,4 +1,5 @@
> > -comment "xilinx-embeddedsw needs a bare metal toolchain for tuple microblazeel-xilinx-elf"
> > +comment "xilinx-embeddedsw needs a bare metal toolchain for tuple microblazeel-buildroot-elf"
> > +     depends on BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH != "microblazeel-buildroot-elf"
> >       depends on BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH != "microblazeel-xilinx-elf"
> >
> >  menuconfig BR2_TARGET_XILINX_EMBEDDEDSW
> > diff --git a/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk b/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
> > index 7d4fcf8b8f..6e37dc48bd 100644
> > --- a/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
> > +++ b/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
> > @@ -12,6 +12,18 @@ XILINX_EMBEDDEDSW_INSTALL_TARGET = NO
> >  XILINX_EMBEDDEDSW_INSTALL_IMAGES = YES
> >  XILINX_EMBEDDEDSW_DEPENDENCIES = toolchain-bare-metal-buildroot
> >
> > +ifneq ("$(wildcard $(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc)","")
> > +$(warning BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf" \
> > +     will soon be deprecated!)
> > +$(warning Please migrate to new bare-metal toolchain config below)
>
> > A warning is not very visible, so it won't be very effective. You
> > should really use the same logic that Config.in.legacy uses: error out,
> > and clearly state how to migrate, practically. E.g. (untested):
>
> > $(error microblazeel-xilinx-elf in BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH is not supported anymore!)
> > $(error Replace microblazeel-xilinx-elf with microblazeel-buildroot-elf in BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH)
>
> If I do this, then it means that users must switch immediately to the new
> microblazeel-buildroot-elf tuple definition.  My thought about the warning was
> that either tuple would be valid for awhile before deprecating the old one.

> I understand your idea, and I'm sorry I didn't realize from the
> beginning and changed my mind only after testing accurately the series.

> However I think a warning will be unnoticed my many users, and others
> might just be lazy and ignore it for as long as they can. So basically
> they would never update their defconfigs until forced to do so.

> It may look a rough attitude, but it's pragmatic, and it is what
> happens with Config.in.legacy IIUC: an old symbol is not accepted
> starting at a given Buildroot release, but an easy upgrade path is
> provided for at least one year after that release. So users upgrading
> regularly enough will:

>  1) upgrade to newer Buildroot release
>  2) have a build failure with instructions on how to update
>  3) update their defconfig
>  4) build successfully
>  5) be happy

> Note the "with instructions on how to update" at step 2. This is a
> prerequisite to step 5. :-)

Hi Luca,

I agree with your strategy of #2 leading to #5, so I will go ahead with
deprecating the xilinx vendor name with this patch set.

However, to add the new buildroot vendor name, I have a chicken and
egg issue.  If I deprecate the xilinx vendor name while adding the buildroot
vendor name, it will cause all the zynqmp defconfigs to have build failures.

Would you be ok of my patch set doing the following?

Patch 1: Add buildroot vendor name with warning messages.
Patch 2: Update toolchain-bare-metal help details.
Patch 3: Migrate zynqmp defconfigs to new buildroot vendor.
Patch 4: Change warning messages to error messages.

Basically, the dual-vendor name support will only exist after applying the
first 3 patches.  So you could say, the warning period will be really short!

What do you think of this solution?

Best regards,
Neal Frager
AMD
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] [PATCH v5 1/3] boot/xilinx-embeddedsw: rename toolchain vendor to buildroot
  2025-05-19 16:02       ` Frager, Neal via buildroot
@ 2025-05-19 20:29         ` Luca Ceresoli via buildroot
  0 siblings, 0 replies; 10+ messages in thread
From: Luca Ceresoli via buildroot @ 2025-05-19 20:29 UTC (permalink / raw)
  To: Frager, Neal
  Cc: Erkiaga Elorza, Ibai, arnout@mind.be, brandon.maier@collins.com,
	ju.o@free.fr, thomas.petazzoni@bootlin.com,
	buildroot@buildroot.org, romain.naour@smile.fr, Simek, Michal

On Mon, 19 May 2025 16:02:33 +0000
"Frager, Neal" <neal.frager@amd.com> wrote:

> [AMD Official Use Only - AMD Internal Distribution Only]
> 
> >  
> > > This patch renames the bare-metal toolchain vendor used by the
> > > xilinx-embeddedsw package from Xilinx to Buildroot to be consistent with all
> > > other toolchains built by Buildroot.
> > >
> > > To build the Microblaze applications available with the xilinx-embeddedsw
> > > package, the following config is now needed:
> > >
> > > BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-buildroot-elf"
> > >
> > > This change keeps backwards compatibility for users already using the
> > > following architecture tuple:
> > >
> > > BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf"
> > >
> > > Either vendor name is now valid, but the documentation will describe using
> > > the Buildroot vendor name.
> > >
> > > Signed-off-by: Neal Frager <neal.frager@amd.com>
> > > ---
> > > V1->V2:
> > > - xilinx-embeddedsw is now backwards compatible with either vendor name
> > > V2->V3:
> > > - split patch into series
> > > V3->V4:
> > > - rebase patch
> > > V4->V5:
> > > - add deprecation warning for microblazeel-xilinx-elf tuple
> > > ---
> > >  boot/xilinx-embeddedsw/Config.in            |  3 ++-
> > >  boot/xilinx-embeddedsw/xilinx-embeddedsw.mk | 30 ++++++++++++++-------
> > >  2 files changed, 23 insertions(+), 10 deletions(-)
> > >
> > > diff --git a/boot/xilinx-embeddedsw/Config.in b/boot/xilinx-embeddedsw/Config.in
> > > index a27253d594..31b12baaf2 100644
> > > --- a/boot/xilinx-embeddedsw/Config.in
> > > +++ b/boot/xilinx-embeddedsw/Config.in
> > > @@ -1,4 +1,5 @@
> > > -comment "xilinx-embeddedsw needs a bare metal toolchain for tuple microblazeel-xilinx-elf"
> > > +comment "xilinx-embeddedsw needs a bare metal toolchain for tuple microblazeel-buildroot-elf"
> > > +     depends on BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH != "microblazeel-buildroot-elf"
> > >       depends on BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH != "microblazeel-xilinx-elf"
> > >
> > >  menuconfig BR2_TARGET_XILINX_EMBEDDEDSW
> > > diff --git a/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk b/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
> > > index 7d4fcf8b8f..6e37dc48bd 100644
> > > --- a/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
> > > +++ b/boot/xilinx-embeddedsw/xilinx-embeddedsw.mk
> > > @@ -12,6 +12,18 @@ XILINX_EMBEDDEDSW_INSTALL_TARGET = NO
> > >  XILINX_EMBEDDEDSW_INSTALL_IMAGES = YES
> > >  XILINX_EMBEDDEDSW_DEPENDENCIES = toolchain-bare-metal-buildroot
> > >
> > > +ifneq ("$(wildcard $(HOST_DIR)/bin/microblazeel-xilinx-elf-gcc)","")
> > > +$(warning BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH="microblazeel-xilinx-elf" \
> > > +     will soon be deprecated!)
> > > +$(warning Please migrate to new bare-metal toolchain config below)  
> >  
> > > A warning is not very visible, so it won't be very effective. You
> > > should really use the same logic that Config.in.legacy uses: error out,
> > > and clearly state how to migrate, practically. E.g. (untested):  
> >  
> > > $(error microblazeel-xilinx-elf in BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH is not supported anymore!)
> > > $(error Replace microblazeel-xilinx-elf with microblazeel-buildroot-elf in BR2_TOOLCHAIN_BARE_METAL_BUILDROOT_ARCH)  
> >
> > If I do this, then it means that users must switch immediately to the new
> > microblazeel-buildroot-elf tuple definition.  My thought about the warning was
> > that either tuple would be valid for awhile before deprecating the old one.  
> 
> > I understand your idea, and I'm sorry I didn't realize from the
> > beginning and changed my mind only after testing accurately the series.  
> 
> > However I think a warning will be unnoticed my many users, and others
> > might just be lazy and ignore it for as long as they can. So basically
> > they would never update their defconfigs until forced to do so.  
> 
> > It may look a rough attitude, but it's pragmatic, and it is what
> > happens with Config.in.legacy IIUC: an old symbol is not accepted
> > starting at a given Buildroot release, but an easy upgrade path is
> > provided for at least one year after that release. So users upgrading
> > regularly enough will:  
> 
> >  1) upgrade to newer Buildroot release
> >  2) have a build failure with instructions on how to update
> >  3) update their defconfig
> >  4) build successfully
> >  5) be happy  
> 
> > Note the "with instructions on how to update" at step 2. This is a
> > prerequisite to step 5. :-)  
> 
> Hi Luca,
> 
> I agree with your strategy of #2 leading to #5, so I will go ahead with
> deprecating the xilinx vendor name with this patch set.
> 
> However, to add the new buildroot vendor name, I have a chicken and
> egg issue.  If I deprecate the xilinx vendor name while adding the buildroot
> vendor name, it will cause all the zynqmp defconfigs to have build failures.
> 
> Would you be ok of my patch set doing the following?
> 
> Patch 1: Add buildroot vendor name with warning messages.
> Patch 2: Update toolchain-bare-metal help details.
> Patch 3: Migrate zynqmp defconfigs to new buildroot vendor.
> Patch 4: Change warning messages to error messages.

That would work. But if it makes your life simpler, I guess for this
specific case it would make sense to have a single commit doing
everything. I.e. squash all the 4 patches into a single patch.

Luca

-- 
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2025-05-19 20:29 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-09  6:47 [Buildroot] [PATCH v5 1/3] boot/xilinx-embeddedsw: rename toolchain vendor to buildroot Neal Frager via buildroot
2025-04-09  6:47 ` [Buildroot] [PATCH v5 2/3] toolchain/toolchain-bare-metal-buildroot: rename example " Neal Frager via buildroot
2025-04-09  6:47 ` [Buildroot] [PATCH v5 3/3] configs/versal|zynqmp: migrate to microblazeel-buildroot-elf tuple Neal Frager via buildroot
2025-05-13 10:34 ` [Buildroot] [PATCH v5 1/3] boot/xilinx-embeddedsw: rename toolchain vendor to buildroot Frager, Neal via buildroot
2025-05-16  8:42 ` Luca Ceresoli via buildroot
2025-05-16  9:34   ` Frager, Neal via buildroot
2025-05-19 15:34     ` Luca Ceresoli via buildroot
2025-05-19 16:02       ` Frager, Neal via buildroot
2025-05-19 20:29         ` Luca Ceresoli via buildroot
2025-05-17  9:45   ` Frager, Neal via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox