GDB Stubs for PowerPC BSP with old-exceptions

Thomas Doerfler Thomas.Doerfler at
Tue Feb 20 17:01:37 UTC 2007

Hello Robert, hello Till,

Sorry that I enter the discussion so late.

I fully agree with Tills recommendations, including his request to use
the shared/vectors sources. There is one thing special with the PPC4xx
family concerning the exception handling: PPC4xx (and the new Book E
PowerPCs) have the concept of "critical interrupts", which is not
available in the other PPC derivates. This will need some special
handling, but it is a good idea to add it to the shared code, because it
will be useful for future PPC implementations aswell.

Robert, in the past I have adapted the PPC403 BSP (helas403), but due to
my lack of debugging facilities and current hardware, I could not
support the transition to the new exception handling for PPC4xx.

If I can be of any help to support you with the transition, please let
me know.

I have access to a Xilinx Eva Board and the corresponding development
software, so I might even try things out here when the BSP is ripe
enough to be tested.

Thomas Doerfler.

Robert S. Grimes schrieb:
> Hi Till,
> Sorry for the delay, but you just missed me before a weekend away from work!
> Thanks, your comments should prove very useful; I think they're just
> what I needed to guide me.
> Take care,
> -Bob
> Till Straumann wrote:
>> Robert S. Grimes wrote:
>>> Hi Till,
>>> Thanks for the response.  Perhaps you misunderstood me, but I
>>> certainly wasn't expecting you to support an old standard!  I was
>>> envisioning me doing the work, either way...Anyway, Joel has
>>> suggested I do the same, for similar reasons.  Given that I've always
>>> felt the new model would be better, it seems I've enough good reasons
>>> for changing what already works.  Only problem is that I don't have
>>> any information about the differences between old and new.
>>> Do you or anyone else know where I should look?
>> Dunno other than in the obvious places (relevant new/old source
>> directories)
>> and in a BSP that uses 'new'.
>> Ideally, you can just use code from the 'vectors' subdirectory of the
>> 'powerpc/shared' directory (look at the 'psim' BSP). This works
>> for the 60x/750/74xx CPUs. I don't know if you would need modifications
>> for the 405 - I'm not familiar with that one.
>> In any case *do not* copy from powerpc/shared/vectors and create
>> a modified version in your 'vectors' subdirectory. This has been very
>> bad practice in the past and lead to a bunch of hard to maintain
>> variants of code. Due to the low-level nature of exception handling
>> there has to be assembly code. We don't want a jungle of variants
>> of this code. Don't do it. Please.
>> If you have to deviate from the 'shared' implementation then think
>> about adding run-time tests or (if you have to) compile-time conditionals
>> (#ifdef) to the 'shared' implementation so that only a single
>> implementation needs to be maintained.
>> Your Makefile then uses the code from the 'shared' area (ugly, I know;
>> there should really be a library)
>> HTH
>> -- Till
>>> Or at the very least, suggest one or two good example PowerPC BSPs
>>> that implement the new exception model?
>>> Thanks!
>>> -Bob
> _______________________________________________
> rtems-users mailing list
> rtems-users at

embedded brains GmbH
Thomas Doerfler           Obere Lagerstr. 30
D-82178 Puchheim          Germany
Tel. : +49-89-18 90 80 79-2
Fax  : +49-89-18 90 80 79-9
email: Thomas.Doerfler at
PGP public key available on request

More information about the users mailing list