Subject: Re: kernfs
To: der Mouse , Kevin Diggs <kevdig@rcn.com>
From: gabriel rosenkoetter <gr@eclipsed.net>
List: port-macppc
Date: 12/25/2001 03:43:54
--3loezlmesXOUD0D5
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

I have stuff to say about this, but I'm at my parents' house for
Christmas, far far awawy from my code and docs. If I don't speak
up on or about the beginning of 2002, somebody bug me privately.

Kevin, I only skimmed the Mouse's descripton of the problem, but it
looked accurate to my memory as well. (Note that LinuxPPC has LKMs.
I think they just use a long jump all the time, which works, but
isn't exactly what I'd call elegant. Anyone who knows better should
feel free to correct me on that.)

I have the beginnings of a gcc/ld hack to make kernel modules
behave on macppc (um, and theoretically any powerpc port, though I
don't have any others handy), but it's on a machine that's physically
switched off and 900 miles away. It's ugly and only nearly works,
but it exists in a moderate sense. (I don't quite remember what
state I left things in. The whole graduating from college thing
distracted me a bit.)

Note that this is not a strictly technical issue; different people
have different ideas of the Right Way to fix this. Presuming long
jumps for LKMs and forcing LKM authors to tag any functions that are
strictly internal as short jumps is the tack I've taken. Objections
will go straight to /dev/null. Don't like it? Fix it your way
yourself. :^>

(Seriously, what der Mouse suggests is more Right, but figuring out
how to make ld check for the condition makes my head hurt, and I'd
mostly like something that at least works before getting too
ambitious.)

This all requires incorporating some stuff in gcc and ld that the
FSF has rejected in the past (it was part of a larger patch that was
deemed to "do too much"). Part of the hassle will be getting it
into a state that they'll like. (Having a NetBSD-specific, well,
one specific to this great an extent, gcc would be Not Fun.) Most
of the legwork comes from some VxWorks stuff rather than any great
knowledge on my part. Again, I don't have my notes handy, but I'll
say more after I'm back where they are.

--=20
gabriel rosenkoetter
gr@eclipsed.net

--3loezlmesXOUD0D5
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (NetBSD)
Comment: For info see http://www.gnupg.org

iEYEARECAAYFAjwoPEoACgkQ9ehacAz5CRqQZQCeIPqLB+gardE+XUSsUSNP1XxA
qRMAoLQfgP1zl6wM9Bhy83XNY9YQI/oM
=QtUC
-----END PGP SIGNATURE-----

--3loezlmesXOUD0D5--