Am 29.12.18 um 12:16 schrieb Jonathan McDowell:
> On Sat, Dec 29, 2018 at 08:11:31AM +0100, Oleksij Rempel wrote:
>> in my experience with xtensa, it has some basic customizable
>> core/instruction set (in this case it is lx106) which is then optimized
>> for some application (for example for esp8266). At the end, this
>> toolchain won't be able to build binary for different lx106 based
>> hardware. In this case the naming is wrong. It should be:
>> binutils-xtensa-lx106-esp8266
>> binutils-espressif-esp8266
>> binutils-xtensa-lx106-espressif-esp8266
>> or some thing like this...
> 
> My understanding is the core is the "xtensa" architecture and "lx106"
> refers to the customizations of that core. The ESP8266 and ESP32 both
> use the Xtensa architecture, but the variant in the ESP8266 is the lx106
> and in the ESP32 it's an lx108.

Uff.. let's do together your home work in manner of OSINT investigation.
https://www.espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf
"Besides the Wi-Fi functionalities, ESP8266EX also integrates an
enhanced version of Tensilica’s L106 Diamond series 32-bit processor and
on-chip SRAM."

I interpret is as following:
1. not xtensa lx106, it is xtensa Diamond variant L106
2. it is enhanced version of Tensilica’s L106 Diamond

Means, what ever toolchain is provided by this request, it is not clean
Xtensa Diamond L106.

Continue to seek for Xtensa L106 gives me this link:
https://ip.cadence.com/uploads/white_papers/Diamond_Tensilica.pdf

Diamond Controller Cores:
106Micro - Smallest 32-bit, ultra-low power, cache-less RISC controller
with local memories.
108Mini - Ultra-low power, cacheless controller core with rich interrupt
architecture, minimal gate count for lowest silicon cost.
212GP - Flexible mid-range controller core with instruction and data
caches and user-defined local memory sizes
Diamond CPU Cores:
232L - Flexible mid-range CPU with a Memory-Management Unit (MMU) for
Linux OS support
570T - Extremely high-performance, 2- or 3-issue static superscalar
processor.

The price segment of ESP8266 let me assume, it is not a new Xtensa
development, it is probably some thing old and not so expensive. I would
say, most probably it is Xtensa Diamond 106Micro.

After some voodoo with your overlay hack, i got more or less readable
diff with original binutils. With this diff it is possible to see the
architecture differences. Most important is the "Copyright (c) 2003-2010
Tensilica Inc." which confirms my assumption about Xtensa Diamond 106Micro.

>> If debian maintainers will decide to include this toolchain, then we
>> need to develop unified naming shema for this kind of toolchains,
>> because we already have completely opened firmware based on xtenas for
>> different hardware, see firmware-ath9k-htc package. Extra toolchain for
>> this package will make step forward reproducible builds.
> 
> xtensa-lx106-elf is the common prefix in the wild for the ESP8266,
> xtensa-esp32-elf is in use for the ESP32/lx108 pairing.

Most probably it is Xtensa Diamond 108Mini

> Looking at the
> HTC firmware package it appears *it's* the one engaging in namespace
> problems by using xtensa-elf for the customised core. I think it should
> probably be xtensa-htc-elf at least.

What ever is used insight of the package can't be seen as "engaging in
namespace problems".

> 
> There's an open RFP for gcc-xtensa (#868895). I think with the right
> amount of work a single pair of binutils-xtensa/gcc-xtensa packages
> could be built that allowed run time configuration of which core was
> being targeted
Probably it should go as is... see my last comment.

> but I've been using these ESP8266/lx106 packages for the
> past 4 months and it seems reasonable to get them uploaded and available
> for use.

NACK.
It looks like work made by Max Filippov is in usable shape, so i hope,
it is a way to go:
https://github.com/jcmvbkbc/xtensa-dynconfig

-- 
Regards,
Oleksij

Reply via email to