Subject: Re: loadable device driver
To: =?iso-8859-1?Q?Jarom=EDr_Dolecek?= <jdolecek@netbsd.org>
From: Ignatios Souvatzis <is@netbsd.org>
List: tech-kern
Date: 05/02/2001 20:24:32
On Tue, May 01, 2001 at 08:35:30PM +0200, Jaromír Dolecek wrote:
> Bharani Chadalavada wrote:
> > But it is a bit disappointing to know that lkm is broken. Can you be more
> > specific? What part of it is broken?Is it broken only in netbsd-current or in
> > netbsd 1.5??
> 
> It's broken on NetBSD/mips only, it has never worked there.

I think and /arm32 (don't know about /arm26) and /powerpc.

The reason is that the compiler creates one-longword branches to reach 
named functions (as opposed to function pointers) that have a limited 
range, and that the kernel is linked and operated at addresses "too far"
from the area LKMs are loaded to.

This could be mended by using a toolchain option to always create long
branches for LKMs. Unfortunately, this is not available yet.

Regards,
	-is