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]

RE: Virtual Vector Table.


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


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