This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: i386 Memory Size Problem, Bug 1000060


Nick,

Everything works! I used 0x1d00 for the data since I found the virtual vector table at 0x1c00 in the .ld file.

These changes fix two problems.

  1. Find Extended memory > 64 Mb
  2. If the BIOS uses some of the high addressed base memory. Do not make this available
     for eCos by reporting a smaller memory size.

Can you check the following files for me? (3 files, i386.ld, pcmb.inc, pcmb_misc.c)

Can I close out my own bug on the tracking system?

Kevin

-----Original Message-----
From: ecos-discuss-owner@sources.redhat.com
[mailto:ecos-discuss-owner@sources.redhat.com]On Behalf Of LEMAY,KEVIN
(A-Roseville,ex1)
Sent: Wednesday, December 10, 2003 10:17 AM
To: nickg@ecoscentric.com
Cc: ecos-discuss@sources.redhat.com
Subject: RE: [ECOS] i386 Memory Size Problem, Bug 1000060


Nick,

I am really close to having this fixed. I have the new BIOS calls working to retrieve the BIOS memory map (e820), placing the data in the upper area of the 640K.

The problem now, is that some BIOS (including mine) actually use that area for an extended BIOS area. I am looking for a good location to store my 648 bytes. It works on my machine, but I am looking for a safe area to use lower in memory.

Does anyone have a memory map for how redboot uses ram on the i386 platform? It is not obvious from looking at the code.

Any help would be appreciated,

Kevin

-----Original Message-----
From: nickg@miso.calivar.com [mailto:nickg@miso.calivar.com]On Behalf Of
Nick Garnett
Sent: Wednesday, December 03, 2003 2:29 AM
To: LEMAY,KEVIN (A-Roseville,ex1)
Cc: ecos-discuss@sources.redhat.com
Subject: Re: [ECOS] i386 Memory Size Problem


<kevin_lemay@agilent.com> writes:

> It appears that Linux uses hard coded memory addresses to store the
> memory map and size, switches to protected mode and then accesses
> the saved data in ram.
> 
> I attempted to use this same method, but it does not appear to be
> running. I added new character outputs to the display during boot
> which do not appear. Any ideas on what I am doing wrong?

Maybe you have chosen some inconvenient addresses. Does the
application work if it does not access the saved memory sizes, just
uses the CMOS values? You mentioned previously that you were putting
the sizes at 1Mb and that it worked, what have you changed since then?
Make sure that your debug outputs are not corrupting things
themselves.

I'm not sure what else I can suggest.

-- 
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

Attachment: bug_1000060.tar
Description: bug_1000060.tar

-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]