2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>

* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and
	passing address of _Thread_Dispatch to _CPU_Initialize. Clean up
	comments.
This commit is contained in:
Joel Sherrill
2009-02-11 21:45:05 +00:00
parent ef1be69b65
commit c03e2bc8c7
48 changed files with 149 additions and 443 deletions

View File

@@ -1,3 +1,9 @@
2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and
passing address of _Thread_Dispatch to _CPU_Initialize. Clean up
comments.
2008-09-11 Ralf Corsépius <ralf.corsepius@rtems.org>
* rtems/score/types.h: Do not define boolean, single_precision,

View File

@@ -34,15 +34,12 @@ unsigned int arm_cpu_mode = 0x13;
/* _CPU_Initialize
*
* This routine performs processor dependent initialization.
* INPUT PARAMETERS: NONE
*
* INPUT PARAMETERS:
* thread_dispatch - address of ISR dispatching routine (unused)
* This routine performs processor dependent initialization.
*/
void _CPU_Initialize(
void (*thread_dispatch) /* ignored on this CPU */
)
void _CPU_Initialize(void)
{
}

View File

@@ -699,9 +699,7 @@ void _CPU_Context_Initialize(
* This routine performs CPU dependent initialization.
*/
void _CPU_Initialize(
void (*thread_dispatch)
);
void _CPU_Initialize(void);
typedef enum {
ARM_EXCEPTION_RESET = 0,

View File

@@ -1,3 +1,9 @@
2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and
passing address of _Thread_Dispatch to _CPU_Initialize. Clean up
comments.
2008-12-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, cpu_asm.c: Remove warnings -- even if code is just temporary.

View File

@@ -22,34 +22,16 @@
*
* This routine performs processor dependent initialization.
*
* INPUT PARAMETERS:
* thread_dispatch - address of dispatching routine
* INPUT PARAMETERS: NONE
*
* NO_CPU Specific Information:
*
* XXX document implementation including references if appropriate
*/
void _CPU_Initialize(
void (*thread_dispatch) /* ignored on this CPU */
)
void _CPU_Initialize(void)
{
printk( "AVR CPU Initialize\n" );
/*
* The thread_dispatch argument is the address of the entry point
* for the routine called at the end of an ISR once it has been
* decided a context switch is necessary. On some compilation
* systems it is difficult to call a high-level language routine
* from assembly. This allows us to trick these systems.
*
* If you encounter this problem save the entry point in a CPU
* dependent variable.
*/
_CPU_Thread_dispatch_pointer = thread_dispatch;
/*
* If there is not an easy way to initialize the FP context
* during Context_Initialize, then it is usually easier to

View File

@@ -468,22 +468,6 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context;
SCORE_EXTERN void *_CPU_Interrupt_stack_low;
SCORE_EXTERN void *_CPU_Interrupt_stack_high;
/*
* With some compilation systems, it is difficult if not impossible to
* call a high-level language routine from assembly language. This
* is especially true of commercial Ada compilers and name mangling
* C++ ones. This variable can be optionally defined by the CPU porter
* and contains the address of the routine _Thread_Dispatch. This
* can make it easier to invoke that routine at the end of the interrupt
* sequence (if a dispatch is necessary).
*
* AVR Specific Information:
*
* XXX document implementation including references if appropriate
*/
SCORE_EXTERN void (*_CPU_Thread_dispatch_pointer)(void);
/*
* Nothing prevents the porter from declaring more CPU specific variables.
*
@@ -936,9 +920,7 @@ uint32_t _CPU_ISR_Get_level( void );
* XXX document implementation including references if appropriate
*/
void _CPU_Initialize(
void (*thread_dispatch)
);
void _CPU_Initialize(void);
/*
* _CPU_ISR_install_raw_handler

View File

@@ -1,3 +1,9 @@
2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and
passing address of _Thread_Dispatch to _CPU_Initialize. Clean up
comments.
2008-09-11 Ralf Corsépius <ralf.corsepius@rtems.org>
* rtems/score/types.h: Do not define boolean, single_precision,

View File

@@ -21,8 +21,7 @@
*
* This routine performs processor dependent initialization.
*
* INPUT PARAMETERS:
* thread_dispatch - address of dispatching routine
* INPUT PARAMETERS: NONE
*
* NO_CPU Specific Information:
*
@@ -37,23 +36,8 @@ extern void _CPU_NMI_handler(void);
extern void _CPU_Exception_handler(void);
extern void _CPU_Unhandled_Interrupt_handler(void);
void _CPU_Initialize(
void (*thread_dispatch) /* ignored on this CPU */
)
void _CPU_Initialize(void)
{
/*
* The thread_dispatch argument is the address of the entry point
* for the routine called at the end of an ISR once it has been
* decided a context switch is necessary. On some compilation
* systems it is difficult to call a high-level language routine
* from assembly. This allows us to trick these systems.
*
* If you encounter this problem save the entry point in a CPU
* dependent variable.
*/
/*_CPU_Thread_dispatch_pointer = thread_dispatch;*/
/*
* If there is not an easy way to initialize the FP context
* during Context_Initialize, then it is usually easier to

View File

@@ -563,22 +563,6 @@ SCORE_EXTERN void *_CPU_Interrupt_stack_low;
*/
SCORE_EXTERN void *_CPU_Interrupt_stack_high;
/**
* @ingroup CPUInterrupt
* With some compilation systems, it is difficult if not impossible to
* call a high-level language routine from assembly language. This
* is especially true of commercial Ada compilers and name mangling
* C++ ones. This variable can be optionally defined by the CPU porter
* and contains the address of the routine @ref _Thread_Dispatch. This
* can make it easier to invoke that routine at the end of the interrupt
* sequence (if a dispatch is necessary).
*
* Port Specific Information:
*
* XXX document implementation including references if appropriate
*/
/* SCORE_EXTERN void (*_CPU_Thread_dispatch_pointer)();*/
/*
* Nothing prevents the porter from declaring more CPU specific variables.
*
@@ -1097,16 +1081,11 @@ void _CPU_Context_Initialize(
/**
* This routine performs CPU dependent initialization.
*
* @param[in] cpu_table is the CPU Dependent Configuration Table
* @param[in] thread_dispatch is the address of @ref _Thread_Dispatch
*
* Port Specific Information:
*
* XXX document implementation including references if appropriate
*/
void _CPU_Initialize(
void (*thread_dispatch)
);
void _CPU_Initialize(void);
/**
* @ingroup CPUInterrupt

View File

@@ -1,3 +1,9 @@
2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and
passing address of _Thread_Dispatch to _CPU_Initialize. Clean up
comments.
2008-09-11 Ralf Corsépius <ralf.corsepius@rtems.org>
* rtems/score/types.h: Do not define boolean, single_precision,

View File

@@ -21,32 +21,14 @@
*
* This routine performs processor dependent initialization.
*
* INPUT PARAMETERS:
* thread_dispatch - address of dispatching routine
* INPUT PARAMETERS: NONE
*
* C4x Specific Information:
*
*/
void _CPU_Initialize(
void (*thread_dispatch) /* ignored on this CPU */
)
void _CPU_Initialize(void)
{
#if 0
/*
* The thread_dispatch argument is the address of the entry point
* for the routine called at the end of an ISR once it has been
* decided a context switch is necessary. On some compilation
* systems it is difficult to call a high-level language routine
* from assembly. This allows us to trick these systems.
*
* If you encounter this problem save the entry point in a CPU
* dependent variable.
*/
_CPU_Thread_dispatch_pointer = thread_dispatch;
#endif
#if (CPU_HARDWARE_FP == TRUE)
/*
* If there is not an easy way to initialize the FP context

View File

@@ -580,24 +580,6 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context;
SCORE_EXTERN void *_CPU_Interrupt_stack_low;
SCORE_EXTERN void *_CPU_Interrupt_stack_high;
/*
* With some compilation systems, it is difficult if not impossible to
* call a high-level language routine from assembly language. This
* is especially true of commercial Ada compilers and name mangling
* C++ ones. This variable can be optionally defined by the CPU porter
* and contains the address of the routine _Thread_Dispatch. This
* can make it easier to invoke that routine at the end of the interrupt
* sequence (if a dispatch is necessary).
*
* C4x Specific Information:
*
* This port should not require this.
*/
#if 0
SCORE_EXTERN void (*_CPU_Thread_dispatch_pointer)();
#endif
/*
* Nothing prevents the porter from declaring more CPU specific variables.
*
@@ -1078,9 +1060,7 @@ void _CPU_Context_Initialize(
* XXXanswer
*/
void _CPU_Initialize(
void (*thread_dispatch)
);
void _CPU_Initialize(void);
/*
* _CPU_ISR_install_raw_handler

View File

@@ -1,3 +1,9 @@
2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and
passing address of _Thread_Dispatch to _CPU_Initialize. Clean up
comments.
2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems/score/cpu.h: Do not unroll any code on this target and use a

View File

@@ -19,28 +19,12 @@
*
* This routine performs processor dependent initialization.
*
* INPUT PARAMETERS:
* thread_dispatch - address of dispatching routine
* INPUT PARAMETERS: NONE
*/
void _CPU_Initialize(
void (*thread_dispatch) /* ignored on this CPU */
)
void _CPU_Initialize(void)
{
/*
* The thread_dispatch argument is the address of the entry point
* for the routine called at the end of an ISR once it has been
* decided a context switch is necessary. On some compilation
* systems it is difficult to call a high-level language routine
* from assembly. This allows us to trick these systems.
*
* If you encounter this problem save the entry point in a CPU
* dependent variable.
*/
_CPU_Thread_dispatch_pointer = thread_dispatch;
/*
* If there is not an easy way to initialize the FP context
* during Context_Initialize, then it is usually easier to

View File

@@ -451,22 +451,6 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context;
SCORE_EXTERN void *_CPU_Interrupt_stack_low;
SCORE_EXTERN void *_CPU_Interrupt_stack_high;
/*
* With some compilation systems, it is difficult if not impossible to
* call a high-level language routine from assembly language. This
* is especially true of commercial Ada compilers and name mangling
* C++ ones. This variable can be optionally defined by the CPU porter
* and contains the address of the routine _Thread_Dispatch. This
* can make it easier to invoke that routine at the end of the interrupt
* sequence (if a dispatch is necessary).
*
* H8300 Specific Information:
*
* XXX
*/
SCORE_EXTERN void (*_CPU_Thread_dispatch_pointer)(void);
/*
* Nothing prevents the porter from declaring more CPU specific variables.
*
@@ -997,9 +981,7 @@ uint32_t _CPU_ISR_Get_level( void );
* XXX
*/
void _CPU_Initialize(
void (*thread_dispatch)
);
void _CPU_Initialize(void);
/*
* _CPU_ISR_install_raw_handler

View File

@@ -1,3 +1,9 @@
2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and
passing address of _Thread_Dispatch to _CPU_Initialize. Clean up
comments.
2008-09-11 Ralf Corsépius <ralf.corsepius@rtems.org>
* rtems/score/types.h: Do not define boolean, single_precision,

View File

@@ -25,14 +25,10 @@
*
* This routine performs processor dependent initialization.
*
* INPUT PARAMETERS:
* thread_dispatch - address of dispatching routine
* INPUT PARAMETERS: NONE
*/
void _CPU_Initialize(
void (*thread_dispatch) /* ignored on this CPU */
)
void _CPU_Initialize(void)
{
#if CPU_HARDWARE_FP
register uint16_t fp_status asm ("ax");
@@ -65,7 +61,6 @@ void _CPU_Initialize(
);
}
#endif
}
/*PAGE

View File

@@ -386,9 +386,7 @@ uint32_t _CPU_ISR_Get_level( void );
* This routine performs CPU dependent initialization.
*/
void _CPU_Initialize(
void (*thread_dispatch)
);
void _CPU_Initialize(void);
/*
* _CPU_ISR_install_raw_handler

View File

@@ -1,3 +1,9 @@
2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and
passing address of _Thread_Dispatch to _CPU_Initialize. Clean up
comments.
2008-12-05 Joel Sherrill <joel.sherrill@oarcorp.com>
* .cvsignore: New file.

View File

@@ -23,32 +23,15 @@
*
* This routine performs processor dependent initialization.
*
* INPUT PARAMETERS:
* thread_dispatch - address of dispatching routine
* INPUT PARAMETERS: NONE
*
* LM32 Specific Information:
*
* XXX document implementation including references if appropriate
*/
void _CPU_Initialize(
void (*thread_dispatch) /* ignored on this CPU */
)
void _CPU_Initialize(void)
{
/*
* The thread_dispatch argument is the address of the entry point
* for the routine called at the end of an ISR once it has been
* decided a context switch is necessary. On some compilation
* systems it is difficult to call a high-level language routine
* from assembly. This allows us to trick these systems.
*
* If you encounter this problem save the entry point in a CPU
* dependent variable.
*/
#if 0
_CPU_Thread_dispatch_pointer = thread_dispatch;
#endif
/*
* If there is not an easy way to initialize the FP context
* during Context_Initialize, then it is usually easier to

View File

@@ -572,24 +572,6 @@ SCORE_EXTERN void *_CPU_Interrupt_stack_low;
*/
SCORE_EXTERN void *_CPU_Interrupt_stack_high;
/**
* @ingroup CPUInterrupt
* With some compilation systems, it is difficult if not impossible to
* call a high-level language routine from assembly language. This
* is especially true of commercial Ada compilers and name mangling
* C++ ones. This variable can be optionally defined by the CPU porter
* and contains the address of the routine @ref _Thread_Dispatch. This
* can make it easier to invoke that routine at the end of the interrupt
* sequence (if a dispatch is necessary).
*
* Port Specific Information:
*
* XXX document implementation including references if appropriate
*/
#if 0
SCORE_EXTERN void (*_CPU_Thread_dispatch_pointer)();
#endif
/*
* Nothing prevents the porter from declaring more CPU specific variables.
*
@@ -1100,15 +1082,11 @@ uint32_t _CPU_ISR_Get_level( void );
/**
* This routine performs CPU dependent initialization.
*
* @param[in] thread_dispatch is the address of @ref _Thread_Dispatch
*
* Port Specific Information:
*
* XXX document implementation including references if appropriate
*/
void _CPU_Initialize(
void (*thread_dispatch)
);
void _CPU_Initialize(void);
/**
* @ingroup CPUInterrupt

View File

@@ -1,3 +1,9 @@
2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and
passing address of _Thread_Dispatch to _CPU_Initialize. Clean up
comments.
2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems/score/cpu.h: Use a 16 bit object id on this target.

View File

@@ -19,16 +19,14 @@
*
* This routine performs processor dependent initialization.
*
* INPUT PARAMETERS:
* thread_dispatch - address of dispatching routine
* INPUT PARAMETERS: NONE
*
* NO_CPU Specific Information:
*
* XXX document implementation including references if appropriate
*/
void _CPU_Initialize(
void (*thread_dispatch) /* ignored on this CPU */
)
void _CPU_Initialize(void)
{
asm volatile( "ldc #__var_vects,intb" );
}

View File

@@ -1041,15 +1041,11 @@ void _CPU_Context_Restart_self(
/**
* This routine performs CPU dependent initialization.
*
* @param[in] thread_dispatch is the address of @ref _Thread_Dispatch
*
* Port Specific Information:
*
* XXX document implementation including references if appropriate
*/
void _CPU_Initialize(
void (*thread_dispatch)
);
void _CPU_Initialize(void);
/**
* @ingroup CPUInterrupt

View File

@@ -1,3 +1,9 @@
2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and
passing address of _Thread_Dispatch to _CPU_Initialize. Clean up
comments.
2008-10-28 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am, preinstall.am, rtems/score/cpu.h: Now performs context

View File

@@ -18,16 +18,14 @@
*
* This routine performs processor dependent initialization.
*
* INPUT PARAMETERS:
* thread_dispatch - address of dispatching routine
* INPUT PARAMETERS: NONE
*
* NO_CPU Specific Information:
*
* XXX document implementation including references if appropriate
*/
void _CPU_Initialize(
void (*thread_dispatch) /* ignored on this CPU */
)
void _CPU_Initialize(void)
{
}

View File

@@ -569,22 +569,6 @@ SCORE_EXTERN void *_CPU_Interrupt_stack_low;
*/
SCORE_EXTERN void *_CPU_Interrupt_stack_high;
/**
* @ingroup CPUInterrupt
* With some compilation systems, it is difficult if not impossible to
* call a high-level language routine from assembly language. This
* is especially true of commercial Ada compilers and name mangling
* C++ ones. This variable can be optionally defined by the CPU porter
* and contains the address of the routine @ref _Thread_Dispatch. This
* can make it easier to invoke that routine at the end of the interrupt
* sequence (if a dispatch is necessary).
*
* Port Specific Information:
*
* XXX document implementation including references if appropriate
*/
SCORE_EXTERN void (*_CPU_Thread_dispatch_pointer)(void);
/*
* Nothing prevents the porter from declaring more CPU specific variables.
*
@@ -1094,15 +1078,11 @@ void _CPU_Context_Restart_self(
/**
* This routine performs CPU dependent initialization.
*
* @param[in] thread_dispatch is the address of @ref _Thread_Dispatch
*
* Port Specific Information:
*
* XXX document implementation including references if appropriate
*/
void _CPU_Initialize(
void (*thread_dispatch)
);
void _CPU_Initialize(void);
/**
* @ingroup CPUInterrupt

View File

@@ -1,3 +1,9 @@
2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and
passing address of _Thread_Dispatch to _CPU_Initialize. Clean up
comments.
2008-12-17 Ralf Corsépius <ralf.corsepius@rtems.org>
* rtems/score/m68k.h: Don't include rtems/score/types.h,

View File

@@ -18,15 +18,12 @@
*
* This routine performs processor dependent initialization.
*
* INPUT PARAMETERS:
* thread_dispatch - entry pointer to thread dispatcher
* INPUT PARAMETERS: NONE
*
* OUTPUT PARAMETERS: NONE
*/
void _CPU_Initialize(
void (*thread_dispatch) /* ignored on this CPU */
)
void _CPU_Initialize(void)
{
#if ( M68K_HAS_VBR == 0 )
/* fill the isr redirect table with the code to place the format/id

View File

@@ -632,9 +632,7 @@ extern const unsigned char _CPU_m68k_BFFFO_table[256];
* This routine performs CPU dependent initialization.
*/
void _CPU_Initialize(
void (*thread_dispatch)
);
void _CPU_Initialize(void);
/*
* _CPU_ISR_install_raw_handler

View File

@@ -1,3 +1,9 @@
2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and
passing address of _Thread_Dispatch to _CPU_Initialize. Clean up
comments.
2008-09-11 Ralf Corsépius <ralf.corsepius@rtems.org>
* rtems/score/types.h: Do not define boolean, single_precision,

View File

@@ -70,12 +70,10 @@ ESF_PTR_TYPE __exceptionStackFrame = 0;
*
* This routine performs processor dependent initialization.
*
* INPUT PARAMETERS:
* thread_dispatch - address of dispatching routine
*/
void _CPU_Initialize(
void (*thread_dispatch) /* ignored on this CPU */
)
void _CPU_Initialize(void)
{
/*
* If there is not an easy way to initialize the FP context

View File

@@ -632,23 +632,6 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context;
SCORE_EXTERN void *_CPU_Interrupt_stack_low;
SCORE_EXTERN void *_CPU_Interrupt_stack_high;
/*
* With some compilation systems, it is difficult if not impossible to
* call a high-level language routine from assembly language. This
* is especially true of commercial Ada compilers and name mangling
* C++ ones. This variable can be optionally defined by the CPU porter
* and contains the address of the routine _Thread_Dispatch. This
* can make it easier to invoke that routine at the end of the interrupt
* sequence (if a dispatch is necessary).
*
SCORE_EXTERN void (*_CPU_Thread_dispatch_pointer)();
*
* NOTE: Not needed on this port.
*/
/*
* Nothing prevents the porter from declaring more CPU specific variables.
*/
@@ -1061,9 +1044,7 @@ extern void mips_break( int error );
* This routine performs CPU dependent initialization.
*/
void _CPU_Initialize(
void (*thread_dispatch)
);
void _CPU_Initialize(void);
/*
* _CPU_ISR_install_raw_handler

View File

@@ -1,3 +1,9 @@
2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and
passing address of _Thread_Dispatch to _CPU_Initialize. Clean up
comments.
2008-09-11 Ralf Corsépius <ralf.corsepius@rtems.org>
* rtems/score/types.h: Do not define boolean, single_precision,

View File

@@ -19,32 +19,15 @@
*
* This routine performs processor dependent initialization.
*
* INPUT PARAMETERS:
* thread_dispatch - address of dispatching routine
* INPUT PARAMETERS: NONE
*
* NO_CPU Specific Information:
*
* XXX document implementation including references if appropriate
*/
void _CPU_Initialize(
void (*thread_dispatch) /* ignored on this CPU */
)
void _CPU_Initialize(void)
{
/*
* The thread_dispatch argument is the address of the entry point
* for the routine called at the end of an ISR once it has been
* decided a context switch is necessary. On some compilation
* systems it is difficult to call a high-level language routine
* from assembly. This allows us to trick these systems.
*
* If you encounter this problem save the entry point in a CPU
* dependent variable.
*/
_CPU_Thread_dispatch_pointer = thread_dispatch;
/*
* If there is not an easy way to initialize the FP context
* during Context_Initialize, then it is usually easier to

View File

@@ -604,22 +604,6 @@ SCORE_EXTERN void *_CPU_Interrupt_stack_low;
*/
SCORE_EXTERN void *_CPU_Interrupt_stack_high;
/**
* @ingroup CPUInterrupt
* With some compilation systems, it is difficult if not impossible to
* call a high-level language routine from assembly language. This
* is especially true of commercial Ada compilers and name mangling
* C++ ones. This variable can be optionally defined by the CPU porter
* and contains the address of the routine @ref _Thread_Dispatch. This
* can make it easier to invoke that routine at the end of the interrupt
* sequence (if a dispatch is necessary).
*
* Port Specific Information:
*
* XXX document implementation including references if appropriate
*/
SCORE_EXTERN void (*_CPU_Thread_dispatch_pointer)();
/*
* Nothing prevents the porter from declaring more CPU specific variables.
*
@@ -1145,16 +1129,11 @@ uint32_t _CPU_ISR_Get_level( void );
/**
* This routine performs CPU dependent initialization.
*
* @param cpu_table (in) is the CPU Dependent Configuration Table
* @param thread_dispatch (in) is the address of @ref _Thread_Dispatch
*
* Port Specific Information:
*
* XXX document implementation including references if appropriate
*/
void _CPU_Initialize(
void (*thread_dispatch)
);
void _CPU_Initialize(void);
/**
* @ingroup CPUInterrupt

View File

@@ -1,3 +1,9 @@
2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and
passing address of _Thread_Dispatch to _CPU_Initialize. Clean up
comments.
2008-10-02 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu_asm.c, rtems/score/cpu.h, rtems/score/types.h: Corrections and

View File

@@ -20,30 +20,15 @@
*
* This routine performs processor dependent initialization.
*
* INPUT PARAMETERS:
* thread_dispatch - address of dispatching routine
* INPUT PARAMETERS: NONE
*
* NO_CPU Specific Information:
*
* XXX document implementation including references if appropriate
*/
void _CPU_Initialize(
void (*thread_dispatch) /* ignored on this CPU */
)
void _CPU_Initialize(void)
{
/*
* The thread_dispatch argument is the address of the entry point
* for the routine called at the end of an ISR once it has been
* decided a context switch is necessary. On some compilation
* systems it is difficult to call a high-level language routine
* from assembly. This allows us to trick these systems.
*
* If you encounter this problem save the entry point in a CPU
* dependent variable.
*/
_CPU_Thread_dispatch_pointer = thread_dispatch;
/*
* If there is not an easy way to initialize the FP context
* during Context_Initialize, then it is usually easier to

View File

@@ -562,22 +562,6 @@ SCORE_EXTERN void *_CPU_Interrupt_stack_low;
*/
SCORE_EXTERN void *_CPU_Interrupt_stack_high;
/**
* @ingroup CPUInterrupt
* With some compilation systems, it is difficult if not impossible to
* call a high-level language routine from assembly language. This
* is especially true of commercial Ada compilers and name mangling
* C++ ones. This variable can be optionally defined by the CPU porter
* and contains the address of the routine @ref _Thread_Dispatch. This
* can make it easier to invoke that routine at the end of the interrupt
* sequence (if a dispatch is necessary).
*
* Port Specific Information:
*
* XXX document implementation including references if appropriate
*/
SCORE_EXTERN void (*_CPU_Thread_dispatch_pointer)(void);
/*
* Nothing prevents the porter from declaring more CPU specific variables.
*
@@ -1081,15 +1065,11 @@ uint32_t _CPU_ISR_Get_level( void );
/**
* This routine performs CPU dependent initialization.
*
* @param[in] thread_dispatch is the address of @ref _Thread_Dispatch
*
* Port Specific Information:
*
* XXX document implementation including references if appropriate
*/
void _CPU_Initialize(
void (*thread_dispatch)
);
void _CPU_Initialize(void);
/**
* @ingroup CPUInterrupt

View File

@@ -1,3 +1,9 @@
2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and
passing address of _Thread_Dispatch to _CPU_Initialize. Clean up
comments.
2008-09-30 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c: Fine tune conditional so _CPU_ISR_install_vector is in CPU Kit

View File

@@ -39,30 +39,13 @@ extern proc_ptr _Hardware_isr_Table[];
*
* This routine performs processor dependent initialization.
*
* INPUT PARAMETERS:
* thread_dispatch - address of dispatching routine
* INPUT PARAMETERS: NONE
*/
void _CPU_Initialize(
void (*thread_dispatch) /* ignored on this CPU */
)
void _CPU_Initialize(void)
{
register uint32_t level = 0;
/*
* The thread_dispatch argument is the address of the entry point
* for the routine called at the end of an ISR once it has been
* decided a context switch is necessary. On some compilation
* systems it is difficult to call a high-level language routine
* from assembly. This allows us to trick these systems.
*
* If you encounter this problem save the entry point in a CPU
* dependent variable.
*/
_CPU_Thread_dispatch_pointer = thread_dispatch;
/*
* If there is not an easy way to initialize the FP context
* during Context_Initialize, then it is usually easier to

View File

@@ -428,18 +428,6 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context;
SCORE_EXTERN void *_CPU_Interrupt_stack_low;
SCORE_EXTERN void *_CPU_Interrupt_stack_high;
/*
* With some compilation systems, it is difficult if not impossible to
* call a high-level language routine from assembly language. This
* is especially true of commercial Ada compilers and name mangling
* C++ ones. This variable can be optionally defined by the CPU porter
* and contains the address of the routine _Thread_Dispatch. This
* can make it easier to invoke that routine at the end of the interrupt
* sequence (if a dispatch is necessary).
*/
SCORE_EXTERN void (*_CPU_Thread_dispatch_pointer)(void);
/*
* Nothing prevents the porter from declaring more CPU specific variables.
*/
@@ -825,9 +813,7 @@ extern uint8_t _bit_set_table[];
* This routine performs CPU dependent initialization.
*/
void _CPU_Initialize(
void (*thread_dispatch)
);
void _CPU_Initialize(void);
/*
* _CPU_ISR_install_raw_handler

View File

@@ -1,3 +1,9 @@
2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and
passing address of _Thread_Dispatch to _CPU_Initialize. Clean up
comments.
2008-09-11 Ralf Corsépius <ralf.corsepius@rtems.org>
* rtems/score/types.h: Do not define boolean, single_precision,

View File

@@ -38,8 +38,7 @@ const CPU_Trap_table_entry _CPU_Trap_slot_template = {
*
* This routine performs processor dependent initialization.
*
* Input Parameters:
* thread_dispatch - address of dispatching routine
* INPUT PARAMETERS: NONE
*
* Output Parameters: NONE
*
@@ -47,9 +46,7 @@ const CPU_Trap_table_entry _CPU_Trap_slot_template = {
* The SPARC's assembly code can reference it directly with no problems.
*/
void _CPU_Initialize(
void (*thread_dispatch) /* ignored on this CPU */
)
void _CPU_Initialize(void)
{
#if (SPARC_HAS_FPU == 1)
Context_Control_fp *pointer;

View File

@@ -883,9 +883,7 @@ void _CPU_Context_Initialize(
* This routine performs CPU dependent initialization.
*/
void _CPU_Initialize(
void (*thread_dispatch)
);
void _CPU_Initialize(void);
/*
* _CPU_ISR_install_raw_handler

View File

@@ -1,3 +1,9 @@
2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com>
* cpu.c, rtems/score/cpu.h: Eliminate _CPU_Thread_dispatch_pointer and
passing address of _Thread_Dispatch to _CPU_Initialize. Clean up
comments.
2008-12-01 Joel Sherrill <joel.sherrill@OARcorp.com>
* cpu.c: Links hello again.

View File

@@ -276,14 +276,10 @@ uint32_t _CPU_ISR_Get_level( void )
*
* This routine performs processor dependent initialization.
*
* INPUT PARAMETERS:
* thread_dispatch - address of dispatching routine
* INPUT PARAMETERS: NONE
*/
void _CPU_Initialize(
void (*thread_dispatch) /* ignored on this CPU */
)
void _CPU_Initialize(void)
{
/*
* If something happened where the public Context_Control is not
@@ -294,19 +290,6 @@ void _CPU_Initialize(
if ( sizeof(Context_Control_overlay) > sizeof(Context_Control) )
_CPU_Fatal_error(0x100 + 1);
/*
* The thread_dispatch argument is the address of the entry point
* for the routine called at the end of an ISR once it has been
* decided a context switch is necessary. On some compilation
* systems it is difficult to call a high-level language routine
* from assembly. This allows us to trick these systems.
*
* If you encounter this problem save the entry point in a CPU
* dependent variable.
*/
_CPU_Thread_dispatch_pointer = thread_dispatch;
/*
* XXX; If there is not an easy way to initialize the FP context
* during Context_Initialize, then it is usually easier to

View File

@@ -528,18 +528,6 @@ SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context;
SCORE_EXTERN void *_CPU_Interrupt_stack_low;
SCORE_EXTERN void *_CPU_Interrupt_stack_high;
/*
* With some compilation systems, it is difficult if not impossible to
* call a high-level language routine from assembly language. This
* is especially true of commercial Ada compilers and name mangling
* C++ ones. This variable can be optionally defined by the CPU porter
* and contains the address of the routine _Thread_Dispatch. This
* can make it easier to invoke that routine at the end of the interrupt
* sequence (if a dispatch is necessary).
*/
SCORE_EXTERN void (*_CPU_Thread_dispatch_pointer)(void);
/*
* Nothing prevents the porter from declaring more CPU specific variables.
*/
@@ -875,9 +863,7 @@ extern void _CPU_Context_Initialize(
* This routine performs CPU dependent initialization.
*/
void _CPU_Initialize(
void (*thread_dispatch)
);
void _CPU_Initialize(void);
/*
* _CPU_ISR_install_raw_handler