On 06/02/2013 01:45 PM, "Jürgen Urban" wrote:
Hello,
after some months I reworked the patch for r5900. It would be nice if this
could be accepted. The patch contains only changes to get basic support for
MIPS r5900. It can be used to compile a working Linux kernel for the
Playstation 2. It is also possible to get Linux programs working with software
floating point and ABI o32. Other stuff like hardware floating point and ABI
n32 is not fully supported yet.
How much other changes will be currently accepted here? There is other stuff
which I want to prepare and submit here, e.g.:
1. disable use of dmult and ddiv (ABI n32).
2. use trunc.w.s instead of cvt.w.s (to get single float working for normal
range calculations; i.e. calculating without inf or nan).
3. fix use of ll/sc in libgomp, either increase mips ISA level or use syscall
(which is broken in Linux 2.6.35.4).
4. fix libgcc to build a real muldi3 function for ABI n32 (not the multi3
function which is stored in muldi3.o file).
5. add support for configure parameters --float=single and --float=double in
addition to --float=soft and --float=hard.
6. rework floating point to support single float with ABI n32 (either break the
ABI or store floating point values in general purpose registers like soft
float).
7. change libgcc or mips.md in way so that the non IEEE 754 compatible FPU of
the r5900 gets compatible.
I'd like those more regularly working on the MIPS backend to chime in on
final approval. However, it looks reasonable to me.
jeff