Status of the Xtensa Port
Xtensa Support in Open Source Software
Unlike applications that are mostly written architecture-independent, development tools and operating systems must be ported to a new processor architecture. Support for the Xtensa architecture has already been integrated to most Open Source software. More information can be found below.
Back-porting
Although development continues in the Open Source repositories ('top of trunk'), it is sometimes desirable to support additional features or to provide bug-fixes for older versions. These changes are provided as patches and are located under http://www.linux-xtensa.org/pub/patches.
The patches follow the following naming convention:
name-version-pseqno-descriptive-text.patch
- name: the name of the tool or application,
- version: the version number,
- seqno: a sequential patch number,
- descriptive-text': short description of the patch.
For example: gcc-4.1.1-p3-add-tls-support-for-xtensa.patch
. The
name describes a patch for the compiler gcc version 4.1.1. It is the
third patch of a series of patches and needs to be applied after p1
and p2 have been applied. The description reveals that this patch adds TLS
(Thread Local Storage) support for the Xtensa architecture.
The patches for a particular package and version must be applied sequentially in order of the incremental patch number.
Status
Compiler (GCC) and various binary utilities (binutils)
The GNU compiler (GCC) and binutils (assembler, linker, etc.) are maintained in OpenSource and can be downloaded from the respective locations. Support for the Native Posix Thread Library (NTPL), however, hasn't been submitted yet.
Debugger (GDB)
Generic support for Xtensa has been integrated in GDB v6.7 but lacks support for Linux.
C-Libraries GLIBC and uClibc
Support for Xtensa has been included in uClibc as of December'07 and will be included in the next release (0.9.30). Because GLIBC requires support for NPTL, a patch has not been released yet.
Linux kernel
Support for Xtensa has been integrated into the Linux kernel in 2.6.13. For the latest version, see also Internet_Resources