Re: [linux-cirrus] Re: wot to do with the Maverick Crunch patches?

2008-03-31 Thread Ben Elliston
> The libm patch is for uClibc.

This thread is now off-topic for the GCC list.  Please take up the
discussion on a more appropriate list.

Thanks, Ben




Re: [linux-cirrus] Re: wot to do with the Maverick Crunch patches?

2008-03-31 Thread Martin Guy
> The company I work for is about to release a board to PCB fab
>  with a Cirrus part on it.  If this is the case we may want to hold back on 
> the
>  release and switch ARM parts.

If it's the EP93xx, you'd be well-advised to do so; I gather there is
one similar competitor that doesn't waste silicon on a broken FPU, a
display engine that can only do up to 800x600x16 or 1024x768x8 without
getting jumpy (2.6.2X fbdev), and a raster graphic operations unit
that appears to be slower than doing the corresponding bitops in ARM
software.

Don't get me wrong, the thing still bristles with peripherals and
delievers lots of poke for sexto to no energy, and we are working on
making the most of what we have.

Has anyone tried the NetBSD armevb port on an ep93XX and added the
frame driver patch I've seen lurking around? Could its frame buffer do
stable higher-res full-colour graphics? The Linux one does them but
the frame jitters about, as if the VDU is being locked out of the RAM
for too long.

>  I guess we'll go after our supplier as well to see what availability on the
>  existing parts will be like

Well, leave some for us :) No, it's still a solid chip that runs for
hundreds of days without a blip and barely gets warm, so I wouldn't
redesign unless you wanted those specific features or are early enough
in the design cycle.

   M


Re: [linux-cirrus] Re: wot to do with the Maverick Crunch patches?

2008-03-31 Thread Brian Austin
The libm patch is for uClibc.



-Original Message-
From: Hasjim Williams <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
To: Martin Guy <[EMAIL PROTECTED]>, [EMAIL PROTECTED], GCC

Subject: [linux-cirrus] Re: wot to do with the Maverick Crunch patches?
Date: Mon, 31 Mar 2008 15:46:52 +1000

On Sun, 30 Mar 2008 13:45:30 +0100, "Martin Guy" <[EMAIL PROTECTED]>
said:
> Ok, so we all have dozens of these EP93xx ARM SoCs on cheap boards,
> with unusable floating point hardware.
> 
> What do we have to do to get the best-working GCC support for Maverick
> Crunch FPU?
> 
> Suggest: make open-source project with objective:."to get the
> best-working GCC support for Maverick Crunch FPU". Anyone wanna run
> one, create repositories, set up mailing list etc a la
> producingoss.com, or is the current infrastructure sufficient for a
> coordinated effort?

Honestly, there is little reward in setting up a new mailing list since
no-one has really tried to look into the issue that much.  Traffic is so
low on this list (linux-cirrus), so there is little reason to start a
new one.

Reading documentation and working out why things aren't working is a
much better use of time.  Running the full C and C++ tests (in gcc) on
the current MaverickCrunch gcc would be a good start.  

We need to figure out what bugs are actually introduced by
MaverickCrunch (in C, C++ and std libraries), and fix them.

There is also a floating point testsuite for glibc:

glibc-2.5/math/gen-libm-test.pl

There should be one for uclibc, too...

> As I understand it, mailline GCC with patches in various versions can
> give:

> futaris-4.1.2/-4.2.0: Can usually use floating point in hardware for C
> and C++, maybe problems with exception unwinding in C++. In generated
> ASM code, all conditional execution of instructions is disabled except
> for jump/branch. Loss of code speed/size: negligable.
> Passes most FP tests but does not produce a fully working glibc (I
> gather from the Maverick OpenEmbedded people)

This is probably mainly due to the lack of exception unwinding, i.e.
what is detailed in ARM IHI 0038A.  It could also be due to bugs in the
MaverickCrunch engine, which aren't easy to pick up / debug.  I suggest
disabling MaverickCrunch double instructions, and working from there. 
If you or someone can get it working 100% with glibc then we can move
forward from there.
 
> Thoughts on a postcard please... any further progress in OE land?

At the moment we only MaverickCrunch in certain parts of our code, by
setting the relevant CFLAGS / CXXFLAGS.  We specifically only use float
rather than double, and it all works as it should.

Unfortunately, I haven't gotten glibc working with MaverickCrunch.  Lack
of time / motivation / documentation.

I think glibc EABI doesn't support MaverickCrunch, since no-one has
written "working" patches for this yet, e.g.
glibc-2.5/ports/sysdeps/arm/eabi

I'm pretty sure that the old patches that I did write, are incomplete:
http://files.futaris.org/glibc/glibc-crunch.patch

I don't think that ever ended up in the OE tree, since it was never
working correctly.  Additionally I don't think the binutils patch has
gone in.

> Cirrus also have a hand-coded Maverick libm that you can link with
> old-ABI binaries - can we incorporate this asm code in mainline?

Is this uClibc libm or glibc libm?

You might be able to use MaverickCrunch with uClibc but the patch
http://mail.busybox.net/lists/uclibc/2007-November/018723.html won't
compile a 100% working uClibc.  It compiles but doesn't work as
expected.  Not sure if it works correctly with OABI.

I don't think glibc compiles/runs if MaverickCrunch is enabled, because
of the lack of support in the glibc-2.5/ports/sysdeps/arm directory.

If someone can get iwmmxt support working in everything, then we might
be able to do the same for MaverickCrunch, since it is very similar work
to get one ARM coprocessor working as it is to get another working. 
Half of the support for the iWMMXt processor has already been written
and there is proper documentation.  Currently iwmmxt is only enabled in
certain applications in openembedded (rather than system-wide) because
of this reason.  I am not sure if it is only exception unwinding that
isn't working on iWMMXt, or if there is something else that also needs
to be written.






Re: [linux-cirrus] Re: wot to do with the Maverick Crunch patches?

2008-03-31 Thread Andrew McKay

Brian Austin wrote:

As some of you know, Cirrus is now out of the ARM business,.  Officially
April 1st.  (No joke).  We still have however arm.cirrus.com.


What a great day to announce that.  Is there an official announcement available 
somewhere now?  The company I work for is about to release a board to PCB fab 
with a Cirrus part on it.  If this is the case we may want to hold back on the 
release and switch ARM parts.


I guess we'll go after our supplier as well to see what availability on the 
existing parts will be like


Andrew McKay
Iders Inc.



Re: [linux-cirrus] Re: wot to do with the Maverick Crunch patches?

2008-03-30 Thread linux-cirrus

On Mon, 31 Mar 2008 15:46:52 +1000, "Hasjim Williams"
<[EMAIL PROTECTED]> said:

> I don't think glibc compiles/runs if MaverickCrunch is enabled, because
> of the lack of support in the glibc-2.5/ports/sysdeps/arm directory.

Yep, just tried building it again then...  glibc-intermediate fails
compiling, and segfaults when trying to compile s_cacoshf.c:105 with my
glibc-crunch patch applied.


Re: [linux-cirrus] Re: wot to do with the Maverick Crunch patches?

2008-03-30 Thread Martin Guy
On 3/30/08, Brian Austin <[EMAIL PROTECTED]> wrote:
>  I am now doing Linux ALSA/SoC work for our low power audio codecs.
Good luck, look forward to using them... :)

>  I have been given the freedom with this new
>  position to allow access to this machine for outside people to
>  contribute whatever works they would like.
>
>  I can add a wiki, or whatever ya'll want if you wish to use our hardware
>  and pipeline for WWW things.  I also have GIT, BugZilla, and some other
>  stuff.

What URL is to be its "home page"?...

   M