This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: Vr4131 porting issues
- From: "Jurica Baricevic" <jura at INTESIS dot hr>
- To: "'Jonathan Larmour'" <jifl at eCosCentric dot com>,"'Nick Garnett'" <nickg at ecoscentric dot com>
- Cc: <ecos-discuss at sources dot redhat dot com>
- Date: Wed, 26 Mar 2003 15:52:51 +0100
- Subject: RE: [ECOS] Vr4131 porting issues
Jonathan Larmour wrote:
> Actually it wasn't a bug after all. It was a "feature" ;-). If we had
> wanted to do true MIPS 2 ISA, then we would have had 32-bit
> GPRs *and*
> FPRs, and we would lose half the register set (because of the
> way that FPR
> register splitting/renumbering stuff works when doing MIPS2
> on a MIPS3
> CPU). So to keep all the FPRs, we used -mgp32, or including
> the implicit
> values, -mips3 -mgp32 -mfp64.
>
> However when manipulating 64-bit FPRs to/from memory, there was a
> particular situation where you couldn't load 64-bit FPRs except using
> 32-bit GPRs, so temporarily GCC puts the 64-bit value into the GPR. I
> can't remember why, but MFC1/MTC1 couldn't be used for some reason -
> Andrew Haley knew why.
>
> Some ports, like the tx49, decided to ignore all this
> hassle[1] and just
> use -mips2. Given all the problems we had with getting -mgp32
> working,
> particularly with floating point, I think it's the safer
> route, at the
> expense of losing half the FP register set and adding extra
> instruction
> overhead when loading/storing FPRs.
>
Thank you very much. Now this 32/64 bit issue is more clear to me.
Followed what you said for tx49 platform I tried -mips2 and
it showed to work much better. The Redboot is quite usable now since
mipsisa32-elf-gdb is able to understand it. So the following steps
(eCos, interrupts, tests) should be much easier now with the help
of GDB.
The floating point is not an issue since Vr4131 doesn't have an FPU.
The performance (sub-optimal code generated by gcc) issue is postponed
for some luckier days when GCC will have more support for Vr4131.
Thanks,
Jura
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss