From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11009 invoked by alias); 25 Nov 2003 10:57:48 -0000 Mailing-List: contact ecos-discuss-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@sources.redhat.com Received: (qmail 11001 invoked from network); 25 Nov 2003 10:57:46 -0000 Received: from unknown (HELO msgdirector3.onetel.net.uk) (212.67.96.159) by sources.redhat.com with SMTP; 25 Nov 2003 10:57:46 -0000 Received: from miso.calivar.com (213-78-87-96.friaco.onetel.net.uk [213.78.87.96]) by msgdirector3.onetel.net.uk (Mirapoint Messaging Server MOS 3.3.6-GR) with ESMTP id BJY77446; Tue, 25 Nov 2003 10:57:42 GMT Received: from miso.calivar.com (miso.calivar.com [127.0.0.2]) by miso.calivar.com (Postfix) with ESMTP id 909A628DF45; Tue, 25 Nov 2003 10:57:39 +0000 (GMT) To: kevin_lemay@agilent.com Cc: ecos-discuss@sources.redhat.com References: <1BEBA5E8600DD4119A50009027AF54A010FAE47E@axcs04.cos.agilent.com> From: Nick Garnett Date: Tue, 25 Nov 2003 10:57:00 -0000 In-Reply-To: <1BEBA5E8600DD4119A50009027AF54A010FAE47E@axcs04.cos.agilent.com> Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: [ECOS] i386 Memory Size Problem X-SW-Source: 2003-11/txt/msg00366.txt.bz2 kevin_lemay@agilent.com writes: > There appears to be an issue with the pcmb_misc.c file where it determines to actual amount of extended memory available. > > It is reading bytes 0x17 and 0x18 from the CMOS which limits the RAM size to 64MB. > > I was trying to find the proper way to find out the memory size, and found the following on the web. > > Use BIOS calls: > INT 15h AX=E820h (32-bit CPU only). If this fails... > ...use INT 15h AX=E801h. If this fails... > ...use INT 15h AH=88h. > Read the extended memory size from CMOS only if all of the BIOS calls listed above fail. > > How do I do this with eCos? > > I have a large application that I am porting that allocates lots of ram. I need more than 64MB. > You would need to put this code into the real mode startup code in pcmb.inc or platform.inc. There's already calls to INT 15h AX=0x88 and INT 12h there which just push the results, but then does nothing with them -- I think this must be obsolete code. So the right thing to do is probably to pull the pushed values after the switch to protected mode and store them in cyg_hal_pcmb_memsize_base and cyg_hal_pcmb_memsize_extended. Then just disable the options that control the code in hal_pcmb_init(). -- Nick Garnett eCos Kernel Architect http://www.ecoscentric.com The eCos and RedBoot experts -- Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos and search the list archive: http://sources.redhat.com/ml/ecos-discuss