selecting a processor variant with gdbarch.
Daniel Jacobowitz
drow@false.org
Mon Nov 7 00:22:00 GMT 2005
On Tue, Nov 01, 2005 at 08:09:55PM +1100, Chris Johns wrote:
> Daniel Jacobowitz wrote:
> >On Mon, Oct 31, 2005 at 07:08:53PM +1100, Chris Johns wrote:
> >
> >>Hello,
> >>
> >>What is the preferred way to have gdbarch select a specific processor
> >>variant ?
> >
> >
> >Can you be more specific about what you want?
> >
>
> On the Coldfire we have a growing number of processors with a few
> different cores each running the same code, yet with register sets that
> vary in different ways.
Wait, are you talking about multiple slightly heterogeneous cores at
the same time, or across different implementations? I'm not sure from
the above.
> When using BDM with a Coldfire you need to get at some of the processor
> specific registers to access memory controllers to enable RAM to
> download a program.
>
> We can teach a BDM target ops how to detect various processors and make
> the selection. Getting gdbarch to handle the change is what I would like
> to understand.
Take a look at the code on csl-arm-20050325-branch for more information
about this, specifically arm-tdep.c:arm_update_architecture. That's
not what it will look like in GDB HEAD once it is implemented there;
but you can find some more about the topic in the gdb@ list archives
from early this year.
> I have played around with changing the register names and types but
> regcache proved a hurdle. It sets up the cache once during
> initialisation. If I could make a a call to get regcache to
> re-initialise this hurdle could be overcome.
See the bottom of arm_update_architecture for more. The trick is to
switch to a "new" gdbarch.
--
Daniel Jacobowitz
CodeSourcery, LLC
More information about the Gdb
mailing list