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;