diff options
Diffstat (limited to 'sys/arch/i386/i386/machdep.c')
-rw-r--r-- | sys/arch/i386/i386/machdep.c | 13 |
1 files changed, 11 insertions, 2 deletions
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; |