Subject: Re: IDT MIPS_RC32364 support
To: None <port-mips@netbsd.org>
From: Toru Nishimura <nisimura@itc.aist-nara.ac.jp>
List: port-mips
Date: 08/31/2000 14:49:47
> one of the groups here is looking at supporting the IDT MIPS_RC32364
> core. (c.f. http://www.idt.com/products/pages/Processors-79RC32364.html)
> the 32364 has a R4000'ish MMU, except that it doesn't support 64 bit
> instructions. specifically, the differences are:
>
> - the "Context", "BadVaddr", and "EntryHi" registers are all 32 bits
> on the 32364 (rather than 64 bits as on the R4000)
> - the 32364 does not have an "XContext" register
> - 64-bit instructions such as "ld" and "dmfc0" are not implemented on
> the 32364
>
> the question is what to do with locore_mips3.S. clearly, the non-standard
> use of "XContext" isn't going to work on the 32364. also, all the
> 64 bit instructions (e.g. dmtc0/dmfc0/ld) are going to have to go away
>
> ...
>
> possible plans of action include:
>
> - get rid of the non-standard XContext usage, and use self modifying
> code to downgrade the dmtc0/dmfc0 instructions to mtc0/mfc0 (run time)
I'd take the path to get rid of abused XContext register. Explicit
usage of 64bit DMTC/DMFC insn and other can be reducted into 32bit
counter parts. I'm uncertain the advantage of "performance and
efficiency" of such 64bit insns given 32bit OS nature of NetBSD/mips.
Tohru Nishimura