[Letux-kernel] [OpenOCD-devel] [PATCH]: d86217d board: add Skytone Alpha 400
Paul Boddie
paul at boddie.org.uk
Wed Nov 4 00:45:50 CET 2020
On Tuesday, 3 November 2020 23:08:31 CET Daniel Glöckner wrote:
> Hello Riccardo,
>
> On Tue, Nov 03, 2020 at 08:52:07PM +0100, Riccardo Mottola wrote:
> > I still have my Letux 400 and it works, even the battery hold some
> > charge... possibly because I use it rarely, but still do test it
> > every month or so. Before the CI20 it was absolutely the only
> > MIPS-LE setup I had (who much I wish it would be BE).
>
> you have a CI20? In http://openocd.zylin.com/4246 the question came
> up if the workarounds necessary for the JZ4730 are necessary also for
> later XBurst chips.
JTAG wizardry is rather beyond my expertise, but it may be the case that some
workarounds have become unnecessary as the product range has evolved.
Although the JZ4780 in the CI20 is similar to the other products in the range,
and there are various features of the architecture that are not supported
quite as expected (thinking of various instruction variants that had to be
emulated to get the Fiasco microkernel to work), I think the JZ4780 benefits
from higher conformance to things like MIPS32r2, which might be expected since
I think the product was developed after Ingenic acquired a MIPS licence. (I
think the JZ4720 and JZ4730 indicate MIPS32r1 support in the appropriate
configuration registers.)
So, it isn't inconceivable that conformance in other areas might have
improved. But people would have to check, and the CI20 is at least more
convenient to do this with than the Letux 400.
> > The cpu of the Letux400 is a bit hampered by the lack of the FPU
> > requiring a recompile - the original distribution from HongKong was
> > optimized for that and run fast - including a mini-Firefox and MP3
> > playback working, instead on Debian which requires hard-float and
> > emulation is used, performances are bad, you cannot even an audio
> > file.
>
> Doesn't the Linux kernel emulate the fpu instructions?
Yes, the Algorithmics floating point emulator was merged long ago, and it even
became mandatory long ago, apparently to prevent people from making the wrong
choices by accident when configuring the kernel.
When I started playing with the Ben NanoNote, it became apparent to me that
some media-related software would work a lot better with soft-float support,
just to avoid the continual trapping to the kernel (dynamic recompilation
might have been nice), but this ends up requiring soft-float toolchains and
libraries. I think I looked at ways of cross-building packages (having found
the Vorbis library that provided a soft-float decoder), but it was probably
too much effort for me to figure it out at the time.
The Debian toolchains that are provided these days for MIPS all seem to be
configured only for hard-float output, and so using Buildroot toolchains seems
to be the way to go for soft-float output. I found this to actually be
necessary when building Fiasco, and since I didn't get round to looking at
floating point emulation in the L4 Runtime Environment (or much else with
regard to the Letux 400 and NanoNote in this regard), it was also beneficial
to build user-space programs with the soft-float toolchain, too.
> > Remembers me the day of 68k Macs and Amigas which had no FPU
> > ("embeded controller" or "low cost" CPUs...)
>
> Before ARMv6 there were very few ARMs with fpu. The NXP LPC3250 is the
> only ARMv5 I know which has one. When I bought my Letux 400 we still
> had customers starting Linux projects on fpu-less ARMs.
My hands-on ARM experience is from the days of the ARM2 which only eventually
got hardware floating point support for some machines from a WE32206 co-
processor board:
http://chrisacorns.computinghistory.org.uk/32bit_UpgradesA2G/
Acorn_AKA20_WE32206FPCoPro.html
Eventually, ARM3 users got the benefit of the "native" FPA10 co-processor:
http://chrisacorns.computinghistory.org.uk/32bit_UpgradesH2Z/
Simtec_ARM3FPA.html
Perhaps the first ARM with integrated floating point support, at least in some
kind of volume, may have been the ARM7500FE:
http://chrisacorns.computinghistory.org.uk/Computers/A7000+.html
This is all ancient history now, but still fascinating!
Paul
More information about the Letux-kernel
mailing list