This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Porting binutils to mips r5900 (ie Playstation2 EE cpu)
- From: Thiemo Seufer <ths at networkno dot de>
- To: Julien Etienne <julien dot etienne at gmail dot com>
- Cc: binutils at sources dot redhat dot com
- Date: Thu, 28 Sep 2006 16:16:29 +0100
- Subject: Re: Porting binutils to mips r5900 (ie Playstation2 EE cpu)
- References: <836d242e0609280042k5142c936h396576bebe9c7320@mail.gmail.com> <836d242e0609280045s1423dcb0j1ea364bcad35bfe3@mail.gmail.com>
Julien Etienne wrote:
> Hello,
>
> For sometimes I have been using an unofficial toolchain for the mips
> r5900 cpu used in the playstation 2.
> I would like to update the toolchain to fit it in the official
> binutils tree. I will not start from the scratch since the existing
> patch already works, but I would like to modify it according to your
> requirements.
>
> >From the previous mails on this list about the r5900, I have
> understood that it should be implemented by starting from a r1000
ITYM R3000 here, not r1000.
> basis. It is more close to the r3000, but it lacks r3000 instructions
> and adds new ones.
I wasn't aware it lacks R3000 instructions. Could you check if that's
really true?
AFAIR it is R4000 like, but misses ll/sc/lld/scd and double FP
instructions. The atomic operations are required for MIPS-II and above,
so MIPS-I (with R3000 as a model of it) is the lowest common denominator.
> If you have any recommendations, or if anyone on the list is already
> working on it, do not hesitate to leave me a message.
Define it as a MIPS-I CPU, and add the subset with higher MIPS ISA
variants as well as the R5900 special instructions as R5900 specific.
Most of that will go in in opcodes/mips-opc.c and include/opcode/mips.h.
The R3900 needed something similiar in libopcodes, use it as an example.
Thiemo