This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: Virtual Vector Table.
- To: 'Nick Garnett' <nickg at cygnus dot co dot uk>, ecos-discuss at sourceware dot cygnus dot com
- Subject: RE: [ECOS] Virtual Vector Table.
- From: Fabrice Gautier <Fabrice_Gautier at sdesigns dot com>
- Date: Tue, 10 Oct 2000 10:55:44 -0700
> -----Original Message-----
> From: Nick Garnett [mailto:nickg@cygnus.co.uk]
> Sent: Tuesday, October 10, 2000 3:24 AM
> To: ecos-discuss@sourceware.cygnus.com
> Subject: Re: [ECOS] Virtual Vector Table.
>
>
> Gary Thomas <gthomas@redhat.com> writes:
>
> Basically the VSR table and the virtual vector table must be in well
> known fixed memory addresses that can be found by both RedBoot and the
> loaded executable. They must also be in places that will not be
> overwritten by anything that might be loaded into memory. Ususally
> this means putting them at the bottom of RAM. I can think of three
> places in the PC that they could go:
>
> 1. At the bottom of normal RAM, at 0x1000. This would mean pushing the
> load address of RedBoot/monitor up to 0x2000.
>
> 2. At the top of normal RAM, at 0x9F000. This has the slight
> disadvantage that a large executable might overwrite it.
>
> 3. At the bottom of extended memory, at 0x100000.
>
> Of these option 1 is probably the best. So something like:
> VSR table at
> 0x1000 and vector table at 0x1400.
Currently I think the VSR table is at 0x0000. It requires 0x800 (in
protected mode), and the Vector table require 64*8=0x200. So this could be:
VSR Table: 0x0000
Vector Table: 0x0800
And so you don't need to move the RedBoot load address.
Is there anything else that should prevent me to put this table at the very
beginning?
Thanks,
--
Fabrice Gautier
fabrice_gautier@sdesigns.com