* [Buildroot] Xtensa BUILDROOT support
@ 2009-03-03 6:49 Maxim Grigoriev
2009-03-03 8:34 ` Thomas Petazzoni
0 siblings, 1 reply; 3+ messages in thread
From: Maxim Grigoriev @ 2009-03-03 6:49 UTC (permalink / raw)
To: buildroot
Hello BUILDROOT maintainers,
I think I need to first properly introduce myself.
I am an Engineer at Tensilica, Inc. working on RTOS team.
My primary responsibility has been Xtensa GDB support.
I've been an Xtensa GDB maintainer for more than Two years
after I made an initial submission to FSF.
Tensilica provides a GNU/Linux Xtensa support. That's
why we've been using BUILDROOT for more than a year.
Publicly accessible BUILDROOT git-tree with Xtensa
support is available on xtensa-linux.org.
Tensilica would like to become a part of BUILDROOT
community. It's in our best interest to maintain
Xtensa BUILDROOT and permanently contribute to both
Xtensa-specific and generic parts of this open source
project. I already tried to submit a generic update :
http://lists.busybox.net/pipermail/buildroot/2009-February/026203.html
Now, I would like to submit the BUILDROOT Xtensa support.
Xtensa is a family of configurable and extensible
processors, which have been on the IP market for quite some
time now. For those of you who are interested, please, look at
http://www.tensilica.com/
If you decide that Xtensa can be a valuable addition to
BUILDROOT I will go ahead and submit a set of patches.
I've attached the first patch.
Description:
Xtensa BUILDROOT uses a concept of source overlays,
which are necessary because Xtensa processors are
configurable and extensible. Xtensa tools, e.g.
gcc, gdb, and binutils, use source overlays, which
can not be substituted by the current BUILDROOT
patching mechanism. This update makes patch-kernel.sh
script capable of handling these overlays.
Can BUILDROOT experts review the patch, please ?
Thanks much for any of your help,
Maxim Grigoriev
Tensilica, Inc.
(w) 408-566-1770
(c) 510-520-3697
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch_kernel_sh.patch
Type: text/x-patch
Size: 1200 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20090302/67ebc21c/attachment.bin>
^ permalink raw reply [flat|nested] 3+ messages in thread* [Buildroot] Xtensa BUILDROOT support
2009-03-03 6:49 [Buildroot] Xtensa BUILDROOT support Maxim Grigoriev
@ 2009-03-03 8:34 ` Thomas Petazzoni
2009-03-03 22:09 ` Maxim Grigoriev
0 siblings, 1 reply; 3+ messages in thread
From: Thomas Petazzoni @ 2009-03-03 8:34 UTC (permalink / raw)
To: buildroot
Le Mon, 02 Mar 2009 22:49:59 -0800,
Maxim Grigoriev <maxim@tensilica.com> a ?crit :
> Xtensa BUILDROOT uses a concept of source overlays,
> which are necessary because Xtensa processors are
> configurable and extensible. Xtensa tools, e.g.
> gcc, gdb, and binutils, use source overlays, which
> can not be substituted by the current BUILDROOT
> patching mechanism. This update makes patch-kernel.sh
> script capable of handling these overlays.
Can you detail how this concept of source overlays work, technically ?
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers and embedded Linux development,
consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Buildroot] Xtensa BUILDROOT support
2009-03-03 8:34 ` Thomas Petazzoni
@ 2009-03-03 22:09 ` Maxim Grigoriev
0 siblings, 0 replies; 3+ messages in thread
From: Maxim Grigoriev @ 2009-03-03 22:09 UTC (permalink / raw)
To: buildroot
-- Resending previous email. It was bounced because
attachment was too big - 32 Kb. I was trying to attach a tar
file with binutils source overlay.
* * * * *
Hello Thomas,
Thomas Petazzoni wrote:
> Le Mon, 02 Mar 2009 22:49:59 -0800,
> Maxim Grigoriev <maxim@tensilica.com> a ?crit :
>
>> Xtensa BUILDROOT uses a concept of source overlays,
>> which are necessary because Xtensa processors are
>> configurable and extensible. Xtensa tools, e.g.
>> gcc, gdb, and binutils, use source overlays, which
>> can not be substituted by the current BUILDROOT
>> patching mechanism. This update makes patch-kernel.sh
>> script capable of handling these overlays.
>
> Can you detail how this concept of source overlays work, technically ?
>
> Thomas
We use overlays because
(a) gcc/binutils/gdb/etc don't currently support multiple
Xtensa processor variants in a single source base
(longer term project), and
(b) it makes it trivial for someone to build tools for a new Xtensa
processor variant, given that Tensilica gives them the customized
overlay for their new processor, or customers come up with their
own overlay.
Essentially, Xtensa processors can use instructions and unique
processor-specific registers that are designed by the user in
addition to a set of built-in instructions and registers.
Xtensa tools need to know how to encode/decode these instructions
and handle all the registers. That knowledge is encapsulated in
the source overlays that are included in the binutils/gcc/gdb/etc
build process.
Let's take a look at binutils overlay for Xtensa dc232b (Diamond
Standard 232L) as an example. The overlay will be placed into
.../buildroot/toolchain/binutils/binutils-xtensa_dc232b.tgz
I was trying to attach this tar-file, but it exceeds BUILDROOT
40Kb restriction. It contains :
./bfd
./bfd/xtensa-modules.c
./include
./include/xtensa-config.h
./ld
./ld/emulparams
./ld/emulparams/xtensa-config.sh
After modified kernel-patch.sh script handles this overlay,
these files will end up, say, in
.../buildroot/toolchain_build_xtensa_dc232b/binutils-2.19
and Xtensa binutils will "learn" how to deal with dc232b processor.
Xtensa FSF tools ( binutils, gcc, and gdb ) work based on
overlay concept for years. The default processor is called
Xtensa FSF. Xtensa GNU/Linux can be run on this processor.
Thanks,
-- Maxim
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-03-03 22:09 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-03 6:49 [Buildroot] Xtensa BUILDROOT support Maxim Grigoriev
2009-03-03 8:34 ` Thomas Petazzoni
2009-03-03 22:09 ` Maxim Grigoriev
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox