Date: Sat, 16 Nov 1996 16:04:37 -0800 From: Erich Boleyn <erich@uruk.org> To: hackers@freebsd.org Subject: Memory probe(s) in FreeBSD Message-ID: <E0vOuiz-00047c-00@uruk.org>
next in thread | raw e-mail | index | archive | help
Hi all. I'm not on the freebsd-hackers e-mail list, and I'm not set up to do CVS patches, and last of all, I don't know who is in charge of the memory probe stuff in FreeBSD. The situation is that FreeBSD does some weird stuff in "i386/i386/machdep.c" which interferes with correct autodetection of the amount of RAM installed. The existing bootloader checks the BIOS interfaces for lower and upper memory, and pass that to the kernel. The kernel checks the RTC values and used to always ignore the values passed by the bootloader. Currently, it does use the BIOS value passed by the bootloader for lower memory, because it was discovered that this was necessary to get APM and SMP code to work right. It still ignores the BIOS values for upper memory, though. I would argue that the BIOS values should always be used, and the RTC values simply ignored unless something specific (like the SMP probe) needs them. The reasons are: (1) RTC lower memory is physical installed RAM. Using all of it might overwrite data used by APM or SMP BIOS structures. (2) RTC upper memory is only a compatibility value, it isn't guaranteed to have all memory, and cannot represent more than 64MB of RAM. (3) New BIOS interfaces exist (in most machines newer than 3 years old, and in some older as well) which can report as much RAM as can be physically installed and supported by the hardware. At least one bootloader (GRUB, see my web pages below for details) can report it in a way that FreeBSD could use if the value passed by the bootloader wasn't ignored. Thanks for your time. -- Erich Stefan Boleyn \_ E-mail (preferred): <erich@uruk.org> Mad Genius wanna-be, CyberMuffin \__ (finger me for other stats) Web: http://www.uruk.org/~erich/ Motto: "I'll live forever or die trying"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E0vOuiz-00047c-00>