Subject: Big kernel problem.
To: None <port-i386@NetBSD.ORG>
From: Giles Todd <giles@gt.demon.co.uk>
List: port-i386
Date: 07/26/1995 16:47:06
I have a requirement for a kernel with a larger data space than is
possible with the default kernel's start address.  My attempts to
build a kernel which starts at a lower address have so far met with
failure.

What I have done is adjusted the constants:

KERNBASE
KERNSIZE
KERNTEXTOFF

in param.h and

VM_MAXUSER_ADDRESS
VM_MAX_ADDRESS
VM_MIN_KERNEL_ADDRESS

in vmparam.h.  I also adjusted the load address in the Makefile and
made from clean each time.  I have built and installed new boot
blocks.

The values I am using are:
----------------------------------------------------------------------------
KERNBASE              0xf4000000
KERNSIZE              0x1c000000
KERNTEXTOFF           0xf4100000
VM_MIN_KERNEL_ADDRESS ((vm_offset_t)0xf4000000)
VM_MAXUSER_ADDRESS    ((vm_offset_t)0xf3bfe000)
VM_MAX_ADDRESS        ((vm_offset_t)0xf3fdf000)
----------------------------------------------------------------------------

The Makefile fixes up the binary to load at F4100000.

If I use *any* values other than the original ones, I get a hang
immediately after the kernel is loaded.  There is no output at all -
not even the copyright notice.

Have I missed anything obvious?  Any ideas on debugging this other
than hiring a logic analyser with a disassembly pod?

Sources from -current 1 June 95.

Giles.
-- 
Giles Todd                              Demon Internet