Date: Sun, 27 May 2001 11:15:57 +0300 From: Valentin Nechayev <netch@iv.nn.kiev.ua> To: Barry Lustig <barry@lustig.com> Cc: Mike Smith <msmith@FreeBSD.ORG>, current@FreeBSD.ORG, hackers@FreeBSD.ORG Subject: Re: Boot time memory issue Message-ID: <20010527111557.B1577@iv.nn.kiev.ua> In-Reply-To: <3B106076.657BB1A9@lustig.com>; from barry@lustig.com on Sat, May 26, 2001 at 10:03:34PM -0400 References: <200105270201.f4R21o404244@mass.dis.org> <3B106076.657BB1A9@lustig.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Sat, May 26, 2001 at 22:03:34, barry (Barry Lustig) wrote about "Re: Boot time memory issue":
> > > SMAP type=01 base=00000000 00100000 len=00000000 13ef0000
[...]
> Did that and got the same error. I put a printf just before the
> pa_indx++ in machdep.c and watched it increment by 2's all the way up to
> 100.
>
> Any other ideas?
This code in machdep.c performs easy memory test for each page and adds
it to previous chunk or creates new one. The idea AFAIU is to test
declared memory regions for real ones. If you have >100 really different
regions in declared two memory regions, something bad happened with
your hardware: memory modules are broken, or chipset incorrectly detects
them, or yet another problem...
You can test its logic by adding following patch or similar one:
--- machdep.c.orig Sun May 27 11:12:19 2001
+++ machdep.c Sun May 27 11:13:57 2001
@@ -1785,10 +1785,12 @@
printf("Too many holes in the physical address space, giving up\n");
pa_indx--;
break;
}
phys_avail[pa_indx++] = pa; /* start */
+ printf( "getmemsize: new chunk at %08lx\n",
+ (unsigned long) pa );
phys_avail[pa_indx] = pa + PAGE_SIZE; /* end */
}
physmem++;
}
}
/netch
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010527111557.B1577>
