[1289] in NetBSD-Development

home help back first fref pref prev next nref lref last post

AFS port for MIPS: how compatible?

daemon@ATHENA.MIT.EDU (Jonathan Stone)
Fri Mar 29 08:36:45 1996

Resent-To: netbsd-afs@MIT.EDU
Resent-From: John Kohl <jtk@kolvir.arlington.ma.us>
Resent-To: jtk@atria.com
Date: Thu, 28 Mar 1996 17:36:23 -0800
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
To: John Kohl <jtk@kolvir.arlington.ma.us>


hi,

There are currently some small differences between the pica and pmax
user-space environment. Just from memory::
	- signal delivery doesn't seem to be quite the same.
	  I don't understand why, but the PICA port defines
	  some MI signal tweaks that the pmax port doesn't.

	- the two ports have inconsistent mappings from BERR* and
	  addressing exceptions to SIGBUS/SIGSEGV. Hopefully
	  that won't affect you.

Otherwise, I've merged the elf exec support for both ports into
arch/mips/mips/elf.c  They should be "the same".  Per Fogelstrom is
working on implementing shared libraries.   modulo mips-I vs mips-III
insn set differences, the same binaries -- the same shared libs --
should run on a pmax or on a pica.   Per is talking with Christos
about the exec support;  I think what's going to happen is that
the existing compat ELF-exec support will be redone with something
that supports demand-paged execution of either compat or (on mips,
and alpha?)  native binaries.

Some of the device special numbers (and /dev names)are wildly
different.  I can't see that being much of a problem.


You're absolutely correct that there's no LKM support. It would require
adding ELF support to modload.

Even if there _were_ modload support, it might not currently
be possible to have a single binary LKM for both pica and pmax.
It depends, of course, at what level AFS interfaces to the rest of the
kerenl.   The  pmap internals, and (I think, but I hope I'm wrong) even
the interfaces were kludged to deal with the aliasing and consistency
problems of the r4000's virtually-indexed cache. 

Per says the  problems come when constructing a mapping, in kernel
space,   for doing I/O to or from user space.

I don't understand what Per's problem is.   I know the Sparc port does
a better job of handling this.  I don't understand why a combination
of page-colouring, and aligning the  start virtual addresses of all
mapped regions, wouldn't make this a non-problem.   It's entirely
possible, though, that it _is_ a problem, and I just don't understand
it.

That's a lot of gory detail but I hope it helps.  If you want to
follow up, please do so.

--------
>From: John Kohl <jtk@kolvir.arlington.ma.us>
>To: jonathan@NetBSD.ORG
>Subject: AFS port for MIPS:  how compatible?
>X-US-Snail: 8 Lorne Road, Arlington, MA  02174
>
>Before someone finishes a NetBSD/mips port of AFS, I suppose we should
>ask whether the user space is sharable among pmax/decstation and
>pica/xxx stuff, and whether a kernel module could be compiled to handle
>either kernel environment.
>
>I am under the impression that there is no LKM support for the mips
>boxes yet (modload needs work for non-a.out formats), so we'll have to
>compile and link directly with the kernel.  Is this correct?
>
>==John

>



home help back first fref pref prev next nref lref last post