diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 2006-03-14 09:02:30 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 2006-03-14 09:02:30 +0000 |
commit | 3bb5b43309a186e864e15baf890685a1c29f7079 (patch) | |
tree | ca24287edaacbb27a3293a72833a51f70d0413e0 /sys/arch | |
parent | f287fafea8b85051cda9403ca8fc6f9b3dfe4631 (diff) |
move the kernel 1m up to provide more space for isadma; deraadt@ ok
Diffstat (limited to 'sys/arch')
-rw-r--r-- | sys/arch/i386/conf/Makefile.i386 | 4 | ||||
-rw-r--r-- | sys/arch/i386/i386/machdep.c | 13 | ||||
-rw-r--r-- | sys/arch/i386/include/param.h | 4 |
3 files changed, 15 insertions, 6 deletions
diff --git a/sys/arch/i386/conf/Makefile.i386 b/sys/arch/i386/conf/Makefile.i386 index 18b578bc8fa..d15c405ee1e 100644 --- a/sys/arch/i386/conf/Makefile.i386 +++ b/sys/arch/i386/conf/Makefile.i386 @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile.i386,v 1.41 2004/11/19 06:41:13 miod Exp $ +# $OpenBSD: Makefile.i386,v 1.42 2006/03/14 09:02:29 mickey Exp $ # Makefile for OpenBSD # @@ -51,7 +51,7 @@ CMACHFLAGS+= -fno-builtin-printf -fno-builtin-log COPTS?= -O2 CFLAGS= ${DEBUG} ${CDIAGFLAGS} ${CMACHFLAGS} ${COPTS} ${PIPE} AFLAGS= -x assembler-with-cpp -traditional-cpp -D_LOCORE -LINKFLAGS= -Ttext 0xD0100120 -e start -N +LINKFLAGS= -Ttext 0xD0200120 -e start -N STRIPFLAGS= -g -X -x HOSTCC= ${CC} diff --git a/sys/arch/i386/i386/machdep.c b/sys/arch/i386/i386/machdep.c index c156e18015c..acd227a12f7 100644 --- a/sys/arch/i386/i386/machdep.c +++ b/sys/arch/i386/i386/machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: machdep.c,v 1.344 2006/03/08 13:52:34 kettenis Exp $ */ +/* $OpenBSD: machdep.c,v 1.345 2006/03/14 09:02:29 mickey Exp $ */ /* $NetBSD: machdep.c,v 1.214 1996/11/10 03:16:17 thorpej Exp $ */ /*- @@ -2803,7 +2803,7 @@ cpu_init_ldt(struct cpu_info *ci) void init386(paddr_t first_avail) { - int i; + int i, kb; struct region_descriptor region; bios_memmap_t *im; @@ -3014,6 +3014,15 @@ init386(paddr_t first_avail) #ifdef DEBUG printf("physload: "); #endif + kb = atop(KERNTEXTOFF - KERNBASE); + if (kb > atop(0x100000)) { + paddr_t lim = atop(0x100000); +#ifdef DEBUG + printf(" %x-%x (<16M)", lim, kb); +#endif + uvm_page_physload(lim, kb, lim, kb, VM_FREELIST_FIRST16); + } + for (i = 0; i < ndumpmem; i++) { paddr_t a, e; paddr_t lim; diff --git a/sys/arch/i386/include/param.h b/sys/arch/i386/include/param.h index e9e1d5cd572..bd3234ad7eb 100644 --- a/sys/arch/i386/include/param.h +++ b/sys/arch/i386/include/param.h @@ -1,4 +1,4 @@ -/* $OpenBSD: param.h,v 1.33 2005/12/13 01:56:43 martin Exp $ */ +/* $OpenBSD: param.h,v 1.34 2006/03/14 09:02:29 mickey Exp $ */ /* $NetBSD: param.h,v 1.29 1996/03/04 05:04:26 cgd Exp $ */ /*- @@ -83,7 +83,7 @@ */ #define KERNBASE 0xd0000000 -#define KERNTEXTOFF (KERNBASE+0x100000) /* start of kernel text */ +#define KERNTEXTOFF (KERNBASE+0x200000) /* start of kernel text */ #define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */ #define DEV_BSIZE (1 << DEV_BSHIFT) |