This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Non-uniform address spaces
- From: Daniel Jacobowitz <drow at false dot org>
- To: Michael Eager <eager at eagercon dot com>
- Cc: gdb at sources dot redhat dot com
- Date: Sat, 23 Jun 2007 17:25:57 -0400
- Subject: Re: Non-uniform address spaces
- References: <467D4AE3.7020505@eagercon.com>
On Sat, Jun 23, 2007 at 09:31:31AM -0700, Michael Eager wrote:
> Any suggestions on how to support a target which has
> a non-uniform address space? An address is a tuple which
> includes a processor id, a thread id, and an offset.
> There is a mapping function which translates the tuple
> into a physical address.
>
> Ideally, it would be nice to replace the current definition
> of CORE_ADDR with a struct and add functions to to do
> operations like increment/decrement address. But the
> assumption that the address space is flat and that you
> can do arithmetic on addresses is pervasive.
How big are each of those objects (processor id, thread id, offset)?
The conventional way to do this in GDB is to have a mapping from
CORE_ADDR to target addresses, not to target pointers. Most of the
Harvard architecture ports work this way. However, there may not be
enough hooks for you to get away with it if they're as dynamic as it
sounds.
--
Daniel Jacobowitz
CodeSourcery