Skip to contentSkip to conversation

Patch to add Tilera tilegx platform support

Buildroot Arni 2 participants 3 messages Jun 5, 2014 – Jul 16, 2014

lore
Share & tools
lore

Arni

author
#0 lore raw

Hi All,

I'm working on porting Tilera tilegx platform to OpenWRT project, but I'm sure you are also interested in it.
Patch is very simple, hope someone will find it usefull. Here is the patch :

arch/Config.in +11 -0
index 1f60f81..4152267 100644
@@ -201,6 +201,13 @@ config BR2_xtensa
          http://en.wikipedia.org/wiki/Xtensa
          http://www.tensilica.com/
 
+config BR2_tilegx
+       bool "Tile-GX"
+#      select BR2_ARCH_IS_64
+       help
+         tilera tileGX
+
+
 endchoice
 
 # The following string values are defined by the individual
@@ -360,4 +367,8 @@ if BR2_xtensa
 source "arch/Config.in.xtensa"
 endif
 
+if BR2_tilegx
+source "arch/Config.in.tilegx"
+endif
+
 endmenu # Target options
arch/Config.in.tilegx new file +15 -0
new file mode 100644
index 0000000..bdecf64
@@ -0,0 +1,15 @@
+
+#config BR2_GCC_TARGET_ARCH
+#      default "tilegx"
+
+config BR2_ENDIAN
+       default "LITTLE"
+
+config BR2_ARCH
+       default "tilegx"
+
+#config BR2_GCC_TARGET_ABI
+#      default "64"
+
+#config BR2_GCC_TARGET_CPU
+#      default "tilegx"
linux/linux.mk +2 -0
index bd3f2ac..5fb9b40 100644
@@ -120,6 +120,8 @@ ifeq ($(KERNEL_ARCH),i386)
 KERNEL_ARCH_PATH = $(LINUX_DIR)/arch/x86
 else ifeq ($(KERNEL_ARCH),x86_64)
 KERNEL_ARCH_PATH = $(LINUX_DIR)/arch/x86
+else ifeq ($(KERNEL_ARCH),tilegx)
+KERNEL_ARCH_PATH = $(LINUX_DIR)/arch/tile
 else
 KERNEL_ARCH_PATH = $(LINUX_DIR)/arch/$(KERNEL_ARCH)
 endif

Regards,
Arni

#1 lore raw

Dear Arni,

Quoted 3 lines · Arni

I'm working on porting Tilera tilegx platform to OpenWRT project, but I'm sure you are also interested in it.
Patch is very simple, hope someone will find it usefull. Here is the patch :

Thanks for this patch!

However, adding an architecture to Buildroot is a bit more than just adding those few definitions. I'm mainly thinking:

* Toolchain: did you test the internal toolchain backend? Or are external toolchains available?

* Packages: how much user-space packages that have architecture-specific code support the tilegx platform? For example, libffi, or strace are such packages.

* Support: if we start supporting a new architecture in Buildroot, we try to do it well. One aspect of this is that we would add this architecture to our automated build infrastructure, which tests random combinations of packages. Would you be willing to help fixing the issues that arise through this testing effort? It would be a bit annoying for us to add the support for an architecture, and then have nobody actively interested in it and therefore nobody fixing the various issues.

On a more anecdotal note, your Git commit is improperly formatted, because your commit log contains some contents not relevant for a commit log. It should look like just:

"""
Add support for Tilera tilegx architecture

This commit adds support for the tilegx CPU architecture designed by Tilera.

"""

See
http://buildroot.org/downloads/manual/manual.html#submitting-patches
for details.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#2 lore raw

Hello Arni,

Quoted 18 lines · Thomas Petazzoni
Quoted 3 lines · Arni

I'm working on porting Tilera tilegx platform to OpenWRT project, but I'm sure you are also interested in it.
Patch is very simple, hope someone will find it usefull. Here is the patch :

Thanks for this patch!

However, adding an architecture to Buildroot is a bit more than just adding those few definitions. I'm mainly thinking:

* Toolchain: did you test the internal toolchain backend? Or are external toolchains available?

* Packages: how much user-space packages that have architecture-specific code support the tilegx platform? For example, libffi, or strace are such packages.

Quoted 8 lines

* Support: if we start supporting a new architecture in Buildroot, we try to do it well. One aspect of this is that we would add this architecture to our automated build infrastructure, which tests random combinations of packages. Would you be willing to help fixing the issues that arise through this testing effort? It would be a bit annoying for us to add the support for an architecture, and then have nobody actively interested in it and therefore nobody fixing the various issues.

Since the patch is incomplete, that adding the support for a new architecture in Buildroot involves quite some work beyond just adding a Config.in entry, and that you never replied to my original feedback, I'll mark the patch as Rejected in our patch tracking system for the moment.

Should you be interested in seeing the Tilera architecture support merged in Buildroot, please do not hesitate to get back to us. However, we'll have to be convinced that some person will be around to help fixing the Tilera related issues when they show up.

Thanks!

Thomas Petazzoni

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com