Date: Fri, 25 Oct 1996 21:58:17 +0200 From: "Philippe Charnier" <charnier@xp11.frmug.org> To: hackers@FreeBSD.org Subject: 16MB -> 32MB and the boot fails Message-ID: <199610251958.VAA14625@xp11.frmug.org>
next in thread | raw e-mail | index | archive | help
Hello, I moved this from questions to hackers. I added some printfs in the kernel (and a dummy loop to see results) code to see why it fails on my box if I don't add MAXMEM definition into the kernel. My box is a 486dx50 ISA/VLB with AMI BIOS (1992). The bios detects the memory and prints 32640K during memory test. I have BOUNCE_BUFFERS enabled because of my AHA 1542CF. >From /usr/src/sys/i386/i386/machdep.c(v 1.208): void init386(first) int first; { [...] pagesinbase = biosbasemem * 1024 / PAGE_SIZE; pagesinext = biosextmem * 1024 / PAGE_SIZE; I get pagesinbase = 160, pagesinext = 8000 [...] if ((pagesinext > 3840) && (pagesinext < 4096)) pagesinext = 3840; pagesinext is still 8000 here. /* * Maxmem isn't the "maximum memory", it's one larger than the * highest page of the physical address space. It should be * called something like "Maxphyspage". */ Maxmem = pagesinext + 0x100000/PAGE_SIZE; Maxmem is 8256 here which seems to be more than my memory!!! #ifdef MAXMEM Maxmem = MAXMEM/4; #endif The working value I must set here is 8192. Maybe, there is something in the code that _assumes_ Maxmem to be the maximum memory. ------ ------ Philippe Charnier charnier@lirmm.fr (smtp) charnier@xp11.frmug.org (uucp) ``a PC not running FreeBSD is like a venusian with no tentacles'' ------------------------------------------------------------------------
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199610251958.VAA14625>