* Lots of tinkering and tuning as part of improving interrupt latency
	and improving the per-task interrupt level control and FP mask handling.
	With these modifications interrupt latency was measured at a worst-case
	of 100us, average below 60 us on a 12 Mhz R3000 class CPU with 50
	RTEMS tasks in the application.
	* mongoosev/README: Updated.
	* mongoosev/include/mongoose-v.h: Masks modified.
	* mongoosev/vectorisrs/vectorisrs.c: Significant overhaul to address
	software prioritization of interrupts.  If a higher priority interrupt
	occurs while we are looking for new interrupts, we will reinitiate the
	scan of all interrupts.
	* shared/interrupts/vectorexceptions.c: Removed warning and deleted
	blank lines.
This commit is contained in:
Joel Sherrill
2002-02-01 15:15:02 +00:00
parent e6dec71c27
commit 2835b3a568
5 changed files with 323 additions and 117 deletions

View File

@@ -11,7 +11,7 @@
#include <stdlib.h>
#include "iregdef.h"
#include "idtcpu.h"
#include <rtems/bspIo.h>
#include <bspIo.h>
char *cause_strings[32] =
{
@@ -89,6 +89,9 @@ void mips_default_exception_code_handler( int exc, CPU_Interrupt_frame *frame )
rtems_fatal_error_occurred(1);
}
#define CALL_EXC(_vector,_frame) \
do { \
if ( _ISR_Vector_table[_vector] ) \
@@ -97,6 +100,9 @@ void mips_default_exception_code_handler( int exc, CPU_Interrupt_frame *frame )
mips_default_exception_code_handler( _vector, _frame ); \
} while(0)
/*
* There are constants defined for these but they should basically
* all be close to the same set.