Subject: Re: Loading DSP code from an LKM
To: matthew green <mrg@eterna.com.au>
From: gabriel rosenkoetter <gr@eclipsed.net>
List: tech-kern
Date: 09/28/2001 02:13:25
--3wfpuDtTLg8/Vq6g
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Sep 28, 2001 at 03:56:00PM +1000, matthew green wrote:
> however, simonb appears to have fixed this for mips recently, and there
> may be similarly easy workarounds for other ports affected (arm and
> powerpc to my knowledge.)

The workarounds for PowerPC aren't hard (it's just necessary to
force a long jump), but it requires that all writers of LKMs either
specify this (obviously, not everybody knows about the problem),
that it become a default for -DLKM or something (which will make
function calls three instructions instead of one when it is, perhaps,
unnecessary to do so--like for internal functions). The workaround
for arm are similar. But you can't do this with any gcc released
right now. There are some patches used by folks at VxWorks (it's
late, is that the right company name?) which do this, but they're
not in the main gcc trunk because they were deemed "too far
reaching".

None of this addresses the political issues both internal (which of
the above to do, or some modification) and external (this should
NOT be a local change we make to gcc, since local changes to gcc
are a real headache to maintain... it should be something that happens
in the main gcc powerpc and arm ports, but they have rejected
similar code in the past). There're many people's different,
plausibly clashing, Right Ways to be satisified here.

All of this was discussed in detail on port-macppc a few months ago.
I walked away with the resolve to just shut up until I produced some
useful code to fix the problem, which I have not (hey, I'm
graduating this semester, so it could still happen quasi-soon).
I'd have stayed shut up, but I'd rather not see kernel components
relying on a functionality that is distinctly not supported on all
of our ports. (The fact that macppc is close to my own heart is
only tangentially related. ;^>)

The current state of affairs is that LKMs are useful for kernel
development on some ports, but are less than ideal for production
stuff.

--=20
       ~ g r @ eclipsed.net

--3wfpuDtTLg8/Vq6g
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

iD8DBQE7tBUF9ehacAz5CRoRAqVbAJ99EQmw19PWkYsnsQvneB3mj/zyQwCffscE
kTnAXD/bqZprenoXPz5PfiY=
=erz3
-----END PGP SIGNATURE-----

--3wfpuDtTLg8/Vq6g--