PowerPC Book E ESR missing from exception frame

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Nov 23 08:15:49 UTC 2012


On 11/22/2012 08:02 PM, Claus, Ric wrote:
> On the PPC 405 and PPC 440, it is often useful to look at the Exception Syndrome Register (SPR 62), especially after a program exception.  Would the PowerPC gurus please comment on why it is missing from the register dump and/or whether it would be agreeable to add it?  I volunteer to do the work.

I moved the register dump to the new ppc_exc_print_frame_and_context() function:

http://git.rtems.org/rtems/commit/?id=7e32b62a59ae91d67096c03b592dfd691ab32214

The default action during an unexpected exception is now to print nothing and 
reset the target.

You can add custom fatal handlers, for example:

#include <bsp/vectors.h>

static void fatal_extension(
   rtems_fatal_source source,
   bool is_internal,
   rtems_fatal_code code
)
{
   if ( source == RTEMS_FATAL_SOURCE_POWERPC_EXCEPTION ) {
     const BSP_Exception_frame *frame =
       (const BSP_Exception_frame *) code;

     ppc_exc_print_frame_and_context( frame );
   }
}

#define CONFIGURE_INIT

#define CONFIGURE_INITIAL_EXTENSIONS { .fatal = fatal_extension }

#include <rtems/confdefs.h>

You can add the Exception Syndrome Register to 
ppc_exc_print_frame_and_context(), but please check that this register is 
available, otherwise we have the next exception and so on.


-- 
Sebastian Huber, embedded brains GmbH

Address : Obere Lagerstr. 30, D-82178 Puchheim, Germany
Phone   : +49 89 18 90 80 79-6
Fax     : +49 89 18 90 80 79-9
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.





More information about the devel mailing list