Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Maxim Grigoriev <maxim@tensilica.com>
To: buildroot@busybox.net
Subject: [Buildroot] Xtensa BUILDROOT support
Date: Tue, 03 Mar 2009 14:09:38 -0800	[thread overview]
Message-ID: <49ADAAA2.2040806@hq.tensilica.com> (raw)
In-Reply-To: <20090303093420.77f7c3dd@surf>

-- 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

      reply	other threads:[~2009-03-03 22:09 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49ADAAA2.2040806@hq.tensilica.com \
    --to=maxim@tensilica.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox