Re: in-kernel linking issues

Richard Henderson (rth@twiddle.net)
Thu, 14 Nov 2002 20:21:36 -0800


On Fri, Nov 15, 2002 at 05:13:23AM +0100, Andi Kleen wrote:
> Richard Henderson <rth@twiddle.net> writes:
> > (3) Alpha and MIPS64 absolutely require that the core and init allocations
> > are "close" (within 2GB). I don't see how this can be guaranteed with
> > two different vmalloc calls.
>
> In x86-64 (and I think sparc64) the modules (both data and code) also need
> to be within 2GB of the main kernel code. This is done to avoid needing
> a GOT for calls between main kernel and modules. In the old module code that
> is done with a custom module_map() function. I have not looked yet on how
> that could be implemented in the new code.

Hmm. I guess that can be done with the two allocation hooks,
which could allocate from a special pool (as is done with the
module_map function at present). And, as far as that goes,
could apply to Alpha and MIPS as well, if the same special
allocation is done.

Consider this point refuted, Rusty.

r~
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/