Ignore:
Timestamp:
08/10/99 16:41:44 (23 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
cef2fb5f
Parents:
908436c1
Message:

Patch from Eric Valette <valette@…> and Emmanuel Raguet
<raguet@…>:

  • the dec21140 driver code has been hardened (various bug fixed) Emmanuel,
  • bug in the mcp750 init code have been fixed (interrupt stack/initial stack initialization), BSS correctly cleared (Eric V)
  • remote debugging over TCP/IP is nearly complete (berakpoints, backtrace, variables,...) (Eric V),
  • exception handling code has also been improved in order to fully support RDBG requirements (Eric V),
Location:
c/src/lib/libbsp/powerpc/motorola_powerpc/vectors
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/motorola_powerpc/vectors/vectors.S

    r908436c1 r981b99f  
    8787        mfxer   r28
    8888        stw     r28,  EXC_XER_OFFSET(r1)
     89        /*
     90         * compute SP at exception entry
     91         */
     92        addi    r2, r1, EXCEPTION_FRAME_END
     93        /*
     94         * store it at the right place
     95         */
     96        stw     r2, GPR1_OFFSET(r1)
    8997        /*
    9098         * Enable data and instruction address translation, exception nesting
     
    98106         * Call C exception handler
    99107         */
     108        /*
     109         * store the execption frame address in r3 (first param)
     110         */
    100111        addi    r3, r1, 0x8
    101         bl C_exception_handler
     112        /*
     113         * globalExceptHdl(r3)
     114         */
     115        addis   r4, 0, globalExceptHdl@ha
     116        lwz     r5, globalExceptHdl@l(r4)
     117        mtlr    r5
     118        blrl
    102119        /*
    103120         * Restore registers status
     
    136153        SYNC
    137154        rfi
    138 
    139 
    140 
    141 
    142 
  • c/src/lib/libbsp/powerpc/motorola_powerpc/vectors/vectors.h

    r908436c1 r981b99f  
    129129  unsigned      EXC_MSR;
    130130  unsigned      EXC_DAR;
    131 } exception_frame;
     131}BSP_Exception_frame;
    132132
    133 extern void C_exception_handler(exception_frame* excPtr);
     133
     134typedef void (*exception_handler_t) (BSP_Exception_frame* excPtr);
     135extern exception_handler_t globalExceptHdl;
     136/*
     137 * Compatibility with pc386
     138 */
     139typedef BSP_Exception_frame CPU_Exception_frame;
     140typedef exception_handler_t cpuExcHandlerType;
    134141
    135142#endif /* ASM */
  • c/src/lib/libbsp/powerpc/motorola_powerpc/vectors/vectors_init.c

    r908436c1 r981b99f  
    2020static rtems_raw_except_connect_data    exception_table[LAST_VALID_EXC + 1];
    2121
    22 void C_exception_handler(exception_frame* excPtr)
     22exception_handler_t globalExceptHdl;
     23
     24void C_exception_handler(BSP_Exception_frame* excPtr)
    2325{
    2426  int recoverable = 0;
     
    8284{
    8385  int i;
    84  
    85   exception_config.exceptSize           = LAST_VALID_EXC + 1;
    86   exception_config.rawExceptHdlTbl      = &exception_table[0];
     86
     87  /*
     88   * Initialize pointer used by low level execption handling
     89   */
     90  globalExceptHdl                               = C_exception_handler;
     91  /*
     92   * Put  default_exception_vector_code_prolog at relevant exception
     93   * code entry addresses
     94   */
     95  exception_config.exceptSize                   = LAST_VALID_EXC + 1;
     96  exception_config.rawExceptHdlTbl              = &exception_table[0];
    8797  exception_config.defaultRawEntry.exceptIndex  = 0;
    8898  exception_config.defaultRawEntry.hdl.vector   = 0;
Note: See TracChangeset for help on using the changeset viewer.