On Mon, Mar 29, 1999 at 03:43:16PM +0100, Tony Finch <[email protected]> wrote:
> We have a Quad 400MHz Xeon on evaluation here and we're trying to get
> a large memory configuration working. The machine is running a recent
> 3.1-STABLE with the kva patch from -CURRENT (appended below). When we
> have a working system with 1GB of RAM we'll increase it to 3GB of RAM
> and see how it runs.
>
> The boot blocks are from 3.0-RELEASE and they will boot the old a.out
> kernel via /boot/loader quite happily. We haven't yet managed to boot
> an ELF kernel, though (but we haven't tried to boot an unpatched one).
> It's also somewhat painful to debug because the machine is miles away
> and its serial console is causing trouble.
>
> Are there any obvious things we have missed? I assume the kernel load
> address is read by /boot/loader from the kernel's ELF header, so that
> a recent loader can cope. I also assume that the patch included below
> tweaks all of the required knobs.
Yes, you need to patch load_elf.c -- here is what I have:
nautilus% diff -u load_elf.c /usr/src/sys/boot/common/load_elf.c
--- load_elf.c Mon Mar 29 07:29:18 1999
+++ /usr/src/sys/boot/common/load_elf.c Mon Jan 4 10:37:41 1999
@@ -229,7 +229,7 @@
firstaddr = lastaddr = 0;
if (kernel) {
#ifdef __i386__
- off = - (off & 0xff000000u);
+ off = 0x10000000; /* -0xf0000000 - i386 relocates after locore */
#else
off = 0; /* alpha is direct mapped for kernels */
#endif
To Unsubscribe: send mail to [email protected]
with "unsubscribe freebsd-current" in the body of the message