This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: i386 Memory Size Problem
- From: kevin_lemay at agilent dot com
- To: nickg at ecoscentric dot com
- Cc: ecos-discuss at sources dot redhat dot com
- Date: Tue, 25 Nov 2003 15:24:51 -0700
- Subject: RE: [ECOS] i386 Memory Size Problem
It appears to not be that easy.....
The BIOS calls may only be made in real mode. Redboot initializes the CPU, makes the required BIOS calls and switches to protected mode. Then thru TFTP, GDB, etc, loads an application and executes it.
So I would be able to perform the operations in RedBoot.
How do redboot and the loaded application work together? I know that portions of redboot continue to run. It appears that redboot owns the lower 640K of space and applications are always loaded starting at the 1MB boundary. I know that the pcmb_misc.c file is run, at least, by the application.
I do not know where to look for a way to pass data between them, but it must already been done for them to share CPU for debugging.
I modified pcmb_misc to poke values at the 1Mb boundaries and read it back that appear to work correctly. I am having trouble envisioning what the proper solution looks like.
Kevin
-----Original Message-----
From: Nick Garnett [mailto:nickg@ecoscentric.com]
Sent: Tuesday, November 25, 2003 9:30 AM
To: kevin_lemay@agilent.com
Cc: ecos-discuss@sources.redhat.com
Subject: Re: [ECOS] i386 Memory Size Problem
kevin_lemay@agilent.com writes:
> Nick,
>
> I found some sample code that makes the calls that I need.
>
> Are there any examples of storing to the c/C++ variables that would
> help me to do the port?
Writing to C++ variables is slightly hard since you need to handle the
name mangling. So it's best to always use C variables from assembler.
A straighforward movl will do the trick.
--
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