Return to BSD News archive
Path: sserve!euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!simtel!oleane!tank.news.pipex.net!pipex!news.mathworks.com!newsfeed.internetmci.com!EU.net!Germany.EU.net!news.dfn.de!news.uni-augsburg.de!lrz-muenchen.de!fauern!news.tu-chemnitz.de!irz401!uriah.heep!bonnie.heep!not-for-mail
From: j@bonnie.heep.sax.de (J Wunsch)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: >64 Megs (128Megs) of RAM on FreeBSD 2.0.5?
Date: 11 Aug 1995 10:29:09 +0200
Organization: Private U**x site, Dresden.
Lines: 39
Message-ID: <40f4cl$7kq@bonnie.tcd-dresden.de>
References: <40bgit$80m@superman.ids.net>
Reply-To: joerg_wunsch@uriah.heep.sax.de
NNTP-Posting-Host: 192.109.108.139
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
<green@ids.net> wrote:
>I have a Pentium 100 with 128Megs of RAM, and I'm running FreeBSD 2.0.5
>on it. However, it appears, as far as I can tell from the bootup messages,
>that it's only recognizing the first 64 Megs.
>
>Does anyone know if there's something special I have to do in order to get
>it to recognize the second portion of RAM?
The CMOS is only able to handle 64 MB RAM, and FreeBSD relies on the
CMOS value. FreeBSD-current does provide a hack for this, it's not
yet in 2.0.5R. The following code in sys/i386/i386/machdep.c deals
with this:
/* Use BIOS values stored in RTC CMOS RAM, since probing
* breaks certain 386 AT relics.
*/
biosbasemem = rtcin(RTC_BASELO)+ (rtcin(RTC_BASEHI)<<8);
biosextmem = rtcin(RTC_EXTLO)+ (rtcin(RTC_EXTHI)<<8);
[...]
/*
* Some 386 machines might give us a bogus number for extended
* mem. If this happens, stop now.
*/
#ifndef LARGEMEM
if (biosextmem > 65536) {
panic("extended memory beyond limit of 64MB");
/* NOTREACHED */
}
#endif
The hack used to hardwire the biosextmem figure from the config file.
--
cheers, J"org private: joerg_wunsch@uriah.heep.sax.de
http://www.sax.de/~joerg/
Never trust an operating system you don't have sources for. ;-)