Changeset 815994f in rtems


Ignore:
Timestamp:
Nov 25, 2012, 4:48:11 PM (7 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.11, master
Children:
f7f1d77
Parents:
d2202ac
git-author:
Sebastian Huber <sebastian.huber@…> (11/25/12 16:48:11)
git-committer:
Sebastian Huber <sebastian.huber@…> (11/27/12 16:03:40)
Message:

score: Add CPU_Exception_frame

Add CPU port type CPU_Exception_frame and function
_CPU_Exception_frame_print().

The CPU ports of avr, bfin, h8300, lm32, m32c, m32r, m68k, nios2, sh,
sparc64, and v850 use an empty default implementation of
_CPU_Exception_frame_print().

Add rtems_exception_frame and rtems_exception_frame_print().

Add RTEMS_FATAL_SOURCE_EXCEPTION for CPU exceptions. Use rtems_fatal()
with source RTEMS_FATAL_SOURCE_EXCEPTION in CPU ports of i386, powerpc,
and sparc for unexpected exceptions.

Add third parameter to RTEMS_BSP_CLEANUP_OPTIONS() which controls the
BSP_PRINT_EXCEPTION_CONTEXT define used in the default
bsp_fatal_extension().

Add test sptests/spfatal26.

Files:
17 added
47 edited

Legend:

Unmodified
Added
Removed
  • c/src/aclocal/bsp-bspcleanup-options.m4

    rd2202ac r815994f  
    1010
    1111dnl USAGE:
    12 dnl    RTEMS_BSP_CLEANUP_OPTIONS([0|1], [0|1])
     12dnl    RTEMS_BSP_CLEANUP_OPTIONS([0|1], [0|1], [0|1])
    1313dnl WHERE:
    1414dnl    argument 1 indicates the default value for BSP_PRESS_KEY_FOR_RESET
    1515dnl    argument 2 indicates the default value for BSP_RESET_BOARD_AT_EXIT
     16dnl    argument 3 indicates the default value for BSP_PRINT_EXCEPTION_CONTEXT
    1617
    1718AC_DEFUN([RTEMS_BSP_CLEANUP_OPTIONS],[
     
    2425RTEMS_BSPOPTS_HELP([BSP_RESET_BOARD_AT_EXIT],
    2526[If defined, reset the board when the application exits.])
     27
     28RTEMS_BSPOPTS_SET([BSP_PRINT_EXCEPTION_CONTEXT],[*],[$3])
     29RTEMS_BSPOPTS_HELP([BSP_PRINT_EXCEPTION_CONTEXT],
     30[If defined, prints the exception context when an unexpected exception occurs.])
    2631])
  • c/src/lib/libbsp/mips/shared/irq/vectorexceptions.c

    rd2202ac r815994f  
    2525#include <bsp/irq-generic.h>
    2626
    27 void mips_vector_exceptions( CPU_Interrupt_frame *frame );
    28 
    29 static const char *cause_strings[32] =
     27static const char *const cause_strings[32] =
    3028{
    3129  /*  0 */ "Int",
     
    8078};
    8179
    82 static void mips_dump_exception_frame( CPU_Interrupt_frame *frame )
     80void _BSP_Exception_frame_print( const CPU_Exception_frame *frame )
    8381{
    8482  uint32_t *frame_u32;
  • c/src/lib/libbsp/powerpc/psim/configure.ac

    rd2202ac r815994f  
    4646and a little memory is saved.])
    4747
    48 RTEMS_BSP_CLEANUP_OPTIONS(0, 1)
     48RTEMS_BSP_CLEANUP_OPTIONS(0, 1, 1)
    4949
    5050# Explicitly list all Makefiles here
  • c/src/lib/libbsp/shared/bspclean.c

    rd2202ac r815994f  
    1717  rtems_fatal_source source,
    1818  bool is_internal,
    19   rtems_fatal_code error
     19  rtems_fatal_code code
    2020)
    2121{
     
    3030
    3131    printk("\n");
     32  #endif
     33
     34  #if (BSP_PRINT_EXCEPTION_CONTEXT)
     35    if ( source == RTEMS_FATAL_SOURCE_EXCEPTION ) {
     36      rtems_exception_frame_print( (const rtems_exception_frame *) code );
     37    }
    3238  #endif
    3339
  • c/src/lib/libbsp/sparc/erc32/configure.ac

    rd2202ac r815994f  
    4343 initialization not used on real ERC32 hardware.])
    4444
    45 RTEMS_BSP_CLEANUP_OPTIONS(0,1)
     45RTEMS_BSP_CLEANUP_OPTIONS(0,1,1)
    4646
    4747# Explicitly list all Makefiles here
  • c/src/lib/libbsp/sparc/erc32/startup/spurious.c

    rd2202ac r815994f  
    1717#include <rtems/bspIo.h>
    1818
    19 /*
    20  *  bsp_spurious_handler
    21  *
    22  *  Print a message on the debug console and then die
    23  */
     19void _BSP_Exception_frame_print( const CPU_Exception_frame *frame )
     20{
     21  uint32_t                   trap;
     22  uint32_t                   real_trap;
     23  const CPU_Interrupt_frame *isf;
    2424
    25 rtems_isr bsp_spurious_handler(
    26    rtems_vector_number trap,
    27    CPU_Interrupt_frame *isf
    28 )
    29 {
    30   uint32_t         real_trap;
    31 
     25  trap = frame->trap;
    3226  real_trap = SPARC_REAL_TRAP_NUMBER(trap);
     27  isf = frame->isf;
    3328
    3429  printk( "Unexpected trap (%2d) at address 0x%08x\n", real_trap, isf->tpc);
     
    122117      break;
    123118  }
     119}
    124120
    125   /*
    126    *  What else can we do but stop ...
    127    */
     121rtems_isr bsp_spurious_handler(
     122   rtems_vector_number trap,
     123   CPU_Interrupt_frame *isf
     124)
     125{
     126  CPU_Exception_frame frame = {
     127    .trap = trap,
     128    .isf = isf
     129  };
    128130
    129   __asm__ volatile( "mov 1, %g1; ta 0x0" );
     131  rtems_fatal(
     132    RTEMS_FATAL_SOURCE_EXCEPTION,
     133    (rtems_fatal_code) &frame
     134  );
    130135}
    131136
  • c/src/lib/libbsp/sparc/leon2/startup/spurious.c

    rd2202ac r815994f  
    1717#include <rtems/bspIo.h>
    1818
    19 /*
    20  *  bsp_spurious_handler
    21  *
    22  *  Print a message on the debug console and then die
    23  */
     19void _BSP_Exception_frame_print( const CPU_Exception_frame *frame )
     20{
     21  uint32_t                   trap;
     22  uint32_t                   real_trap;
     23  const CPU_Interrupt_frame *isf;
    2424
    25 rtems_isr bsp_spurious_handler(
    26    rtems_vector_number trap,
    27    CPU_Interrupt_frame *isf
    28 )
    29 {
    30   uint32_t real_trap;
    31 
     25  trap = frame->trap;
    3226  real_trap = SPARC_REAL_TRAP_NUMBER(trap);
     27  isf = frame->isf;
    3328
    3429  printk( "Unexpected trap (%2d) at address 0x%08x\n", real_trap, isf->tpc);
     
    10398      break;
    10499  }
     100}
    105101
    106   /*
    107    *  What else can we do but stop ...
    108    */
     102rtems_isr bsp_spurious_handler(
     103   rtems_vector_number trap,
     104   CPU_Interrupt_frame *isf
     105)
     106{
     107  CPU_Exception_frame frame = {
     108    .trap = trap,
     109    .isf = isf
     110  };
    109111
    110   __asm__ volatile( "mov 1, %g1; ta 0x0" );
     112  rtems_fatal(
     113    RTEMS_FATAL_SOURCE_EXCEPTION,
     114    (rtems_fatal_code) &frame
     115  );
    111116}
    112117
  • c/src/lib/libbsp/sparc/leon3/startup/spurious.c

    rd2202ac r815994f  
    1919
    2020#include <bsp.h>
    21 
    2221#include <rtems/bspIo.h>
    2322
    24 /*
    25  *  bsp_spurious_handler
    26  *
    27  *  Print a message on the debug console and then die
    28  */
     23void _BSP_Exception_frame_print( const CPU_Exception_frame *frame )
     24{
     25  uint32_t                   trap;
     26  uint32_t                   real_trap;
     27  const CPU_Interrupt_frame *isf;
    2928
    30 rtems_isr bsp_spurious_handler(
    31    rtems_vector_number trap,
    32    CPU_Interrupt_frame *isf
    33 )
    34 {
    35   uint32_t real_trap;
    36 
     29  trap = frame->trap;
    3730  real_trap = SPARC_REAL_TRAP_NUMBER(trap);
     31  isf = frame->isf;
    3832
    3933  printk( "Unexpected trap (0x%02x) at address 0x%08x\n", real_trap, isf->tpc);
     
    114108      break;
    115109  }
     110}
    116111
    117   /*
    118    *  What else can we do but stop ...
    119    */
     112rtems_isr bsp_spurious_handler(
     113   rtems_vector_number trap,
     114   CPU_Interrupt_frame *isf
     115)
     116{
     117  CPU_Exception_frame frame = {
     118    .trap = trap,
     119    .isf = isf
     120  };
    120121
    121   __asm__ volatile( "mov 1, %g1; ta 0x0" );
     122  rtems_fatal(
     123    RTEMS_FATAL_SOURCE_EXCEPTION,
     124    (rtems_fatal_code) &frame
     125  );
    122126}
    123127
  • c/src/lib/libcpu/powerpc/Makefile.am

    rd2202ac r815994f  
    189189
    190190noinst_PROGRAMS += mpc5xx/vectors.rel
    191 mpc5xx_vectors_rel_SOURCES = mpc5xx/vectors/vectors_init.c mpc5xx/vectors/vectors.S
     191mpc5xx_vectors_rel_SOURCES = mpc5xx/vectors/vectors_init.c mpc5xx/vectors/vectors.S \
     192    new-exceptions/bspsupport/ppc_exc_print.c
    192193mpc5xx_vectors_rel_CPPFLAGS = $(AM_CPPFLAGS)
    193194mpc5xx_vectors_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
  • c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_global_handler.c

    rd2202ac r815994f  
    2525{
    2626  rtems_fatal(
    27     RTEMS_FATAL_SOURCE_POWERPC_EXCEPTION,
     27    RTEMS_FATAL_SOURCE_EXCEPTION,
    2828    (rtems_fatal_code) excPtr
    2929  );
  • c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/ppc_exc_print.c

    rd2202ac r815994f  
    8686}
    8787
    88 void ppc_exc_print_frame_and_context(const BSP_Exception_frame *excPtr)
     88void _BSP_Exception_frame_print(const CPU_Exception_frame *excPtr)
    8989{
    9090  const Thread_Control *executing = _Thread_Executing;
  • c/src/lib/libcpu/powerpc/new-exceptions/bspsupport/vectors.h

    rd2202ac r815994f  
    272272void C_exception_handler(BSP_Exception_frame* excPtr);
    273273
    274 void ppc_exc_print_frame_and_context(const BSP_Exception_frame *excPtr);
    275 
    276274void BSP_printStackTrace(const BSP_Exception_frame *excPtr);
    277275
  • cpukit/sapi/include/rtems/fatal.h

    rd2202ac r815994f  
    3636 * @{
    3737 */
     38
     39/**
     40 * @brief Exception frame.
     41 */
     42typedef CPU_Exception_frame rtems_exception_frame;
     43
     44/**
     45 *  @brief Prints the exception frame via printk().
     46 *
     47 *  @see rtems_fatal() and RTEMS_FATAL_SOURCE_EXCEPTION.
     48 */
     49static inline void rtems_exception_frame_print(
     50  const rtems_exception_frame *frame
     51)
     52{
     53  _CPU_Exception_frame_print( frame );
     54}
    3855
    3956/**
  • cpukit/score/cpu/arm/Makefile.am

    rd2202ac r815994f  
    1919libscorecpu_a_SOURCES += arm_exc_handler_low.S
    2020libscorecpu_a_SOURCES += arm_exc_handler_high.c
     21libscorecpu_a_SOURCES += arm-exception-frame-print.c
    2122libscorecpu_a_SOURCES += armv7m-context-initialize.c
    2223libscorecpu_a_SOURCES += armv7m-context-restore.c
    2324libscorecpu_a_SOURCES += armv7m-context-switch.c
     25libscorecpu_a_SOURCES += armv7m-exception-frame-print.c
    2426libscorecpu_a_SOURCES += armv7m-exception-handler-get.c
    2527libscorecpu_a_SOURCES += armv7m-exception-handler-set.c
  • cpukit/score/cpu/arm/rtems/score/cpu.h

    rd2202ac r815994f  
    583583typedef void CPU_Interrupt_frame;
    584584
     585/* FIXME */
     586typedef CPU_Interrupt_frame CPU_Exception_frame;
     587
    585588#endif /* !defined(ARM_MULTILIB_ARCH_V4) */
    586589
     590void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
     591
    587592#ifdef __cplusplus
    588593}
  • cpukit/score/cpu/avr/Makefile.am

    rd2202ac r815994f  
    162162noinst_LIBRARIES = libscorecpu.a
    163163libscorecpu_a_SOURCES = cpu.c cpu_asm.S
     164libscorecpu_a_SOURCES += avr-exception-frame-print.c
    164165libscorecpu_a_CPPFLAGS = $(AM_CPPFLAGS)
    165166
  • cpukit/score/cpu/avr/rtems/score/cpu.h

    rd2202ac r815994f  
    11131113);
    11141114
     1115/* FIXME */
     1116typedef CPU_Interrupt_frame CPU_Exception_frame;
     1117
     1118void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
     1119
    11151120/*  The following routine swaps the endian format of an unsigned int.
    11161121 *  It must be static because it is referenced indirectly.
  • cpukit/score/cpu/bfin/Makefile.am

    rd2202ac r815994f  
    1717noinst_LIBRARIES = libscorecpu.a
    1818libscorecpu_a_SOURCES = cpu.c cpu_asm.S
     19libscorecpu_a_SOURCES += bfin-exception-frame-print.c
    1920libscorecpu_a_CPPFLAGS = $(AM_CPPFLAGS)
    2021
  • cpukit/score/cpu/bfin/rtems/score/cpu.h

    rd2202ac r815994f  
    12051205);
    12061206
     1207/* FIXME */
     1208typedef CPU_Interrupt_frame CPU_Exception_frame;
     1209
     1210void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
     1211
    12071212/**
    12081213 *  @ingroup CPUEndian
  • cpukit/score/cpu/h8300/Makefile.am

    rd2202ac r815994f  
    1111noinst_LIBRARIES = libscorecpu.a
    1212libscorecpu_a_SOURCES = cpu.c cpu_asm.S
     13libscorecpu_a_SOURCES += h8300-exception-frame-print.c
    1314libscorecpu_a_CPPFLAGS = $(AM_CPPFLAGS)
    1415
  • cpukit/score/cpu/h8300/rtems/score/cpu.h

    rd2202ac r815994f  
    10961096);
    10971097
     1098/* FIXME */
     1099typedef CPU_Interrupt_frame CPU_Exception_frame;
     1100
     1101void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
     1102
    10981103/*  The following routine swaps the endian format of an unsigned int.
    10991104 *  It must be static because it is referenced indirectly.
  • cpukit/score/cpu/i386/cpu.c

    rd2202ac r815994f  
    118118};
    119119
    120 static void _defaultExcHandler (CPU_Exception_frame *ctx)
     120void _CPU_Exception_frame_print (const CPU_Exception_frame *ctx)
    121121{
    122122  unsigned int faultAddr = 0;
     
    149149     */
    150150    printk("Exception while executing ISR!!!. System locked\n");
    151     _CPU_Fatal_halt(faultAddr);
    152151  }
    153152  else {
     
    172171    rtems_task_suspend(_Thread_Executing->Object.id);
    173172#endif
    174     bsp_reset();
    175   }
     173  }
     174}
     175
     176static void _defaultExcHandler (CPU_Exception_frame *ctx)
     177{
     178  rtems_fatal(
     179    RTEMS_FATAL_SOURCE_EXCEPTION,
     180    (rtems_fatal_code) ctx
     181  );
    176182}
    177183
  • cpukit/score/cpu/i386/rtems/score/cpu.h

    rd2202ac r815994f  
    666666#endif
    667667
     668void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
     669
    668670#endif /* ASM */
    669671
  • cpukit/score/cpu/lm32/Makefile.am

    rd2202ac r815994f  
    1212noinst_LIBRARIES = libscorecpu.a
    1313libscorecpu_a_SOURCES = cpu.c cpu_asm.S irq.c
     14libscorecpu_a_SOURCES += lm32-exception-frame-print.c
    1415libscorecpu_a_CPPFLAGS = $(AM_CPPFLAGS)
    1516
  • cpukit/score/cpu/lm32/rtems/score/cpu.h

    rd2202ac r815994f  
    11961196);
    11971197
     1198/* FIXME */
     1199typedef CPU_Interrupt_frame CPU_Exception_frame;
     1200
     1201void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
     1202
    11981203/**
    11991204 *  @ingroup CPUEndian
  • cpukit/score/cpu/m32c/Makefile.am

    rd2202ac r815994f  
    1515libscorecpu_a_SOURCES = cpu.c cpu_asm.c context_switch.S context_init.c \
    1616    varvects.S
     17libscorecpu_a_SOURCES += m32c-exception-frame-print.c
    1718libscorecpu_a_CPPFLAGS = $(AM_CPPFLAGS)
    1819
  • cpukit/score/cpu/m32c/rtems/score/cpu.h

    rd2202ac r815994f  
    11321132) RTEMS_COMPILER_NO_RETURN_ATTRIBUTE;
    11331133
     1134/* FIXME */
     1135typedef CPU_Interrupt_frame CPU_Exception_frame;
     1136
     1137void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
     1138
    11341139/**
    11351140 *  @ingroup CPUEndian
  • cpukit/score/cpu/m32r/Makefile.am

    rd2202ac r815994f  
    1414noinst_LIBRARIES = libscorecpu.a
    1515libscorecpu_a_SOURCES = cpu.c cpu_asm.c context_switch.S context_init.c
     16libscorecpu_a_SOURCES += m32r-exception-frame-print.c
    1617libscorecpu_a_CPPFLAGS = $(AM_CPPFLAGS)
    1718
  • cpukit/score/cpu/m32r/rtems/score/cpu.h

    rd2202ac r815994f  
    11901190);
    11911191
     1192/* FIXME */
     1193typedef CPU_Interrupt_frame CPU_Exception_frame;
     1194
     1195void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
     1196
    11921197/**
    11931198 *  @ingroup CPUEndian
  • cpukit/score/cpu/m68k/Makefile.am

    rd2202ac r815994f  
    1919
    2020libscorecpu_a_SOURCES = cpu.c cpu_asm.S
     21libscorecpu_a_SOURCES += m68k-exception-frame-print.c
    2122
    2223include $(srcdir)/preinstall.am
  • cpukit/score/cpu/m68k/rtems/score/cpu.h

    rd2202ac r815994f  
    710710);
    711711
     712void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
     713
    712714#if (M68K_HAS_FPSP_PACKAGE == 1)
    713715/*
  • cpukit/score/cpu/mips/rtems/score/cpu.h

    rd2202ac r815994f  
    610610} CPU_Interrupt_frame;
    611611
     612typedef CPU_Interrupt_frame CPU_Exception_frame;
     613
    612614/*
    613615 *  This variable is optional.  It is used on CPUs on which it is difficult
     
    703705
    704706#define CPU_STACK_ALIGNMENT        CPU_ALIGNMENT
     707
     708void mips_vector_exceptions( CPU_Interrupt_frame *frame );
    705709
    706710/*
     
    11131117);
    11141118
     1119void _BSP_Exception_frame_print( const CPU_Exception_frame *frame );
     1120
     1121static inline void _CPU_Exception_frame_print(
     1122  const CPU_Exception_frame *frame
     1123)
     1124{
     1125  _BSP_Exception_frame_print( frame );
     1126}
     1127
    11151128/*  The following routine swaps the endian format of an unsigned int.
    11161129 *  It must be static because it is referenced indirectly.
  • cpukit/score/cpu/nios2/Makefile.am

    rd2202ac r815994f  
    2525libscorecpu_a_SOURCES += nios2-eic-il-low-level.S
    2626libscorecpu_a_SOURCES += nios2-eic-rsie-low-level.S
     27libscorecpu_a_SOURCES += nios2-exception-frame-print.c
    2728libscorecpu_a_SOURCES += nios2-fatal-halt.c
    2829libscorecpu_a_SOURCES += nios2-iic-low-level.S
  • cpukit/score/cpu/nios2/rtems/score/cpu.h

    rd2202ac r815994f  
    339339) RTEMS_COMPILER_NO_RETURN_ATTRIBUTE;
    340340
     341void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
     342
    341343static inline uint32_t CPU_swap_u32( uint32_t value )
    342344{
  • cpukit/score/cpu/no_cpu/rtems/score/cpu.h

    rd2202ac r815994f  
    12651265
    12661266/**
     1267 *  @brief The set of registers that specifies the complete processor state.
     1268 *
     1269 *  The CPU exception frame may be available in fatal error conditions like for
     1270 *  example illegal opcodes, instruction fetch errors, or data access errors.
     1271 *
     1272 *  @see rtems_fatal(), RTEMS_FATAL_SOURCE_EXCEPTION, and
     1273 *  rtems_exception_frame_print().
     1274 */
     1275typedef struct {
     1276  uint32_t processor_state_register;
     1277  uint32_t integer_registers [1];
     1278  double float_registers [1];
     1279} CPU_Exception_frame;
     1280
     1281/**
     1282 *  @brief Prints the exception frame via printk().
     1283 *
     1284 *  @see rtems_fatal() and RTEMS_FATAL_SOURCE_EXCEPTION.
     1285 */
     1286void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
     1287
     1288/**
    12671289 *  @ingroup CPUEndian
    12681290 *  The following routine swaps the endian format of an unsigned int.
  • cpukit/score/cpu/powerpc/rtems/score/cpu.h

    rd2202ac r815994f  
    10371037} CPU_Exception_frame;
    10381038
     1039void _BSP_Exception_frame_print( const CPU_Exception_frame *frame );
     1040
     1041static inline void _CPU_Exception_frame_print(
     1042  const CPU_Exception_frame *frame
     1043)
     1044{
     1045  _BSP_Exception_frame_print( frame );
     1046}
     1047
    10391048/*
    10401049 * _CPU_Initialize_altivec()
  • cpukit/score/cpu/sh/Makefile.am

    rd2202ac r815994f  
    1212noinst_LIBRARIES = libscorecpu.a
    1313libscorecpu_a_SOURCES = cpu.c context.c
     14libscorecpu_a_SOURCES += sh-exception-frame-print.c
    1415libscorecpu_a_CPPFLAGS = $(AM_CPPFLAGS)
    1516
  • cpukit/score/cpu/sh/rtems/score/cpu.h

    rd2202ac r815994f  
    886886);
    887887
     888/* FIXME */
     889typedef CPU_Interrupt_frame CPU_Exception_frame;
     890
     891void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
    888892
    889893#ifdef __cplusplus
  • cpukit/score/cpu/sparc/rtems/score/cpu.h

    rd2202ac r815994f  
    12221222);
    12231223
     1224typedef struct {
     1225  uint32_t trap;
     1226  CPU_Interrupt_frame *isf;
     1227} CPU_Exception_frame;
     1228
     1229void _BSP_Exception_frame_print( const CPU_Exception_frame *frame );
     1230
     1231static inline void _CPU_Exception_frame_print(
     1232  const CPU_Exception_frame *frame
     1233)
     1234{
     1235  _BSP_Exception_frame_print( frame );
     1236}
     1237
    12241238/**
    12251239 *  @brief SPARC Specific Method to Endian Swap an uint32_t
  • cpukit/score/cpu/sparc64/Makefile.am

    rd2202ac r815994f  
    1414noinst_LIBRARIES = libscorecpu.a
    1515libscorecpu_a_SOURCES = context.S cpu.c
     16libscorecpu_a_SOURCES += sparc64-exception-frame-print.c
    1617libscorecpu_a_CPPFLAGS = $(AM_CPPFLAGS)
    1718
  • cpukit/score/cpu/sparc64/rtems/score/cpu.h

    rd2202ac r815994f  
    10251025);
    10261026
     1027/* FIXME */
     1028typedef CPU_Interrupt_frame CPU_Exception_frame;
     1029
     1030void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
     1031
    10271032/*
    10281033 *  CPU_swap_u32
  • cpukit/score/cpu/v850/Makefile.am

    rd2202ac r815994f  
    1212libscorecpu_a_SOURCES  = cpu.c
    1313libscorecpu_a_SOURCES += cpu_asm.S
     14libscorecpu_a_SOURCES += v850-exception-frame-print.c
    1415libscorecpu_a_CPPFLAGS = $(AM_CPPFLAGS)
    1516
  • cpukit/score/cpu/v850/rtems/score/cpu.h

    rd2202ac r815994f  
    11251125#endif
    11261126
     1127/* FIXME */
     1128typedef CPU_Interrupt_frame CPU_Exception_frame;
     1129
     1130void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
     1131
    11271132/**
    11281133 *  @ingroup CPUEndian
  • cpukit/score/include/rtems/score/interr.h

    rd2202ac r815994f  
    9999
    100100  /**
    101    * @brief Fatal source of the PowerPC exceptions.
     101   * @brief Fatal source of the exceptions.
    102102   *
    103103   * The fatal code is the pointer value of the exception frame pointer.
    104104   *
    105    * @see BSP_Exception_frame.
    106    */
    107   RTEMS_FATAL_SOURCE_POWERPC_EXCEPTION,
     105   * @see rtems_exception_frame and rtems_exception_frame_print().
     106   */
     107  RTEMS_FATAL_SOURCE_EXCEPTION,
    108108
    109109  /**
  • doc/user/fatal.t

    rd2202ac r815994f  
    204204@c
    205205@page
     206@subsection EXCEPTION_FRAME_PRINT - Prints the exception frame
     207
     208@cindex exception frame
     209
     210@subheading CALLING SEQUENCE:
     211
     212@ifset is-C
     213@findex rtems_exception_frame_print
     214@example
     215void rtems_exception_frame_print(
     216  const rtems_exception_frame *frame
     217);
     218@end example
     219@end ifset
     220
     221@subheading DIRECTIVE STATUS CODES
     222
     223NONE
     224
     225@subheading DESCRIPTION:
     226
     227Prints the exception frame via printk().
     228
     229@c
     230@c
     231@c
     232@page
    206233@subsection INTERNAL_ERROR_DESCRIPTION - Returns a description for an internal error code
    207234
  • testsuites/sptests/Makefile.am

    rd2202ac r815994f  
    2929    spedfsched01 spedfsched02 spedfsched03 \
    3030    spcbssched01 spcbssched02 spcbssched03 spqreslib sptimespec01
     31SUBDIRS += spfatal26
    3132SUBDIRS += speventtransient01
    3233SUBDIRS += speventsystem01
  • testsuites/sptests/configure.ac

    rd2202ac r815994f  
    2828# Explicitly list all Makefiles here
    2929AC_CONFIG_FILES([Makefile
     30spfatal26/Makefile
    3031spinternalerror02/Makefile
    3132spinternalerror01/Makefile
Note: See TracChangeset for help on using the changeset viewer.