This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]