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