All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 0/3] Add prebuilt nds32 toolchain, ae3xx board and autobuild configs support
@ 2019-01-23 12:39 Nylon Chen
  2019-01-23 12:39 ` [Buildroot] [PATCH v2 1/3] arch: add support for Andes 32-bit (nds32) architecture Nylon Chen
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Nylon Chen @ 2019-01-23 12:39 UTC (permalink / raw)
  To: buildroot

This patchset adds basic support for Andes's nds32 ISA
and nds32 family's CPU IP based on ae3xx platform.
The board is entirely supported since Linux 4.17.

Nylon Chen (3):
  arch: add support for Andes 32-bit (nds32) architecture
  configs/andes_nds32_ae3xx: new defconfig
  support/config-fragments: add Andes 32-bit (nds32) to autobuild
    configs

 DEVELOPERS                                    |  9 ++++++
 arch/Config.in                                | 13 ++++++++
 arch/Config.in.nds32                          | 31 +++++++++++++++++++
 board/andes/ae3xx/ae3xx.fragment              |  1 +
 ...0001-nds32-Fix-boot-messages-garbled.patch | 28 +++++++++++++++++
 configs/andes_ae3xx_defconfig                 | 14 +++++++++
 package/binutils/Config.in.host               |  2 ++
 package/gcc/Config.in.host                    |  4 +++
 package/linux-headers/Config.in.host          |  3 ++
 .../autobuild/br-andes-nds32-glibc.config     |  9 ++++++
 .../autobuild/toolchain-configs.csv           |  1 +
 11 files changed, 115 insertions(+)
 create mode 100644 arch/Config.in.nds32
 create mode 100644 board/andes/ae3xx/ae3xx.fragment
 create mode 100644 board/andes/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch
 create mode 100644 configs/andes_ae3xx_defconfig
 create mode 100644 support/config-fragments/autobuild/br-andes-nds32-glibc.config

-- 
2.18.0

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

* [Buildroot] [PATCH v2 1/3] arch: add support for Andes 32-bit (nds32) architecture
  2019-01-23 12:39 [Buildroot] [PATCH v2 0/3] Add prebuilt nds32 toolchain, ae3xx board and autobuild configs support Nylon Chen
@ 2019-01-23 12:39 ` Nylon Chen
  2019-02-04 19:57   ` Thomas Petazzoni
  2019-01-23 12:39 ` [Buildroot] [PATCH v2 2/3] configs/andes_nds32_ae3xx: new defconfig Nylon Chen
  2019-01-23 12:39 ` [Buildroot] [PATCH v2 3/3] support/config-fragments: add Andes 32-bit (nds32) to autobuild configs Nylon Chen
  2 siblings, 1 reply; 8+ messages in thread
From: Nylon Chen @ 2019-01-23 12:39 UTC (permalink / raw)
  To: buildroot

This enables a nds32 system to be built with a Buildroot generated
toolchain (gcc >= 8.0.1, binutils >= 2.30, glibc only).

This configuration has been used to successfully build a linux kernel
(git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git).

Signed-off-by: Che-Wei Chuang <cnoize@andestech.com>
Signed-off-by: Greentime Hu <greentime@andestech.com>
Signed-off-by: Nylon Chen <nylon7@andestech.com>
---
 DEVELOPERS                           |  7 +++++++
 arch/Config.in                       | 13 ++++++++++++
 arch/Config.in.nds32                 | 31 ++++++++++++++++++++++++++++
 package/binutils/Config.in.host      |  2 ++
 package/gcc/Config.in.host           |  4 ++++
 package/linux-headers/Config.in.host |  3 +++
 6 files changed, 60 insertions(+)
 create mode 100644 arch/Config.in.nds32

diff --git a/DEVELOPERS b/DEVELOPERS
index c1950bb0f4..1846748e01 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2296,3 +2296,10 @@ F:	package/qjson/
 F:	package/quazip/
 F:	package/shapelib/
 F:	package/tinc/
+
+N:	Nylon Chen <nylon7@andestech.com>
+F:	arch/Config.in
+F:	arch/Config.in.nds32
+F:	package/binutils
+F:	package/gcc
+F:	package/linux-headers
diff --git a/arch/Config.in b/arch/Config.in
index f50760a0cf..62d4dda595 100644
--- a/arch/Config.in
+++ b/arch/Config.in
@@ -125,6 +125,15 @@ config BR2_mips
 	  http://www.mips.com/
 	  http://en.wikipedia.org/wiki/MIPS_Technologies
 
+config BR2_nds32
+	bool "nds32"
+	select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
+	select BR2_ARCH_HAS_MMU_MANDATORY
+	help
+	  nds32 is a 32-bit architecture developed by Andes Technology.
+	  https://en.wikipedia.org/wiki/Andes_Technology
+
+
 config BR2_mipsel
 	bool "MIPS (little endian)"
 	select BR2_ARCH_HAS_MMU_MANDATORY
@@ -423,6 +432,10 @@ if BR2_nios2
 source "arch/Config.in.nios2"
 endif
 
+if BR2_nds32
+source "arch/Config.in.nds32"
+endif
+
 if BR2_or1k
 source "arch/Config.in.or1k"
 endif
diff --git a/arch/Config.in.nds32 b/arch/Config.in.nds32
new file mode 100644
index 0000000000..f2b6a22f8c
--- /dev/null
+++ b/arch/Config.in.nds32
@@ -0,0 +1,31 @@
+config BR2_ARCH
+	default "nds32"
+
+choice
+	prompt "Target Architecture Variant"
+	default BR2_nds32_v3
+	depends on !BR2_ARCH_IS_64
+	help
+	  Specific CPU variant to use
+
+comment "N series"
+config BR2_nds32_v3
+	bool "v3"
+config BR2_nds32_v3f
+	bool "v3f"
+
+endchoice
+
+config BR2_GCC_TARGET_ARCH
+	default "v3"    if BR2_nds32_v3
+	default "v3f"   if BR2_nds32_v3f
+
+config BR2_ENDIAN
+	default "LITTLE"
+
+config BR2_TOOLCHAIN_HAS_NATIVE_RPC
+	bool
+
+config BR2_READELF_ARCH_NAME
+	default "Andes Technology compact code size embedded RISC processor family"
+
diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host
index 924d1749cd..484fb050ba 100644
--- a/package/binutils/Config.in.host
+++ b/package/binutils/Config.in.host
@@ -19,10 +19,12 @@ config BR2_BINUTILS_VERSION_2_28_X
 	bool "binutils 2.28.1"
 	depends on !BR2_arc
 	depends on !BR2_riscv
+	depends on !BR2_nds32
 
 config BR2_BINUTILS_VERSION_2_29_X
 	bool "binutils 2.29.1"
 	depends on !BR2_riscv
+	depends on !BR2_nds32
 
 config BR2_BINUTILS_VERSION_2_30_X
 	bool "binutils 2.30"
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index 036a5b9790..c8a74e10c6 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -26,6 +26,7 @@ config BR2_GCC_VERSION_4_9_X
 	# Broken or unsupported architectures
 	depends on !BR2_arc
 	depends on !BR2_or1k
+	depends on !BR2_nds32
 	# musl on microblaze, ppc64 and mips64 unsupported
 	depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_microblazeel || BR2_microblazebe))
 	depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le))
@@ -42,6 +43,7 @@ config BR2_GCC_VERSION_5_X
 	# Broken or unsupported architectures
 	depends on !BR2_arc
 	depends on !BR2_or1k
+	depends on !BR2_nds32
 	# musl on ppc64 and mips64 unsupported
 	depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le))
 	depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el))
@@ -55,6 +57,7 @@ config BR2_GCC_VERSION_6_X
 	# Broken or unsupported architectures
 	depends on !BR2_arc
 	depends on !BR2_or1k
+	depends on !BR2_nds32
 	select BR2_TOOLCHAIN_GCC_AT_LEAST_6
 
 config BR2_GCC_VERSION_7_X
@@ -62,6 +65,7 @@ config BR2_GCC_VERSION_7_X
 	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8
 	# Broken or unsupported architectures
 	depends on !BR2_or1k
+	depends on !BR2_nds32
 	select BR2_TOOLCHAIN_GCC_AT_LEAST_7
 
 config BR2_GCC_VERSION_8_X
diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host
index 88373aee6f..43a6374992 100644
--- a/package/linux-headers/Config.in.host
+++ b/package/linux-headers/Config.in.host
@@ -31,16 +31,19 @@ config BR2_KERNEL_HEADERS_AS_KERNEL
 config BR2_KERNEL_HEADERS_4_4
 	bool "Linux 4.4.x kernel headers"
 	depends on !BR2_riscv
+	depends on !BR2_nds32
 	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
 
 config BR2_KERNEL_HEADERS_4_9
 	bool "Linux 4.9.x kernel headers"
 	depends on !BR2_riscv
+	depends on !BR2_nds32
 	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9
 
 config BR2_KERNEL_HEADERS_4_14
 	bool "Linux 4.14.x kernel headers"
 	depends on !BR2_riscv
+	depends on !BR2_nds32
 	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14
 
 config BR2_KERNEL_HEADERS_4_19
-- 
2.18.0

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

* [Buildroot] [PATCH v2 2/3] configs/andes_nds32_ae3xx: new defconfig
  2019-01-23 12:39 [Buildroot] [PATCH v2 0/3] Add prebuilt nds32 toolchain, ae3xx board and autobuild configs support Nylon Chen
  2019-01-23 12:39 ` [Buildroot] [PATCH v2 1/3] arch: add support for Andes 32-bit (nds32) architecture Nylon Chen
@ 2019-01-23 12:39 ` Nylon Chen
  2019-02-04 20:01   ` Thomas Petazzoni
  2019-01-23 12:39 ` [Buildroot] [PATCH v2 3/3] support/config-fragments: add Andes 32-bit (nds32) to autobuild configs Nylon Chen
  2 siblings, 1 reply; 8+ messages in thread
From: Nylon Chen @ 2019-01-23 12:39 UTC (permalink / raw)
  To: buildroot

Add Andes 32-bit defconfig for AE3XX platform.

Signed-off-by: Che-Wei Chuang <cnoize@andestech.com>
Signed-off-by: Greentime Hu <greentime@andestech.com>
Signed-off-by: Nylon Chen <nylon7@andestech.com>
---
 DEVELOPERS                                    |  2 ++
 board/andes/ae3xx/ae3xx.fragment              |  1 +
 ...0001-nds32-Fix-boot-messages-garbled.patch | 28 +++++++++++++++++++
 configs/andes_ae3xx_defconfig                 | 14 ++++++++++
 4 files changed, 45 insertions(+)
 create mode 100644 board/andes/ae3xx/ae3xx.fragment
 create mode 100644 board/andes/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch
 create mode 100644 configs/andes_ae3xx_defconfig

diff --git a/DEVELOPERS b/DEVELOPERS
index 1846748e01..2f53e01b72 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2303,3 +2303,5 @@ F:	arch/Config.in.nds32
 F:	package/binutils
 F:	package/gcc
 F:	package/linux-headers
+F:	board/andes
+F:	configs/andes_ae3xx_defconfig
diff --git a/board/andes/ae3xx/ae3xx.fragment b/board/andes/ae3xx/ae3xx.fragment
new file mode 100644
index 0000000000..3b13d10740
--- /dev/null
+++ b/board/andes/ae3xx/ae3xx.fragment
@@ -0,0 +1 @@
+CONFIG_NDS32_BUILTIN_DTB="ae3xx"
diff --git a/board/andes/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch b/board/andes/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch
new file mode 100644
index 0000000000..adb60937bd
--- /dev/null
+++ b/board/andes/patches/linux/0001-nds32-Fix-boot-messages-garbled.patch
@@ -0,0 +1,28 @@
+From 90d52d180dcc5d1300dc352ca709eb6453894143 Mon Sep 17 00:00:00 2001
+From: Nylon Chen <nylon7@andestech.com>
+Date: Wed, 28 Nov 2018 16:26:46 +0800
+Subject: [PATCH] nds32: Fix boot messages garbled
+
+In order to display uart correctly we have to pass the correct setting of uart to kernel by bootarg.
+This patch will provide such settings to set the correct uart baud rate.
+
+Signed-off-by: Nylon Chen <nylon7@andestech.com>
+---
+ arch/nds32/boot/dts/ae3xx.dts | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/arch/nds32/boot/dts/ae3xx.dts b/arch/nds32/boot/dts/ae3xx.dts
+index bb39749a6673..aefe2090926a 100644
+--- a/arch/nds32/boot/dts/ae3xx.dts
++++ b/arch/nds32/boot/dts/ae3xx.dts
+@@ -6,6 +6,7 @@
+ 	interrupt-parent = <&intc>;
+ 
+ 	chosen {
++		bootargs = "memblock=debug earlycon console=ttyS0,38400n8 debug loglevel=7";
+ 		stdout-path = &serial0;
+ 	};
+ 
+-- 
+2.18.0
+
diff --git a/configs/andes_ae3xx_defconfig b/configs/andes_ae3xx_defconfig
new file mode 100644
index 0000000000..d5c196d76b
--- /dev/null
+++ b/configs/andes_ae3xx_defconfig
@@ -0,0 +1,14 @@
+BR2_nds32=y
+BR2_GLOBAL_PATCH_DIR="board/andes/patches/"
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz"
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="nds32le-linux"
+BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_17=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.tar.xz"
+BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/andes/ae3xx/ae3xx.fragment"
+BR2_TARGET_ROOTFS_INITRAMFS=y
-- 
2.18.0

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

* [Buildroot] [PATCH v2 3/3] support/config-fragments: add Andes 32-bit (nds32) to autobuild configs
  2019-01-23 12:39 [Buildroot] [PATCH v2 0/3] Add prebuilt nds32 toolchain, ae3xx board and autobuild configs support Nylon Chen
  2019-01-23 12:39 ` [Buildroot] [PATCH v2 1/3] arch: add support for Andes 32-bit (nds32) architecture Nylon Chen
  2019-01-23 12:39 ` [Buildroot] [PATCH v2 2/3] configs/andes_nds32_ae3xx: new defconfig Nylon Chen
@ 2019-01-23 12:39 ` Nylon Chen
  2019-02-04 20:02   ` Thomas Petazzoni
  2 siblings, 1 reply; 8+ messages in thread
From: Nylon Chen @ 2019-01-23 12:39 UTC (permalink / raw)
  To: buildroot

Add a minimal nds32 autobuild configuration for the
internal toolchain with glibc.

Signed-off-by: Che-Wei Chuang <cnoize@andestech.com>
Signed-off-by: Greentime Hu <greentime@andestech.com>
Signed-off-by: Nylon Chen <nylon7@andestech.com>
---
 .../autobuild/br-andes-nds32-glibc.config                | 9 +++++++++
 support/config-fragments/autobuild/toolchain-configs.csv | 1 +
 2 files changed, 10 insertions(+)
 create mode 100644 support/config-fragments/autobuild/br-andes-nds32-glibc.config

diff --git a/support/config-fragments/autobuild/br-andes-nds32-glibc.config b/support/config-fragments/autobuild/br-andes-nds32-glibc.config
new file mode 100644
index 0000000000..cd093a20f9
--- /dev/null
+++ b/support/config-fragments/autobuild/br-andes-nds32-glibc.config
@@ -0,0 +1,9 @@
+BR2_nds32=y
+BR2_TOOLCHAIN_EXTERNAL=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
+BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz"
+BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
+BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_17=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
+BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="nds32le-linux"
diff --git a/support/config-fragments/autobuild/toolchain-configs.csv b/support/config-fragments/autobuild/toolchain-configs.csv
index 3681bc519f..4fa5f63b2b 100644
--- a/support/config-fragments/autobuild/toolchain-configs.csv
+++ b/support/config-fragments/autobuild/toolchain-configs.csv
@@ -74,3 +74,4 @@ support/config-fragments/autobuild/sourcery-mips.config,x86
 support/config-fragments/autobuild/sourcery-nios2.config,x86
 support/config-fragments/autobuild/sourcery-x86-64.config,x86
 support/config-fragments/autobuild/x86_64-ctng_locales-linux-gnu.config,x86
+support/config-fragments/autobuild/br-andes-nds32-glibc.config,x86
-- 
2.18.0

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

* [Buildroot] [PATCH v2 1/3] arch: add support for Andes 32-bit (nds32) architecture
  2019-01-23 12:39 ` [Buildroot] [PATCH v2 1/3] arch: add support for Andes 32-bit (nds32) architecture Nylon Chen
@ 2019-02-04 19:57   ` Thomas Petazzoni
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2019-02-04 19:57 UTC (permalink / raw)
  To: buildroot

Hello,

Thanks for this second iteration. See below for some comments.

On Wed, 23 Jan 2019 20:39:45 +0800
Nylon Chen <nylon7@andestech.com> wrote:

> This enables a nds32 system to be built with a Buildroot generated
> toolchain (gcc >= 8.0.1, binutils >= 2.30, glibc only).

It is not clear what you want to support here. You're talking about a
"Buildroot generated toolchain", so I would expect that one can build a
toolchain with Buildroot for nds32. But:

 - You have selected BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT, which
   prevents building a toolchain with Buildroot

 - I don't see any upstream support for nds32 in glibc. If you have a
   special version of glibc (non-upstream), it can be supported as well.

> +N:	Nylon Chen <nylon7@andestech.com>
> +F:	arch/Config.in
> +F:	arch/Config.in.nds32
> +F:	package/binutils
> +F:	package/gcc
> +F:	package/linux-headers

Only add arch/Config.in.nds32, and put this entry at the right place in
the DEVELOPERS file, by alphabetic ordering of developer names.

> +config BR2_nds32
> +	bool "nds32"
> +	select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT

So that's where you have to decide: do you support building a toolchain
with Buildroot or not.

> +	select BR2_ARCH_HAS_MMU_MANDATORY
> +	help
> +	  nds32 is a 32-bit architecture developed by Andes Technology.
> +	  https://en.wikipedia.org/wiki/Andes_Technology
> +
> +

Only one empty line here please.

> diff --git a/arch/Config.in.nds32 b/arch/Config.in.nds32
> new file mode 100644
> index 0000000000..f2b6a22f8c
> --- /dev/null
> +++ b/arch/Config.in.nds32
> @@ -0,0 +1,31 @@
> +config BR2_ARCH
> +	default "nds32"
> +
> +choice
> +	prompt "Target Architecture Variant"
> +	default BR2_nds32_v3
> +	depends on !BR2_ARCH_IS_64

Why do you have this dependency ?

> +	help
> +	  Specific CPU variant to use
> +
> +comment "N series"
> +config BR2_nds32_v3
> +	bool "v3"
> +config BR2_nds32_v3f
> +	bool "v3f"
> +
> +endchoice
> +
> +config BR2_GCC_TARGET_ARCH
> +	default "v3"    if BR2_nds32_v3
> +	default "v3f"   if BR2_nds32_v3f
> +
> +config BR2_ENDIAN
> +	default "LITTLE"
> +
> +config BR2_TOOLCHAIN_HAS_NATIVE_RPC
> +	bool

Remove this, it doesn't make sense. This is a property of the C
library, and it has nothing to do with the architecture definition

> diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host
> index 924d1749cd..484fb050ba 100644
> --- a/package/binutils/Config.in.host
> +++ b/package/binutils/Config.in.host
> @@ -19,10 +19,12 @@ config BR2_BINUTILS_VERSION_2_28_X
>  	bool "binutils 2.28.1"
>  	depends on !BR2_arc
>  	depends on !BR2_riscv
> +	depends on !BR2_nds32
>  
>  config BR2_BINUTILS_VERSION_2_29_X
>  	bool "binutils 2.29.1"
>  	depends on !BR2_riscv
> +	depends on !BR2_nds32
>  
>  config BR2_BINUTILS_VERSION_2_30_X
>  	bool "binutils 2.30"

These changes are useless if you don't support building a Buildroot
toolchain for nds32.

> diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
> index 036a5b9790..c8a74e10c6 100644
> --- a/package/gcc/Config.in.host
> +++ b/package/gcc/Config.in.host
> @@ -26,6 +26,7 @@ config BR2_GCC_VERSION_4_9_X
>  	# Broken or unsupported architectures
>  	depends on !BR2_arc
>  	depends on !BR2_or1k
> +	depends on !BR2_nds32
>  	# musl on microblaze, ppc64 and mips64 unsupported
>  	depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_microblazeel || BR2_microblazebe))
>  	depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le))
> @@ -42,6 +43,7 @@ config BR2_GCC_VERSION_5_X
>  	# Broken or unsupported architectures
>  	depends on !BR2_arc
>  	depends on !BR2_or1k
> +	depends on !BR2_nds32
>  	# musl on ppc64 and mips64 unsupported
>  	depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64le))
>  	depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el))
> @@ -55,6 +57,7 @@ config BR2_GCC_VERSION_6_X
>  	# Broken or unsupported architectures
>  	depends on !BR2_arc
>  	depends on !BR2_or1k
> +	depends on !BR2_nds32
>  	select BR2_TOOLCHAIN_GCC_AT_LEAST_6
>  
>  config BR2_GCC_VERSION_7_X
> @@ -62,6 +65,7 @@ config BR2_GCC_VERSION_7_X
>  	depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8
>  	# Broken or unsupported architectures
>  	depends on !BR2_or1k
> +	depends on !BR2_nds32
>  	select BR2_TOOLCHAIN_GCC_AT_LEAST_7

Same thing: those changes are not needed if you don't support building
a Buildroot toolchain for nds32.

If you want to support building a Buildroot toolchain for nds32, you
can also drop all those changes, and just have the main BR2_nds32
option select BR2_ARCH_NEEDS_GCC_AT_LEAST_8.

> diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host
> index 88373aee6f..43a6374992 100644
> --- a/package/linux-headers/Config.in.host
> +++ b/package/linux-headers/Config.in.host
> @@ -31,16 +31,19 @@ config BR2_KERNEL_HEADERS_AS_KERNEL
>  config BR2_KERNEL_HEADERS_4_4
>  	bool "Linux 4.4.x kernel headers"
>  	depends on !BR2_riscv
> +	depends on !BR2_nds32
>  	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4
>  
>  config BR2_KERNEL_HEADERS_4_9
>  	bool "Linux 4.9.x kernel headers"
>  	depends on !BR2_riscv
> +	depends on !BR2_nds32
>  	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9
>  
>  config BR2_KERNEL_HEADERS_4_14
>  	bool "Linux 4.14.x kernel headers"
>  	depends on !BR2_riscv
> +	depends on !BR2_nds32
>  	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14
>  
>  config BR2_KERNEL_HEADERS_4_19

Same thing: those changes are not needed if you don't support building
a Buildroot toolchain for nds32.

Thanks,

Thomas Petazzoni
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH v2 2/3] configs/andes_nds32_ae3xx: new defconfig
  2019-01-23 12:39 ` [Buildroot] [PATCH v2 2/3] configs/andes_nds32_ae3xx: new defconfig Nylon Chen
@ 2019-02-04 20:01   ` Thomas Petazzoni
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2019-02-04 20:01 UTC (permalink / raw)
  To: buildroot

Hello,

On Wed, 23 Jan 2019 20:39:46 +0800
Nylon Chen <nylon7@andestech.com> wrote:

> diff --git a/DEVELOPERS b/DEVELOPERS
> index 1846748e01..2f53e01b72 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -2303,3 +2303,5 @@ F:	arch/Config.in.nds32
>  F:	package/binutils
>  F:	package/gcc
>  F:	package/linux-headers
> +F:	board/andes
> +F:	configs/andes_ae3xx_defconfig

Please keep entries alphabetically sorted.

> diff --git a/configs/andes_ae3xx_defconfig b/configs/andes_ae3xx_defconfig
> new file mode 100644
> index 0000000000..d5c196d76b
> --- /dev/null
> +++ b/configs/andes_ae3xx_defconfig
> @@ -0,0 +1,14 @@
> +BR2_nds32=y
> +BR2_GLOBAL_PATCH_DIR="board/andes/patches/"
> +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
> +BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz"
> +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="nds32le-linux"
> +BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
> +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_17=y
> +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
> +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.tar.xz"

Use BR2_LINUX_KERNEL_CUSTOM_VERSION and
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE instead.

Also, for our defconfigs, we require a readme.txt file, in
board/andes/ae3xx/readme.txt, which briefly says how to use the
defconfig. See other readme.txt files in board/.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH v2 3/3] support/config-fragments: add Andes 32-bit (nds32) to autobuild configs
  2019-01-23 12:39 ` [Buildroot] [PATCH v2 3/3] support/config-fragments: add Andes 32-bit (nds32) to autobuild configs Nylon Chen
@ 2019-02-04 20:02   ` Thomas Petazzoni
  2019-02-11  7:45     ` Nylon Chen
  0 siblings, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2019-02-04 20:02 UTC (permalink / raw)
  To: buildroot

Hello,

On Wed, 23 Jan 2019 20:39:47 +0800
Nylon Chen <nylon7@andestech.com> wrote:

> Add a minimal nds32 autobuild configuration for the
> internal toolchain with glibc.

This autobuild configuration is using an external toolchain, so it is
not at all testing "internal toolchain with glibc".

Also, are you ok with analyzing the build failures that will be
reported by our autobuilders for the nds32 architecture, investigate
them and provide fixes ?

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH v2 3/3] support/config-fragments: add Andes 32-bit (nds32) to autobuild configs
  2019-02-04 20:02   ` Thomas Petazzoni
@ 2019-02-11  7:45     ` Nylon Chen
  0 siblings, 0 replies; 8+ messages in thread
From: Nylon Chen @ 2019-02-11  7:45 UTC (permalink / raw)
  To: buildroot

On Tue, Feb 05, 2019 at 04:02:32AM +0800, Thomas Petazzoni wrote:
> Hello,
> 
> On Wed, 23 Jan 2019 20:39:47 +0800
> Nylon Chen <nylon7@andestech.com> wrote:
> 
> > Add a minimal nds32 autobuild configuration for the
> > internal toolchain with glibc.
> 
> This autobuild configuration is using an external toolchain, so it is
> not at all testing "internal toolchain with glibc".
>
Ok, next patch I will fix commit described avoid confusing.
> Also, are you ok with analyzing the build failures that will be
> reported by our autobuilders for the nds32 architecture, investigate
> them and provide fixes ?
> 
no problem, I'll help as mush as i can.
> Thanks!
> 
> Thomas
> -- 
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com

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

end of thread, other threads:[~2019-02-11  7:45 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-23 12:39 [Buildroot] [PATCH v2 0/3] Add prebuilt nds32 toolchain, ae3xx board and autobuild configs support Nylon Chen
2019-01-23 12:39 ` [Buildroot] [PATCH v2 1/3] arch: add support for Andes 32-bit (nds32) architecture Nylon Chen
2019-02-04 19:57   ` Thomas Petazzoni
2019-01-23 12:39 ` [Buildroot] [PATCH v2 2/3] configs/andes_nds32_ae3xx: new defconfig Nylon Chen
2019-02-04 20:01   ` Thomas Petazzoni
2019-01-23 12:39 ` [Buildroot] [PATCH v2 3/3] support/config-fragments: add Andes 32-bit (nds32) to autobuild configs Nylon Chen
2019-02-04 20:02   ` Thomas Petazzoni
2019-02-11  7:45     ` Nylon Chen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.