BIOS memory loading messages can be enabled with DEBUG_MEMLOAD.

Increase VM_PHYSSEG_MAX from 3 to 5 to avoid a panic.  Suggest
increasing VM_PHYSSEG_MAX in the panic message.
This commit is contained in:
kim 2000-11-09 17:34:51 +00:00
parent 611c77c7df
commit 534a2fa4bb
2 changed files with 10 additions and 10 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: machdep.c,v 1.408 2000/11/05 22:10:01 thorpej Exp $ */ /* $NetBSD: machdep.c,v 1.409 2000/11/09 17:34:51 kim Exp $ */
/*- /*-
* Copyright (c) 1996, 1997, 1998, 2000 The NetBSD Foundation, Inc. * Copyright (c) 1996, 1997, 1998, 2000 The NetBSD Foundation, Inc.
@ -1803,11 +1803,11 @@ init386(first_avail)
*/ */
bim = lookup_bootinfo(BTINFO_MEMMAP); bim = lookup_bootinfo(BTINFO_MEMMAP);
if (bim != NULL && bim->num > 0) { if (bim != NULL && bim->num > 0) {
#if 0 #if DEBUG_MEMLOAD
printf("BIOS MEMORY MAP (%d ENTRIES):\n", bim->num); printf("BIOS MEMORY MAP (%d ENTRIES):\n", bim->num);
#endif #endif
for (x = 0; x < bim->num; x++) { for (x = 0; x < bim->num; x++) {
#if 0 #if DEBUG_MEMLOAD
printf(" addr 0x%qx size 0x%qx type 0x%x\n", printf(" addr 0x%qx size 0x%qx type 0x%x\n",
bim->entry[x].addr, bim->entry[x].addr,
bim->entry[x].size, bim->entry[x].size,
@ -2008,7 +2008,7 @@ init386(first_avail)
tmp = (16 * 1024 * 1024); tmp = (16 * 1024 * 1024);
else else
tmp = seg_end; tmp = seg_end;
#if 0 #if DEBUG_MEMLOAD
printf("loading 0x%qx-0x%qx (0x%lx-0x%lx)\n", printf("loading 0x%qx-0x%qx (0x%lx-0x%lx)\n",
seg_start, tmp, seg_start, tmp,
atop(seg_start), atop(tmp)); atop(seg_start), atop(tmp));
@ -2020,7 +2020,7 @@ init386(first_avail)
if (seg_start == seg_end) if (seg_start == seg_end)
continue; continue;
} }
#if 0 #if DEBUG_MEMLOAD
printf("loading 0x%qx-0x%qx (0x%lx-0x%lx)\n", printf("loading 0x%qx-0x%qx (0x%lx-0x%lx)\n",
seg_start, seg_end, seg_start, seg_end,
atop(seg_start), atop(seg_end)); atop(seg_start), atop(seg_end));
@ -2040,7 +2040,7 @@ init386(first_avail)
tmp = (16 * 1024 * 1024); tmp = (16 * 1024 * 1024);
else else
tmp = seg_end1; tmp = seg_end1;
#if 0 #if DEBUG_MEMLOAD
printf("loading 0x%qx-0x%qx (0x%lx-0x%lx)\n", printf("loading 0x%qx-0x%qx (0x%lx-0x%lx)\n",
seg_start1, tmp, seg_start1, tmp,
atop(seg_start1), atop(tmp)); atop(seg_start1), atop(tmp));
@ -2052,7 +2052,7 @@ init386(first_avail)
if (seg_start1 == seg_end1) if (seg_start1 == seg_end1)
continue; continue;
} }
#if 0 #if DEBUG_MEMLOAD
printf("loading 0x%qx-0x%qx (0x%lx-0x%lx)\n", printf("loading 0x%qx-0x%qx (0x%lx-0x%lx)\n",
seg_start1, seg_end1, seg_start1, seg_end1,
atop(seg_start1), atop(seg_end1)); atop(seg_start1), atop(seg_end1));
@ -2077,7 +2077,7 @@ init386(first_avail)
break; break;
} }
if (x == vm_nphysseg) if (x == vm_nphysseg)
panic("init386: can't find end of memory"); panic("init386: can't find end of memory (increase VM_PHYSSEG_MAX?)");
/* Shrink so it'll fit in the last segment. */ /* Shrink so it'll fit in the last segment. */
if ((vps->avail_end - vps->avail_start) < atop(sz)) if ((vps->avail_end - vps->avail_start) < atop(sz))

View File

@ -1,4 +1,4 @@
/* $NetBSD: vmparam.h,v 1.37 2000/06/18 18:29:04 castor Exp $ */ /* $NetBSD: vmparam.h,v 1.38 2000/11/09 17:34:52 kim Exp $ */
/*- /*-
* Copyright (c) 1990 The Regents of the University of California. * Copyright (c) 1990 The Regents of the University of California.
@ -123,7 +123,7 @@
/* virtual sizes (bytes) for various kernel submaps */ /* virtual sizes (bytes) for various kernel submaps */
#define VM_PHYS_SIZE (USRIOSIZE*NBPG) #define VM_PHYS_SIZE (USRIOSIZE*NBPG)
#define VM_PHYSSEG_MAX 3 /* 1 "hole" + 2 free lists */ #define VM_PHYSSEG_MAX 5 /* 1 "hole" + 4 free lists */
#define VM_PHYSSEG_STRAT VM_PSTRAT_BIGFIRST #define VM_PHYSSEG_STRAT VM_PSTRAT_BIGFIRST
#define VM_PHYSSEG_NOADD /* can't add RAM after vm_mem_init */ #define VM_PHYSSEG_NOADD /* can't add RAM after vm_mem_init */