diff mbox series

[v3,4/6] package/toolchain-bare-metal: new package

Message ID 20230904100443.1613306-4-neal.frager@amd.com
State Superseded, archived
Headers show
Series [v3,1/6] package/binutils-bare-metal: new package | expand

Commit Message

Neal Frager Sept. 4, 2023, 10:04 a.m. UTC
This patch adds a new virtual package for adding a bare-metal toolchain to
buildroot.  By default, this package will configure a bare-metal toolchain
for the Xilinx microblaze little endian architecture.  When configured for
the Xilinx microblaze architecture, this toolchain can be used to build the
microblaze firmware applications for zynqmp and versal.

Signed-off-by: Ibai Erkiaga-Elorza <ibai.erkiaga-elorza@amd.com>
Signed-off-by: Neal Frager <neal.frager@amd.com>
---
V1->V2:
 - adds select option to bring in all packages needed for toolchain-bare-metal
V2->V3:
 - no changes/
---
 DEVELOPERS                                    |  2 ++
 package/Config.in.host                        |  1 +
 package/toolchain-bare-metal/Config.in.host   | 21 +++++++++++++++++++
 .../toolchain-bare-metal.mk                   |  7 +++++++
 4 files changed, 31 insertions(+)
 create mode 100644 package/toolchain-bare-metal/Config.in.host
 create mode 100644 package/toolchain-bare-metal/toolchain-bare-metal.mk

Comments

Luca Ceresoli Sept. 22, 2023, 12:55 p.m. UTC | #1
Hello,

On Mon, 4 Sep 2023 11:04:41 +0100
Neal Frager <neal.frager@amd.com> wrote:

> This patch adds a new virtual package for adding a bare-metal toolchain to
> buildroot.  By default, this package will configure a bare-metal toolchain
> for the Xilinx microblaze little endian architecture.  When configured for
> the Xilinx microblaze architecture, this toolchain can be used to build the
> microblaze firmware applications for zynqmp and versal.
> 
> Signed-off-by: Ibai Erkiaga-Elorza <ibai.erkiaga-elorza@amd.com>
> Signed-off-by: Neal Frager <neal.frager@amd.com>
> ---
> V1->V2:
>  - adds select option to bring in all packages needed for toolchain-bare-metal
> V2->V3:
>  - no changes/
> ---
>  DEVELOPERS                                    |  2 ++
>  package/Config.in.host                        |  1 +
>  package/toolchain-bare-metal/Config.in.host   | 21 +++++++++++++++++++
>  .../toolchain-bare-metal.mk                   |  7 +++++++

I wonder whether this should be in toolchain/ instead of package/.

>  4 files changed, 31 insertions(+)
>  create mode 100644 package/toolchain-bare-metal/Config.in.host
>  create mode 100644 package/toolchain-bare-metal/toolchain-bare-metal.mk
> 
> diff --git a/DEVELOPERS b/DEVELOPERS
> index b8daa9183a..5978d79a06 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -1331,6 +1331,7 @@ N:	Ibai Erkiaga-Elorza <ibai.erkiaga-elorza@amd.com>
>  F:	package/binutils-bare-metal/
>  F:	package/gcc-bare-metal/
>  F:	package/newlib-bare-metal/
> +F:	package/toolchain-bare-metal/
>  
>  N:	Ignacy Gawędzki <ignacy.gawedzki@green-communications.fr>
>  F:	package/angularjs/
> @@ -2200,6 +2201,7 @@ F:	package/binutils-bare-metal/
>  F:	package/bootgen/
>  F:	package/gcc-bare-metal/
>  F:	package/newlib-bare-metal/
> +F:	package/toolchain-bare-metal/
>  F:	package/versal-firmware/
>  
>  N:	Nicola Di Lieto <nicola.dilieto@gmail.com>
> diff --git a/package/Config.in.host b/package/Config.in.host
> index aa1f15e3ac..103d461a7f 100644
> --- a/package/Config.in.host
> +++ b/package/Config.in.host
> @@ -106,6 +106,7 @@ menu "Host utilities"
>  	source "package/systemd/Config.in.host"
>  	source "package/tegrarcm/Config.in.host"
>  	source "package/ti-cgt-pru/Config.in.host"
> +	source "package/toolchain-bare-metal/Config.in.host"
>  	source "package/uboot-tools/Config.in.host"
>  	source "package/util-linux/Config.in.host"
>  	source "package/utp_com/Config.in.host"
> diff --git a/package/toolchain-bare-metal/Config.in.host b/package/toolchain-bare-metal/Config.in.host
> new file mode 100644
> index 0000000000..629b58d9c5
> --- /dev/null
> +++ b/package/toolchain-bare-metal/Config.in.host
> @@ -0,0 +1,21 @@
> +config BR2_PACKAGE_HOST_TOOLCHAIN_BARE_METAL
> +	bool "host toolchain-bare-metal"
> +	select BR2_PACKAGE_HOST_BINUTILS_BARE_METAL
> +	select BR2_PACKAGE_HOST_GCC_BARE_METAL
> +	select BR2_PACKAGE_HOST_NEWLIB_BARE_METAL
> +	help
> +	  toolchain-bare-metal is a host utility for a bare-metal toolchain

"Build a bare-metal toolchain in addition to the main Linux toolchain"
or something similar?

> +
> +if BR2_PACKAGE_HOST_TOOLCHAIN_BARE_METAL
> +
> +config BR2_PACKAGE_HOST_TOOLCHAIN_BARE_METAL_ARCH
> +	string
> +	default "microblazeel-xilinx"
> +	help
> +	  select architecture for bare-metal toolchain
> +
> +source "package/binutils-bare-metal/Config.in.host"
> +source "package/gcc-bare-metal/Config.in.host"
> +source "package/newlib-bare-metal/Config.in.host"
> +
> +endif #BR2_PACKAGE_HOST_TOOLCHAIN_BARE_METAL
> diff --git a/package/toolchain-bare-metal/toolchain-bare-metal.mk b/package/toolchain-bare-metal/toolchain-bare-metal.mk
> new file mode 100644
> index 0000000000..407ad4ea33
> --- /dev/null
> +++ b/package/toolchain-bare-metal/toolchain-bare-metal.mk
> @@ -0,0 +1,7 @@
> +################################################################################
> +#
> +# toolchain-bare-metal
> +#
> +################################################################################
> +
> +(eval $(host-virtual-package))
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index b8daa9183a..5978d79a06 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1331,6 +1331,7 @@  N:	Ibai Erkiaga-Elorza <ibai.erkiaga-elorza@amd.com>
 F:	package/binutils-bare-metal/
 F:	package/gcc-bare-metal/
 F:	package/newlib-bare-metal/
+F:	package/toolchain-bare-metal/
 
 N:	Ignacy Gawędzki <ignacy.gawedzki@green-communications.fr>
 F:	package/angularjs/
@@ -2200,6 +2201,7 @@  F:	package/binutils-bare-metal/
 F:	package/bootgen/
 F:	package/gcc-bare-metal/
 F:	package/newlib-bare-metal/
+F:	package/toolchain-bare-metal/
 F:	package/versal-firmware/
 
 N:	Nicola Di Lieto <nicola.dilieto@gmail.com>
diff --git a/package/Config.in.host b/package/Config.in.host
index aa1f15e3ac..103d461a7f 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -106,6 +106,7 @@  menu "Host utilities"
 	source "package/systemd/Config.in.host"
 	source "package/tegrarcm/Config.in.host"
 	source "package/ti-cgt-pru/Config.in.host"
+	source "package/toolchain-bare-metal/Config.in.host"
 	source "package/uboot-tools/Config.in.host"
 	source "package/util-linux/Config.in.host"
 	source "package/utp_com/Config.in.host"
diff --git a/package/toolchain-bare-metal/Config.in.host b/package/toolchain-bare-metal/Config.in.host
new file mode 100644
index 0000000000..629b58d9c5
--- /dev/null
+++ b/package/toolchain-bare-metal/Config.in.host
@@ -0,0 +1,21 @@ 
+config BR2_PACKAGE_HOST_TOOLCHAIN_BARE_METAL
+	bool "host toolchain-bare-metal"
+	select BR2_PACKAGE_HOST_BINUTILS_BARE_METAL
+	select BR2_PACKAGE_HOST_GCC_BARE_METAL
+	select BR2_PACKAGE_HOST_NEWLIB_BARE_METAL
+	help
+	  toolchain-bare-metal is a host utility for a bare-metal toolchain
+
+if BR2_PACKAGE_HOST_TOOLCHAIN_BARE_METAL
+
+config BR2_PACKAGE_HOST_TOOLCHAIN_BARE_METAL_ARCH
+	string
+	default "microblazeel-xilinx"
+	help
+	  select architecture for bare-metal toolchain
+
+source "package/binutils-bare-metal/Config.in.host"
+source "package/gcc-bare-metal/Config.in.host"
+source "package/newlib-bare-metal/Config.in.host"
+
+endif #BR2_PACKAGE_HOST_TOOLCHAIN_BARE_METAL
diff --git a/package/toolchain-bare-metal/toolchain-bare-metal.mk b/package/toolchain-bare-metal/toolchain-bare-metal.mk
new file mode 100644
index 0000000000..407ad4ea33
--- /dev/null
+++ b/package/toolchain-bare-metal/toolchain-bare-metal.mk
@@ -0,0 +1,7 @@ 
+################################################################################
+#
+# toolchain-bare-metal
+#
+################################################################################
+
+(eval $(host-virtual-package))