[ECOS] i386 Memory Size Problem, Bug 1000060

Nick Garnett nickg@ecoscentric.com
Wed Dec 10 18:42:00 GMT 2003

<kevin_lemay@agilent.com> writes:

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

>From memory:

0x0000..0x1000  is left empty, in theory for so that the BIOS data in
                low memory can be accessed

0x1000..0x2000  contains the IDT, VSR table and virtual vector table

0x2000..0x3000  is where the SMP startup trampoline is placed for the
                secondary CPUs

0x3000          is where RedBoot actually starts

Your best bet is probably to put your data somewhere in the first 4k,
at 0x1c00 maybe.

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

More information about the Ecos-discuss mailing list