2002-02-08 Joel Sherrill <joel@OARcorp.com>

* mips-stub.c (handle_exception): Prototype changed to be an RTEMS
	entry point.  Added comments about possible need to flush cache.
	(mips_gdb_stub_install): New routine.
This commit is contained in:
Joel Sherrill
2002-02-08 23:27:26 +00:00
parent 63bce6324d
commit 6953e68e51
2 changed files with 29 additions and 2 deletions

View File

@@ -1,3 +1,9 @@
2002-02-08 Joel Sherrill <joel@OARcorp.com>
* mips-stub.c (handle_exception): Prototype changed to be an RTEMS
entry point. Added comments about possible need to flush cache.
(mips_gdb_stub_install): New routine.
2002-02-08 Joel Sherrill <joel@OARcorp.com>
* Makefile, stubinit.S, r46kstub.ld, ioaddr.h: Removed as unused

View File

@@ -779,8 +779,7 @@ computeSignal (void)
* it figures out why it was activated and tells gdb, and then it
* reacts to gdb's requests.
*/
void
handle_exception (CPU_Interrupt_frame *frame)
void handle_exception (rtems_vector_number vector, CPU_Interrupt_frame *frame)
{
int host_has_detached = 0;
int sigval;
@@ -906,5 +905,27 @@ handle_exception (CPU_Interrupt_frame *frame)
/* reply to the request */
putpacket (outBuffer);
}
/*
* The original code did this in the assembly wrapper. We should consider
* doing it here before we return.
*
* On exit from the exception handler invalidate each line in the I-cache
* and write back each dirty line in the D-cache. This needs to be done
* before the target program is resumed in order to ensure that software
* breakpoints and downloaded code will actually take effect.
*/
return;
}
void mips_gdb_stub_install(void)
{
rtems_isr_entry old;
rtems_interrupt_catch( (rtems_isr_entry) handle_exception, MIPS_EXCEPTION_SYSCALL, &old );
/* rtems_interrupt_catch( handle_exception, MIPS_EXCEPTION_BREAK, &old ); */
/* get the attention of gdb */
mips_break();
}