Mercurial > ecos
comparison packages/hal/mips/arch/current/src/hal_misc.c @ 36:e97d78785e2d ecos-sw-1999-09-12
Merge from eCos master repository on 1999-09-12-15:40:34-BST
| author | jlarmour |
|---|---|
| date | Sun, 12 Sep 1999 15:26:05 +0000 |
| parents | 4741a3c3496a |
| children | e7ba79f6d3a8 |
comparison
equal
deleted
inserted
replaced
| 35:d722a005a6c3 | 36:e97d78785e2d |
|---|---|
| 66 | 66 |
| 67 externC void __handle_exception (void); | 67 externC void __handle_exception (void); |
| 68 | 68 |
| 69 externC HAL_SavedRegisters *_hal_registers; | 69 externC HAL_SavedRegisters *_hal_registers; |
| 70 | 70 |
| 71 externC void *__mem_fault_handler; | |
| 72 | |
| 71 externC cyg_uint8 cyg_hal_mips_process_fpe( HAL_SavedRegisters *regs ); | 73 externC cyg_uint8 cyg_hal_mips_process_fpe( HAL_SavedRegisters *regs ); |
| 72 | 74 |
| 73 externC void exception_handler(HAL_SavedRegisters *regs) | 75 externC void exception_handler(HAL_SavedRegisters *regs) |
| 74 { | 76 { |
| 75 #ifdef CYGHWR_HAL_MIPS_FPU | 77 #ifdef CYGHWR_HAL_MIPS_FPU |
| 85 return; | 87 return; |
| 86 } | 88 } |
| 87 #endif | 89 #endif |
| 88 | 90 |
| 89 #if defined(CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS) | 91 #if defined(CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS) |
| 92 | |
| 93 // If we caught an exception inside the stubs, see if we were expecting it | |
| 94 // and if so jump to the saved address | |
| 95 if (__mem_fault_handler) { | |
| 96 regs->pc = (CYG_ADDRWORD)__mem_fault_handler; | |
| 97 return; // Caught an exception inside stubs | |
| 98 } | |
| 90 | 99 |
| 91 // Set the pointer to the registers of the current exception | 100 // Set the pointer to the registers of the current exception |
| 92 // context. At entry the GDB stub will expand the | 101 // context. At entry the GDB stub will expand the |
| 93 // HAL_SavedRegisters structure into a (bigger) register array. | 102 // HAL_SavedRegisters structure into a (bigger) register array. |
| 94 _hal_registers = regs; | 103 _hal_registers = regs; |
