Subject: Re: Do LKMs work *at*all* on powerpc platforms?
To: None <dje@watson.ibm.com>
From: Wolfgang Solfrank <ws@tools.de>
List: port-macppc
Date: 08/02/2000 17:21:03
Hi,

> 	This cannot be arranged to pass in a function pointer or a
> transfer vector of function pointers?  Branches to constant displacements
> are limited in distance to within a segment, but branches via a pointer
> through the CTR or LR registers have unlimited range.

Yes, I know (that's what the parenthesized "ordinary, i.e. not through
a function pointer" was meant to hint at :-)).  Entries into the LKMs
are indeed all done via function pointers (think about it: how would
you otherwise get a fully linked kernel without the LKM?).

The problem are the external references you access from the LKM.  The
LKMs are compiled just like any other code.  If they happen to access
things like memcpy or printf, the compiler generates just an ordinary
bl to call that routine.

To fix it the way you propose, we would have to change the API/ABI for LKMs.

Ciao,
Wolfgang
-- 
ws@TooLs.DE     Wolfgang Solfrank, TooLs GmbH 	+49-228-985800