Subject: Re: port-mips is a mips-CPU list, not a MipsCo port
To: michael smith <miff@spam.frisbee.net.au>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: port-mips
Date: 02/28/1997 19:29:31
Michael Smith writes:
>To that end, I'd like to stir a little discussion about the MipsCo
>boxes, particularly with regard to the NetBSD mips support of the r3k
>in a big-endian environment. All the MipsCo machines of which I am
>aware are r3kbe (there are probably some r2k machines but I know
>nothing of them).
>Is the MI mips code ready for showtime?
I beleive that bcopy() still needs to be re-written to be bi-endian:
e.g., by using macros to do "load higher address" (word,byte), rather
than explicit lwl/lwr.
Otherwise, I think the MI mips code is basically ready for showtime.
Michael Hitch has got an r4k-based DECstation to single-user prompt.
These machines have nontrivial secondary caches, and so need some more
support than was in Per's original Pica code.
I haven't looked at later OpenBSD code; I'll leave that to someone who
has. Certainly I think writing "MI" mips support is the right way to
go. Until recently, none of the NetBSD/mips developers had access to
r4k machines; that's no longer the case and things are happening.
Getting NetBSD-current up on one of the bi-endian ARC-like machines
may be a useful porting path to going bi-endian.
>How would one go about
>constructing a arch subtree to make use of it? What still needs
>work? Per recently committed an r3kbe port (wgrisc) to the OBSD
>tree which I have been studying for a while now in an effort to
>reach some understanding of the various issues, but I'm still
>lagging 8(
All I can say for now is: see arch/pmax/pmax.
You'll need port-specific versions of
clock.c
autoconf.c
conf.c
disksubr.c
machdep.c
sys_machdep.c
vm_machdep.c
pmap.c
And also of the include files in arch/pmax/include that just include
files from arch/mips/include.
I don't know how far Michael Hitch has got with the r4k version of
pmap.c; when that works reliably with 2nd-level caches, there's likely
to be an MI arch/mips/mips/pmap.c, with #ifdef's to allow compiling
for mips1, mips3 or (soon) both. Some of the other files could (and
hopefully will) be made more MI. The pmax cpu.c is more-or-less MI;
it's only separate to allow a callback to estimate the CPU clock
speed, and thus the DECstation model number.
Also, there *are* people interested in working on newer MipsCo
hardware, (e.g., Magnums). This list exists so they can speak for
themselves, so I'll let them do so...