Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Oct 1997 12:28:55 +0930
From:      Mike Smith <mike@smith.net.au>
To:        John-Mark Gurney <gurney_j@resnet.uoregon.edu>
Cc:        Mike Smith <mike@smith.net.au>, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: Doug Rabson's kernel linker code.. 
Message-ID:  <199710240258.MAA00673@word.smith.net.au>
In-Reply-To: Your message of "Thu, 23 Oct 1997 17:01:30 MST." <19971023170130.55831@hydrogen.nike.efn.org> 

index | next in thread | previous in thread | raw e-mail

> > It should be possible at that stage to reference the various symbols 
> > set when the kernel is loaded and started; looking at create_pagetables 
> > in i386/i386/locore.S I see that KERNend is set to the end of the 
> > kernel plus any symbol table.
> 
> hmm.. any machine independant way to get this information?

Not really, no.  It's reasonably dependant on the load format and 
technique used by a particular architecture.

> yeh.. well..  as I stated about.. the file that needs this is
> kern/link_aout.c... and I don't really want to reference machine specific
> symbols...  unless we require all machines to contain these symbols..

This is no better or worse than using a compile-time manifest constant.

> the other option is to do something were we move the running of SYSINIT
> into kern_linker.c... and then at boot time we simply "link" in the
> kernel as we do with kld modules...  this would require extensions to
> kern_linker.c to support linking of a memory address.. but this wouldn't
> be hard to do...

If I read you correctly here, this is basically the first step in 
making the kernel boot-time linkable.  I think that everyone that's 
ever been interested in this issue is standing on their chairs yelling 
"GO!" at you about now...

mike




home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199710240258.MAA00673>