forked from Imagelibrary/rtems
@@ -308,7 +308,7 @@ dbugInitialise (void)
|
||||
it may be usefull to do so to check for performances with an oscilloscope */
|
||||
/*
|
||||
{
|
||||
proc_ptr ignored;
|
||||
CPU_ISR_raw_handler ignored;
|
||||
_CPU_ISR_install_raw_handler( CONSOLE_VECTOR, _Debug_ISR_Handler_Console, &ignored );
|
||||
}
|
||||
*/
|
||||
@@ -391,7 +391,7 @@ dbugInitialise (void)
|
||||
it may be usefull to do so to check for performances with an oscilloscope */
|
||||
/*
|
||||
{
|
||||
proc_ptr ignored;
|
||||
CPU_ISR_raw_handler ignored;
|
||||
_CPU_ISR_install_raw_handler( CONSOLE_VECTOR, _Debug_ISR_Handler_Console, &ignored );
|
||||
}
|
||||
*/
|
||||
|
||||
@@ -6,14 +6,18 @@
|
||||
/*
|
||||
* User exception handlers
|
||||
*/
|
||||
proc_ptr M68040FPSPUserExceptionHandlers[9];
|
||||
CPU_ISR_raw_handler M68040FPSPUserExceptionHandlers[9];
|
||||
|
||||
/*
|
||||
* Intercept requests to install an exception handler.
|
||||
* FPSP exceptions get special treatment.
|
||||
*/
|
||||
static int
|
||||
FPSP_install_raw_handler (uint32_t vector, proc_ptr new_handler, proc_ptr *old_handler)
|
||||
FPSP_install_raw_handler(
|
||||
uint32_t vector,
|
||||
CPU_ISR_raw_handler new_handler,
|
||||
CPU_ISR_raw_handler *old_handler
|
||||
)
|
||||
{
|
||||
int fpspVector;
|
||||
|
||||
@@ -71,7 +75,7 @@ M68KFPSPInstallExceptionHandlers (void)
|
||||
{ 55, _fpspEntry_unsupp },
|
||||
};
|
||||
int i;
|
||||
proc_ptr oldHandler;
|
||||
CPU_ISR_raw_handler oldHandler;
|
||||
|
||||
for (i = 0 ; i < sizeof fpspHandlers / sizeof fpspHandlers[0] ; i++) {
|
||||
_CPU_ISR_install_raw_handler(fpspHandlers[i].vector_number, fpspHandlers[i].handler, &oldHandler);
|
||||
|
||||
@@ -50,8 +50,8 @@ _CPU_ISR_jump_table[ CPU_INTERRUPT_NUMBER_OF_VECTORS ];
|
||||
#if (M68K_HAS_FPSP_PACKAGE == 1)
|
||||
int (*_FPSP_install_raw_handler)(
|
||||
uint32_t vector,
|
||||
proc_ptr new_handler,
|
||||
proc_ptr *old_handler
|
||||
CPU_ISR_raw_handler new_handler,
|
||||
CPU_ISR_raw_handler *old_handler
|
||||
);
|
||||
#endif
|
||||
|
||||
@@ -97,17 +97,17 @@ uint32_t _CPU_ISR_Get_level( void )
|
||||
return level;
|
||||
}
|
||||
|
||||
/*
|
||||
* _CPU_ISR_install_raw_handler
|
||||
*/
|
||||
|
||||
void _CPU_ISR_install_raw_handler(
|
||||
uint32_t vector,
|
||||
proc_ptr new_handler,
|
||||
proc_ptr *old_handler
|
||||
uint32_t vector,
|
||||
CPU_ISR_raw_handler new_handler,
|
||||
CPU_ISR_raw_handler *old_handler
|
||||
)
|
||||
{
|
||||
proc_ptr *interrupt_table = NULL;
|
||||
#if ( M68K_HAS_VBR == 1 )
|
||||
CPU_ISR_raw_handler *interrupt_table = NULL;
|
||||
#else
|
||||
_CPU_ISR_handler_entry *interrupt_table = NULL;
|
||||
#endif
|
||||
|
||||
#if (M68K_HAS_FPSP_PACKAGE == 1)
|
||||
/*
|
||||
@@ -141,20 +141,20 @@ void _CPU_ISR_install_raw_handler(
|
||||
* load it appropriately to vector to the RTEMS jump table.
|
||||
*/
|
||||
|
||||
*old_handler = (proc_ptr) _CPU_ISR_jump_table[vector].isr_handler;
|
||||
*old_handler = (CPU_ISR_raw_handler) _CPU_ISR_jump_table[vector].isr_handler;
|
||||
_CPU_ISR_jump_table[vector].isr_handler = (uint32_t) new_handler;
|
||||
if ( (uint32_t) interrupt_table != 0xFFFFFFFF )
|
||||
interrupt_table[ vector ] = (proc_ptr) &_CPU_ISR_jump_table[vector];
|
||||
interrupt_table[ vector ] = &_CPU_ISR_jump_table[vector];
|
||||
#endif /* M68K_HAS_VBR */
|
||||
}
|
||||
|
||||
void _CPU_ISR_install_vector(
|
||||
uint32_t vector,
|
||||
proc_ptr new_handler,
|
||||
proc_ptr *old_handler
|
||||
uint32_t vector,
|
||||
CPU_ISR_handler new_handler,
|
||||
CPU_ISR_handler *old_handler
|
||||
)
|
||||
{
|
||||
proc_ptr ignored = 0; /* to avoid warning */
|
||||
CPU_ISR_raw_handler ignored = 0; /* to avoid warning */
|
||||
|
||||
*old_handler = _ISR_Vector_table[ vector ];
|
||||
|
||||
|
||||
@@ -564,29 +564,20 @@ extern const unsigned char _CPU_m68k_BFFFO_table[256];
|
||||
|
||||
void _CPU_Initialize(void);
|
||||
|
||||
/*
|
||||
* _CPU_ISR_install_raw_handler
|
||||
*
|
||||
* This routine installs a "raw" interrupt handler directly into the
|
||||
* processor's vector table.
|
||||
*/
|
||||
typedef void ( *CPU_ISR_raw_handler )( void );
|
||||
|
||||
void _CPU_ISR_install_raw_handler(
|
||||
uint32_t vector,
|
||||
proc_ptr new_handler,
|
||||
proc_ptr *old_handler
|
||||
uint32_t vector,
|
||||
CPU_ISR_raw_handler new_handler,
|
||||
CPU_ISR_raw_handler *old_handler
|
||||
);
|
||||
|
||||
/*
|
||||
* _CPU_ISR_install_vector
|
||||
*
|
||||
* This routine installs an interrupt vector.
|
||||
*/
|
||||
typedef void ( *CPU_ISR_handler )( uint32_t );
|
||||
|
||||
void _CPU_ISR_install_vector(
|
||||
uint32_t vector,
|
||||
proc_ptr new_handler,
|
||||
proc_ptr *old_handler
|
||||
CPU_ISR_handler new_handler,
|
||||
CPU_ISR_handler *old_handler
|
||||
);
|
||||
|
||||
/*
|
||||
@@ -677,8 +668,8 @@ void M68KFPSPInstallExceptionHandlers (void);
|
||||
|
||||
extern int (*_FPSP_install_raw_handler)(
|
||||
uint32_t vector,
|
||||
proc_ptr new_handler,
|
||||
proc_ptr *old_handler
|
||||
CPU_ISR_raw_handler new_handler,
|
||||
CPU_ISR_raw_handler *old_handler
|
||||
);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user