forked from Imagelibrary/rtems
2002-02-27 Greg Menke <gregory.menke@gsfc.nasa.gov>
* shared/gdbstub/README: Added text. * shared/gdbstub/mips-stub.c: Modified isr install routine to capture all exceptions.
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
2002-02-27 Greg Menke <gregory.menke@gsfc.nasa.gov>
|
||||||
|
|
||||||
|
* shared/gdbstub/README: Added text.
|
||||||
|
* shared/gdbstub/mips-stub.c: Modified isr install routine to
|
||||||
|
capture all exceptions.
|
||||||
|
|
||||||
2001-02-27 Joel Sherrill <joel@OARcorp.com>
|
2001-02-27 Joel Sherrill <joel@OARcorp.com>
|
||||||
|
|
||||||
* Significant modifications including adding thread support, the 'X'
|
* Significant modifications including adding thread support, the 'X'
|
||||||
|
|||||||
@@ -1309,29 +1309,55 @@ static char initialized; /* 0 means we are not initialized */
|
|||||||
|
|
||||||
void mips_gdb_stub_install(void)
|
void mips_gdb_stub_install(void)
|
||||||
{
|
{
|
||||||
rtems_isr_entry old;
|
/*
|
||||||
int i;
|
These are the RTEMS-defined vectors for all the MIPS exceptions
|
||||||
|
*/
|
||||||
|
int exceptionVector[]= { MIPS_EXCEPTION_MOD, \
|
||||||
|
MIPS_EXCEPTION_TLBL, \
|
||||||
|
MIPS_EXCEPTION_TLBS, \
|
||||||
|
MIPS_EXCEPTION_ADEL, \
|
||||||
|
MIPS_EXCEPTION_ADES, \
|
||||||
|
MIPS_EXCEPTION_IBE, \
|
||||||
|
MIPS_EXCEPTION_DBE, \
|
||||||
|
MIPS_EXCEPTION_SYSCALL, \
|
||||||
|
MIPS_EXCEPTION_BREAK, \
|
||||||
|
MIPS_EXCEPTION_RI, \
|
||||||
|
MIPS_EXCEPTION_CPU, \
|
||||||
|
MIPS_EXCEPTION_OVERFLOW, \
|
||||||
|
MIPS_EXCEPTION_TRAP, \
|
||||||
|
MIPS_EXCEPTION_VCEI, \
|
||||||
|
MIPS_EXCEPTION_FPE, \
|
||||||
|
MIPS_EXCEPTION_C2E, \
|
||||||
|
MIPS_EXCEPTION_WATCH, \
|
||||||
|
MIPS_EXCEPTION_VCED, \
|
||||||
|
-1 };
|
||||||
|
int i;
|
||||||
|
rtems_isr_entry old;
|
||||||
|
|
||||||
if (initialized) {
|
if (initialized) {
|
||||||
ASSERT(0);
|
ASSERT(0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* z0breaks */
|
/* z0breaks */
|
||||||
for (i=0; i<(sizeof(z0break_arr)/sizeof(z0break_arr[0]))-1; i++) {
|
for (i=0; i<(sizeof(z0break_arr)/sizeof(z0break_arr[0]))-1; i++) {
|
||||||
z0break_arr[i].next = &z0break_arr[i+1];
|
z0break_arr[i].next = &z0break_arr[i+1];
|
||||||
}
|
}
|
||||||
|
|
||||||
z0break_arr[i].next = NULL;
|
z0break_arr[i].next = NULL;
|
||||||
z0break_avail = &z0break_arr[0];
|
z0break_avail = &z0break_arr[0];
|
||||||
z0break_list = NULL;
|
z0break_list = NULL;
|
||||||
|
|
||||||
|
|
||||||
rtems_interrupt_catch( (rtems_isr_entry) handle_exception, MIPS_EXCEPTION_SYSCALL, &old );
|
for(i=0; exceptionVector[i] > -1; i++)
|
||||||
/* rtems_interrupt_catch( handle_exception, MIPS_EXCEPTION_BREAK, &old ); */
|
{
|
||||||
|
rtems_interrupt_catch( (rtems_isr_entry) handle_exception, exceptionVector[i], &old );
|
||||||
|
}
|
||||||
|
|
||||||
initialized = 1;
|
initialized = 1;
|
||||||
/* get the attention of gdb */
|
/* get the attention of gdb */
|
||||||
mips_break(1);
|
mips_break(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user