Skip to contentSkip to conversation

add support for xtensa back to buildroot

PATCH New Chris Zankel 2 participants 7 messages Nov 8, 2012 – Nov 12, 2012

lore
Share & tools
lore
#0 lore raw

cover add support for xtensa back to buildroot

Hi,

It would be great if you could add support for Xtensa back to buildroot. I understand that it was removed because it required a lot of additional files and special handling, which became obsolete and hard to maintain over time.
These two patches are much more aligned with other architectures with only very minimal overhead. I also just recently updated uClibc and can build buildroot out of the box, so we can now better support and maintain it.

Thanks,
-Chris

----------------------------------------------------------------
Chris Zankel (2):
xtensa: add support for the Xtensa architecture
xtensa: support configurable processor configurations

 arch/Config.in                  |    8 ++++++++
 arch/Config.in.common           |    1 +
 arch/Config.in.xtensa           |   30 ++++++++++++++++++++++++++++++
 linux/Config.in                 |    3 ++-
 package/autoconf/Config.in      |    6 ++++--
 package/automake/Config.in      |    6 ++++--
 package/binutils/binutils.mk    |    9 +++++++++
 package/ltrace/Config.in        |    1 +
 package/perl/Config.in          |    4 +++-
 toolchain/gcc/gcc-uclibc-4.x.mk |    4 ++++
 toolchain/gdb/gdb.mk            |    4 ++++
 toolchain/toolchain-common.in   |    2 +-
 toolchain/uClibc/uclibc.mk      |    1 +
 13 files changed, 72 insertions(+), 7 deletions(-)
 create mode 100644 arch/Config.in.xtensa
#1 lore raw

cover add support for xtensa back to buildroot

Dear Chris Zankel,

Quoted 7 lines · Chris Zankel

It would be great if you could add support for Xtensa back to buildroot. I understand that it was removed because it required a lot of additional files and special handling, which became obsolete and hard to maintain over time.
These two patches are much more aligned with other architectures with only very minimal overhead. I also just recently updated uClibc and can build buildroot out of the box, so we can now better support and maintain it.

I just skimmed through the patches, but it indeed looks a lot more reasonable than the support we originally had for Xtensa, thanks for this work!. One thing that should be added is to make sure that the Crosstool-NG backend cannot be selected for Xtensa, as it doesn't support this architecture.

Also, the issue we had with the original Xtensa implementation is that the original submitters sent some patches that we merged, and subsequently never maintained them. Do you have plans to use this Xtensa architecture on a regular basis, and help us fixing build issues related to this architecture? Of course, we don't require you any sort of strict commitment or anything like that, I'd just like to know how much you'll be using this architecture.

Thanks again for having worked on this,

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#2 lore raw

cover add support for xtensa back to buildroot

Hi Thomas,

I understand your concern, and I guess it won't help that I had patches to clean up Buildroot for Xtensa laying around for over a year :-[ So, my promise would be to actually submit patches when I have them.

Part of the problem was that it wasn't just Buildroot, but other parts (uClibc, kernel, etc.) were also missing or having outdated changes, so it would have required to push a lot of patches. I have been working to get those patches in the corresponding trees first, and Buildroot actually now builds and runs out of the box on Xtensa with just those two patches and a generic patch for uClibc-snapshot. So, maintainability and detecting breakage will be much easier, and I intend to verify it on a more regular basis.

I'll send an updated version of the two patches where Crosstool-NG is disabled for Xtensa.

Thanks,
-Chris

Quoted 28 lines · Thomas Petazzoni

Dear Chris Zankel,

Quoted 7 lines · Chris Zankel

It would be great if you could add support for Xtensa back to buildroot. I understand that it was removed because it required a lot of additional files and special handling, which became obsolete and hard to maintain over time.
These two patches are much more aligned with other architectures with only very minimal overhead. I also just recently updated uClibc and can build buildroot out of the box, so we can now better support and maintain it.

I just skimmed through the patches, but it indeed looks a lot more reasonable than the support we originally had for Xtensa, thanks for this work!. One thing that should be added is to make sure that the Crosstool-NG backend cannot be selected for Xtensa, as it doesn't support this architecture.

Also, the issue we had with the original Xtensa implementation is that the original submitters sent some patches that we merged, and subsequently never maintained them. Do you have plans to use this Xtensa architecture on a regular basis, and help us fixing build issues related to this architecture? Of course, we don't require you any sort of strict commitment or anything like that, I'd just like to know how much you'll be using this architecture.

Thanks again for having worked on this,

Thomas

#3 lore raw

cover add support for xtensa back to buildroot

Hello Chris,

Quoted 13 lines · Chris Zankel

I understand your concern, and I guess it won't help that I had patches to clean up Buildroot for Xtensa laying around for over a year :-[ So, my promise would be to actually submit patches when I have them.

Part of the problem was that it wasn't just Buildroot, but other parts (uClibc, kernel, etc.) were also missing or having outdated changes, so it would have required to push a lot of patches. I have been working to get those patches in the corresponding trees first, and Buildroot actually now builds and runs out of the box on Xtensa with just those two patches and a generic patch for uClibc-snapshot. So, maintainability and detecting breakage will be much easier, and I intend to verify it on a more regular basis.

Quoted 2 lines

I'll send an updated version of the two patches where Crosstool-NG is disabled for Xtensa.

Excellent, sounds good.

I've also seen that Qemu has an Xtensa support. It would be nice if you could create a qemu_xtensa_<somemachine>_defconfig with the necessary kernel configuration and al (see other qemu_<foo>_defconfig that we have in configs/) so that other people could build a Xtensa userspace and run it inside qemu. At the moment, the qemu-system-xtensa supports the following machines:

$ qemu-system-xtensa -M ?
Supported machines are:
none                 empty machine
lx60                 lx60 EVB (dc232b)
lx200                lx200 EVB (dc232b)
sim                  sim machine (dc232b) (default)

Thanks!

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#4 lore raw

cover add support for xtensa back to buildroot

Chris,

Quoted 7 lines · Thomas Petazzoni

I've also seen that Qemu has an Xtensa support. It would be nice if you could create a qemu_xtensa_<somemachine>_defconfig with the necessary kernel configuration and al (see other qemu_<foo>_defconfig that we have in configs/) so that other people could build a Xtensa userspace and run it inside qemu. At the moment, the qemu-system-xtensa supports the following machines:

Quoted 6 lines
$ qemu-system-xtensa -M ?
Supported machines are:
none                 empty machine
lx60                 lx60 EVB (dc232b)
lx200                lx200 EVB (dc232b)
sim                  sim machine (dc232b) (default)

Do you have any plans for proposing the support of a Qemu board using the Xtensa architecture? Qemu already supports 2-3 platforms, so it would be nice if Buildroot had a defconfig to generate a working system for one of them.

Thanks,

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#5 lore raw

cover add support for xtensa back to buildroot

Quoted 13 lines · Thomas Petazzoni
Quoted 7 lines

I've also seen that Qemu has an Xtensa support. It would be nice if you could create a qemu_xtensa_<somemachine>_defconfig with the necessary kernel configuration and al (see other qemu_<foo>_defconfig that we have in configs/) so that other people could build a Xtensa userspace and run it inside qemu. At the moment, the qemu-system-xtensa supports the following machines:

Quoted 6 lines
$ qemu-system-xtensa -M ?
Supported machines are:
none                 empty machine
lx60                 lx60 EVB (dc232b)
lx200                lx200 EVB (dc232b)
sim                  sim machine (dc232b) (default)
Quoted 4 lines

Do you have any plans for proposing the support of a Qemu board using the Xtensa architecture? Qemu already supports 2-3 platforms, so it would be nice if Buildroot had a defconfig to generate a working system for one of them.

Yes, I'm planing to add support for QEMU, but it will probably take a bit to understand it better before I have a config and maybe some patches.

Thanks,
-Chris

#6 lore raw

cover add support for xtensa back to buildroot

Chris,

Quoted 6 lines · Chris Zankel
Quoted 4 lines

Do you have any plans for proposing the support of a Qemu board using the Xtensa architecture? Qemu already supports 2-3 platforms, so it would be nice if Buildroot had a defconfig to generate a working system for one of them.

Yes, I'm planing to add support for QEMU, but it will probably take a bit to understand it better before I have a config and maybe some patches.

Excellent, thanks!

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com