summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2006-03-14 09:02:30 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2006-03-14 09:02:30 +0000
commit3bb5b43309a186e864e15baf890685a1c29f7079 (patch)
treeca24287edaacbb27a3293a72833a51f70d0413e0 /sys/arch
parentf287fafea8b85051cda9403ca8fc6f9b3dfe4631 (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.i3864
-rw-r--r--sys/arch/i386/i386/machdep.c13
-rw-r--r--sys/arch/i386/include/param.h4
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)