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]

Re: [Fwd: Re: IDT MIPS support]


>>>>> "Michael" == Michael Rapoport <michael_r@rad.co.il> writes:

    Michael> Hello,
    Michael> I'd like to clarify the following:
    Michael> 1. What does it mean - 

    Michael> "the NEC VR4300 is an implementation of the 64-bit R4000
    Michael> architecture (although the eCos port only uses it in
    Michael> 32-bit mode)"

    Michael> If I understand correctly, the available port is done
    Michael> only for the 32-bit mode of the MIPS CPU.

Correct. Specifically eCos is compiled with -mgp32, so the compiler
assumes that 32 32-bit general purpose registers are available. The
fact that the registers are actually 64 bits is ignored. On a context
switch only 32 bits per register are saved. Etc. Offhand I am not
quite sure how eCos handles the floating point registers on the
VR4300. 

    Michael> If we need the 64-bit implementation in the eCos,
    Michael> compiler and debugger - what should we do ???

In theory the compiler and debugger are OK for 64-bit, but since so
far no paying customer has funded a 64-bit eCos port the eCos team has
not validated this assumption.

If you look at e.g. the MIPS hal_arch.h header file you will see that
there is some support in there already for running in 64-bit mode,
but it will not have been exercised heavily if at all. Generally you
will need to read up about the eCos HAL (see the Reference Guide), and
have a good look at the various MIPS HAL packages.

Hopefully all other eCos packages will just work when running in 64
bit mode, but again this has not been tested. It is possible that
there are various nasty bugs just waiting to trigger. The only way to
find out is to try it and see.

Bart Veer // eCos net maintainer

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