sh: Remove use of proc_ptr

Update #3585.
This commit is contained in:
Sebastian Huber
2018-11-08 15:31:03 +01:00
parent ed9da8e821
commit 510fbfc314
9 changed files with 27 additions and 66 deletions

View File

@@ -41,9 +41,6 @@
#include <rtems/score/iosh7032.h>
#include <rtems/score/sh_io.h>
/* from cpu_isps.c */
extern proc_ptr _Hardware_isr_Table[];
unsigned long *_old_stack_ptr;
register unsigned long *stack_ptr __asm__ ("r15");

View File

@@ -25,7 +25,7 @@
* http://www.rtems.org/license/LICENSE.
*/
#include <rtems/system.h>
#include <rtems/score/cpu.h>
#include <rtems/score/ispsh7032.h>
/*
@@ -33,7 +33,7 @@
*
* It has the same structure like the actual vector table (vectab)
*/
proc_ptr _Hardware_isr_Table[256]={
CPU_ISR_raw_handler _Hardware_isr_Table[256]={
_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
_dummy_isp, _dummy_isp, _dummy_isp,

View File

@@ -39,9 +39,6 @@
#include <rtems/score/iosh7045.h>
#include <rtems/score/sh_io.h>
/* from cpu_isps.c */
extern proc_ptr _Hardware_isr_Table[];
unsigned long *_old_stack_ptr;
register unsigned long *stack_ptr __asm__ ("r15");

View File

@@ -37,7 +37,7 @@
* by the authors or by TGA Technologies.
*/
#include <rtems/system.h>
#include <rtems/score/cpu.h>
/*
* This is a exception vector table
@@ -49,7 +49,7 @@
/* SH-2 ISR Table */
#include <rtems/score/ispsh7045.h>
proc_ptr _Hardware_isr_Table[256]={
CPU_ISR_raw_handler _Hardware_isr_Table[256]={
_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, /* PWRon Reset, Maual Reset,...*/
_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
_dummy_isp, _dummy_isp, _dummy_isp,

View File

@@ -39,9 +39,6 @@
#include <rtems/score/sh4_regs.h>
#include <rtems/score/sh_io.h>
/* from cpu_isps.c */
extern proc_ptr _Hardware_isr_Table[];
unsigned long *_old_stack_ptr;
register unsigned long *stack_ptr __asm__ ("r15");

View File

@@ -48,7 +48,7 @@ sh_isr_entry set_vector( /* returns old vector */
if ( type )
rtems_interrupt_catch( handler, vector, (rtems_isr_entry *) &previous_isr );
else {
_CPU_ISR_install_raw_handler( vector, handler, (proc_ptr*) &previous_isr );
_CPU_ISR_install_raw_handler( vector, handler, &previous_isr );
}
return previous_isr;

View File

@@ -27,7 +27,7 @@
* Modified to reflect dummy isp entries for GDB SH simulator by Joel.
*/
#include <rtems/system.h>
#include <rtems/score/cpu.h>
/*
* This is a exception vector table
@@ -37,7 +37,7 @@
void _dummy_isp(uint32_t);
proc_ptr _Hardware_isr_Table[256]={
CPU_ISR_raw_handler _Hardware_isr_Table[256]={
_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, /* PWRon Reset, Maual Reset,...*/
_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,

View File

@@ -37,11 +37,7 @@
#include <rtems/score/sh.h>
/* referenced in start.S */
extern proc_ptr vectab[] ;
proc_ptr vectab[256] ;
extern proc_ptr _Hardware_isr_Table[];
CPU_ISR_raw_handler vectab[256] ;
#if SH_HAS_FPU
Context_Control_fp _CPU_Null_fp_context;
@@ -98,21 +94,18 @@ uint32_t _CPU_ISR_Get_level( void )
return ( _mask);
}
/*
* _CPU_ISR_install_raw_handler
*/
void _CPU_ISR_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
)
{
/*
* This is where we install the interrupt handler into the "raw" interrupt
* table used by the CPU to dispatch interrupt handlers.
*/
volatile proc_ptr *vbr ;
volatile CPU_ISR_raw_handler *vbr ;
#if SH_PARANOID_ISR
uint32_t level ;
@@ -131,30 +124,14 @@ void _CPU_ISR_install_raw_handler(
#endif
}
/*
* _CPU_ISR_install_vector
*
* This kernel routine installs the RTEMS handler for the
* specified vector.
*
* Input parameters:
* vector - interrupt vector number
* old_handler - former ISR for this vector number
* new_handler - replacement ISR for this vector number
*
* Output parameters: NONE
*
*/
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
)
{
#if defined(__sh1__) || defined(__sh2__)
proc_ptr ignored ;
CPU_ISR_raw_handler ignored ;
#endif
*old_handler = _ISR_Vector_table[ vector ];

View File

@@ -546,29 +546,22 @@ void _CPU_Context_Initialize(
*/
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 );
extern CPU_ISR_raw_handler _Hardware_isr_Table[];
void _CPU_ISR_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
);
/*
* _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
);
void *_CPU_Thread_Idle_body( uintptr_t ignored );