summaryrefslogtreecommitdiffstats
path: root/cpukit/score
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-02-11 21:45:05 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-02-11 21:45:05 +0000
commitc03e2bc8c7b6c2133db6a661d785409d4756149a (patch)
treeda32e8511a07cfb9cada9bdace09fd96f7204830 /cpukit/score
parent2009-02-11 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-c03e2bc8c7b6c2133db6a661d785409d4756149a.tar.bz2
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.
Diffstat (limited to 'cpukit/score')
-rw-r--r--cpukit/score/cpu/arm/ChangeLog6
-rw-r--r--cpukit/score/cpu/arm/cpu.c9
-rw-r--r--cpukit/score/cpu/arm/rtems/score/cpu.h4
-rw-r--r--cpukit/score/cpu/avr/ChangeLog6
-rw-r--r--cpukit/score/cpu/avr/cpu.c22
-rw-r--r--cpukit/score/cpu/avr/rtems/score/cpu.h20
-rw-r--r--cpukit/score/cpu/bfin/ChangeLog6
-rw-r--r--cpukit/score/cpu/bfin/cpu.c20
-rw-r--r--cpukit/score/cpu/bfin/rtems/score/cpu.h23
-rw-r--r--cpukit/score/cpu/c4x/ChangeLog6
-rw-r--r--cpukit/score/cpu/c4x/cpu.c22
-rw-r--r--cpukit/score/cpu/c4x/rtems/score/cpu.h22
-rw-r--r--cpukit/score/cpu/h8300/ChangeLog6
-rw-r--r--cpukit/score/cpu/h8300/cpu.c20
-rw-r--r--cpukit/score/cpu/h8300/rtems/score/cpu.h20
-rw-r--r--cpukit/score/cpu/i386/ChangeLog6
-rw-r--r--cpukit/score/cpu/i386/cpu.c9
-rw-r--r--cpukit/score/cpu/i386/rtems/score/cpu.h4
-rw-r--r--cpukit/score/cpu/lm32/ChangeLog6
-rw-r--r--cpukit/score/cpu/lm32/cpu.c23
-rw-r--r--cpukit/score/cpu/lm32/rtems/score/cpu.h24
-rw-r--r--cpukit/score/cpu/m32c/ChangeLog6
-rw-r--r--cpukit/score/cpu/m32c/cpu.c8
-rw-r--r--cpukit/score/cpu/m32c/rtems/score/cpu.h6
-rw-r--r--cpukit/score/cpu/m32r/ChangeLog6
-rw-r--r--cpukit/score/cpu/m32r/cpu.c8
-rw-r--r--cpukit/score/cpu/m32r/rtems/score/cpu.h22
-rw-r--r--cpukit/score/cpu/m68k/ChangeLog6
-rw-r--r--cpukit/score/cpu/m68k/cpu.c7
-rw-r--r--cpukit/score/cpu/m68k/rtems/score/cpu.h4
-rw-r--r--cpukit/score/cpu/mips/ChangeLog6
-rw-r--r--cpukit/score/cpu/mips/cpu.c6
-rw-r--r--cpukit/score/cpu/mips/rtems/score/cpu.h21
-rw-r--r--cpukit/score/cpu/nios2/ChangeLog6
-rw-r--r--cpukit/score/cpu/nios2/cpu.c21
-rw-r--r--cpukit/score/cpu/nios2/rtems/score/cpu.h23
-rw-r--r--cpukit/score/cpu/no_cpu/ChangeLog6
-rw-r--r--cpukit/score/cpu/no_cpu/cpu.c21
-rw-r--r--cpukit/score/cpu/no_cpu/rtems/score/cpu.h22
-rw-r--r--cpukit/score/cpu/sh/ChangeLog6
-rw-r--r--cpukit/score/cpu/sh/cpu.c21
-rw-r--r--cpukit/score/cpu/sh/rtems/score/cpu.h16
-rw-r--r--cpukit/score/cpu/sparc/ChangeLog6
-rw-r--r--cpukit/score/cpu/sparc/cpu.c7
-rw-r--r--cpukit/score/cpu/sparc/rtems/score/cpu.h4
-rw-r--r--cpukit/score/cpu/unix/ChangeLog6
-rw-r--r--cpukit/score/cpu/unix/cpu.c21
-rw-r--r--cpukit/score/cpu/unix/rtems/score/cpu.h16
48 files changed, 149 insertions, 443 deletions
diff --git a/cpukit/score/cpu/arm/ChangeLog b/cpukit/score/cpu/arm/ChangeLog
index 0a264bd34f..0fa9932b1f 100644
--- a/cpukit/score/cpu/arm/ChangeLog
+++ b/cpukit/score/cpu/arm/ChangeLog
@@ -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,
diff --git a/cpukit/score/cpu/arm/cpu.c b/cpukit/score/cpu/arm/cpu.c
index 6baabd48b3..a717923b82 100644
--- a/cpukit/score/cpu/arm/cpu.c
+++ b/cpukit/score/cpu/arm/cpu.c
@@ -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)
{
}
diff --git a/cpukit/score/cpu/arm/rtems/score/cpu.h b/cpukit/score/cpu/arm/rtems/score/cpu.h
index d3b3ef3838..e9591e3400 100644
--- a/cpukit/score/cpu/arm/rtems/score/cpu.h
+++ b/cpukit/score/cpu/arm/rtems/score/cpu.h
@@ -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,
diff --git a/cpukit/score/cpu/avr/ChangeLog b/cpukit/score/cpu/avr/ChangeLog
index 02321e9b82..e7736f2ee6 100644
--- a/cpukit/score/cpu/avr/ChangeLog
+++ b/cpukit/score/cpu/avr/ChangeLog
@@ -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.
diff --git a/cpukit/score/cpu/avr/cpu.c b/cpukit/score/cpu/avr/cpu.c
index 445ec67e3e..b69112521a 100644
--- a/cpukit/score/cpu/avr/cpu.c
+++ b/cpukit/score/cpu/avr/cpu.c
@@ -22,35 +22,17 @@
*
* 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
* save an "uninitialized" FP context here and copy it to
diff --git a/cpukit/score/cpu/avr/rtems/score/cpu.h b/cpukit/score/cpu/avr/rtems/score/cpu.h
index 9e28ef540a..f68dadd4f7 100644
--- a/cpukit/score/cpu/avr/rtems/score/cpu.h
+++ b/cpukit/score/cpu/avr/rtems/score/cpu.h
@@ -469,22 +469,6 @@ 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.
*
* AVR Specific Information:
@@ -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
diff --git a/cpukit/score/cpu/bfin/ChangeLog b/cpukit/score/cpu/bfin/ChangeLog
index bbd98b04aa..1b5a6637aa 100644
--- a/cpukit/score/cpu/bfin/ChangeLog
+++ b/cpukit/score/cpu/bfin/ChangeLog
@@ -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,
diff --git a/cpukit/score/cpu/bfin/cpu.c b/cpukit/score/cpu/bfin/cpu.c
index b2fa3b2e82..ddb4bccf46 100644
--- a/cpukit/score/cpu/bfin/cpu.c
+++ b/cpukit/score/cpu/bfin/cpu.c
@@ -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,24 +36,9 @@ 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
* save an "uninitialized" FP context here and copy it to
diff --git a/cpukit/score/cpu/bfin/rtems/score/cpu.h b/cpukit/score/cpu/bfin/rtems/score/cpu.h
index 65f35c09a2..770c87375b 100644
--- a/cpukit/score/cpu/bfin/rtems/score/cpu.h
+++ b/cpukit/score/cpu/bfin/rtems/score/cpu.h
@@ -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
diff --git a/cpukit/score/cpu/c4x/ChangeLog b/cpukit/score/cpu/c4x/ChangeLog
index e75772c861..fa8767afcc 100644
--- a/cpukit/score/cpu/c4x/ChangeLog
+++ b/cpukit/score/cpu/c4x/ChangeLog
@@ -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,
diff --git a/cpukit/score/cpu/c4x/cpu.c b/cpukit/score/cpu/c4x/cpu.c
index bfcc81b35f..d06752464b 100644
--- a/cpukit/score/cpu/c4x/cpu.c
+++ b/cpukit/score/cpu/c4x/cpu.c
@@ -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
diff --git a/cpukit/score/cpu/c4x/rtems/score/cpu.h b/cpukit/score/cpu/c4x/rtems/score/cpu.h
index d6be49c19a..8c15ec6f52 100644
--- a/cpukit/score/cpu/c4x/rtems/score/cpu.h
+++ b/cpukit/score/cpu/c4x/rtems/score/cpu.h
@@ -581,24 +581,6 @@ 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.
*
* C4x Specific Information:
@@ -1078,9 +1060,7 @@ void _CPU_Context_Initialize(
* XXXanswer
*/
-void _CPU_Initialize(
- void (*thread_dispatch)
-);
+void _CPU_Initialize(void);
/*
* _CPU_ISR_install_raw_handler
diff --git a/cpukit/score/cpu/h8300/ChangeLog b/cpukit/score/cpu/h8300/ChangeLog
index bfa411547b..825b8e323a 100644
--- a/cpukit/score/cpu/h8300/ChangeLog
+++ b/cpukit/score/cpu/h8300/ChangeLog
@@ -1,5 +1,11 @@
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
16-bit object id.
diff --git a/cpukit/score/cpu/h8300/cpu.c b/cpukit/score/cpu/h8300/cpu.c
index 5f0dab32eb..2784bdcd46 100644
--- a/cpukit/score/cpu/h8300/cpu.c
+++ b/cpukit/score/cpu/h8300/cpu.c
@@ -19,29 +19,13 @@
*
* 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
* save an "uninitialized" FP context here and copy it to
diff --git a/cpukit/score/cpu/h8300/rtems/score/cpu.h b/cpukit/score/cpu/h8300/rtems/score/cpu.h
index 44d54b7c80..df98aee925 100644
--- a/cpukit/score/cpu/h8300/rtems/score/cpu.h
+++ b/cpukit/score/cpu/h8300/rtems/score/cpu.h
@@ -452,22 +452,6 @@ 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.
*
* H8300 Specific Information:
@@ -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
diff --git a/cpukit/score/cpu/i386/ChangeLog b/cpukit/score/cpu/i386/ChangeLog
index 3e10484588..33cbd986dd 100644
--- a/cpukit/score/cpu/i386/ChangeLog
+++ b/cpukit/score/cpu/i386/ChangeLog
@@ -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,
diff --git a/cpukit/score/cpu/i386/cpu.c b/cpukit/score/cpu/i386/cpu.c
index bc714ac5de..07d9e6ab24 100644
--- a/cpukit/score/cpu/i386/cpu.c
+++ b/cpukit/score/cpu/i386/cpu.c
@@ -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
diff --git a/cpukit/score/cpu/i386/rtems/score/cpu.h b/cpukit/score/cpu/i386/rtems/score/cpu.h
index b715316d45..ee9c50a27d 100644
--- a/cpukit/score/cpu/i386/rtems/score/cpu.h
+++ b/cpukit/score/cpu/i386/rtems/score/cpu.h
@@ -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
diff --git a/cpukit/score/cpu/lm32/ChangeLog b/cpukit/score/cpu/lm32/ChangeLog
index fd18d01237..ddaef1966a 100644
--- a/cpukit/score/cpu/lm32/ChangeLog
+++ b/cpukit/score/cpu/lm32/ChangeLog
@@ -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.
diff --git a/cpukit/score/cpu/lm32/cpu.c b/cpukit/score/cpu/lm32/cpu.c
index 540e6dbb2d..149647a037 100644
--- a/cpukit/score/cpu/lm32/cpu.c
+++ b/cpukit/score/cpu/lm32/cpu.c
@@ -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 */
-)
-{
- /*
- * 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
+void _CPU_Initialize(void)
+{
/*
* If there is not an easy way to initialize the FP context
* during Context_Initialize, then it is usually easier to
diff --git a/cpukit/score/cpu/lm32/rtems/score/cpu.h b/cpukit/score/cpu/lm32/rtems/score/cpu.h
index ac2129bd2d..d5522ff2d5 100644
--- a/cpukit/score/cpu/lm32/rtems/score/cpu.h
+++ b/cpukit/score/cpu/lm32/rtems/score/cpu.h
@@ -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
diff --git a/cpukit/score/cpu/m32c/ChangeLog b/cpukit/score/cpu/m32c/ChangeLog
index f27c061687..67e0babd36 100644
--- a/cpukit/score/cpu/m32c/ChangeLog
+++ b/cpukit/score/cpu/m32c/ChangeLog
@@ -1,5 +1,11 @@
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.
2009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com>
diff --git a/cpukit/score/cpu/m32c/cpu.c b/cpukit/score/cpu/m32c/cpu.c
index 83d64b3267..5b9cbc9858 100644
--- a/cpukit/score/cpu/m32c/cpu.c
+++ b/cpukit/score/cpu/m32c/cpu.c
@@ -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" );
}
diff --git a/cpukit/score/cpu/m32c/rtems/score/cpu.h b/cpukit/score/cpu/m32c/rtems/score/cpu.h
index 538c7da0e7..0586bd7c3e 100644
--- a/cpukit/score/cpu/m32c/rtems/score/cpu.h
+++ b/cpukit/score/cpu/m32c/rtems/score/cpu.h
@@ -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
diff --git a/cpukit/score/cpu/m32r/ChangeLog b/cpukit/score/cpu/m32r/ChangeLog
index ff192af030..f8de30afce 100644
--- a/cpukit/score/cpu/m32r/ChangeLog
+++ b/cpukit/score/cpu/m32r/ChangeLog
@@ -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
diff --git a/cpukit/score/cpu/m32r/cpu.c b/cpukit/score/cpu/m32r/cpu.c
index cdeda8cb64..8ac22ee440 100644
--- a/cpukit/score/cpu/m32r/cpu.c
+++ b/cpukit/score/cpu/m32r/cpu.c
@@ -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)
{
}
diff --git a/cpukit/score/cpu/m32r/rtems/score/cpu.h b/cpukit/score/cpu/m32r/rtems/score/cpu.h
index 39bd5c0133..97fef9a61e 100644
--- a/cpukit/score/cpu/m32r/rtems/score/cpu.h
+++ b/cpukit/score/cpu/m32r/rtems/score/cpu.h
@@ -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
diff --git a/cpukit/score/cpu/m68k/ChangeLog b/cpukit/score/cpu/m68k/ChangeLog
index 92973181dd..c3213d256b 100644
--- a/cpukit/score/cpu/m68k/ChangeLog
+++ b/cpukit/score/cpu/m68k/ChangeLog
@@ -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,
diff --git a/cpukit/score/cpu/m68k/cpu.c b/cpukit/score/cpu/m68k/cpu.c
index 8edea5372f..dd1db6488c 100644
--- a/cpukit/score/cpu/m68k/cpu.c
+++ b/cpukit/score/cpu/m68k/cpu.c
@@ -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
diff --git a/cpukit/score/cpu/m68k/rtems/score/cpu.h b/cpukit/score/cpu/m68k/rtems/score/cpu.h
index d8daa42fdb..3cc48847ce 100644
--- a/cpukit/score/cpu/m68k/rtems/score/cpu.h
+++ b/cpukit/score/cpu/m68k/rtems/score/cpu.h
@@ -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
diff --git a/cpukit/score/cpu/mips/ChangeLog b/cpukit/score/cpu/mips/ChangeLog
index 2703b2b052..c9ed3be402 100644
--- a/cpukit/score/cpu/mips/ChangeLog
+++ b/cpukit/score/cpu/mips/ChangeLog
@@ -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,
diff --git a/cpukit/score/cpu/mips/cpu.c b/cpukit/score/cpu/mips/cpu.c
index aaaac95102..7593960b2d 100644
--- a/cpukit/score/cpu/mips/cpu.c
+++ b/cpukit/score/cpu/mips/cpu.c
@@ -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
diff --git a/cpukit/score/cpu/mips/rtems/score/cpu.h b/cpukit/score/cpu/mips/rtems/score/cpu.h
index ae2626fea6..0184d17308 100644
--- a/cpukit/score/cpu/mips/rtems/score/cpu.h
+++ b/cpukit/score/cpu/mips/rtems/score/cpu.h
@@ -633,23 +633,6 @@ 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
diff --git a/cpukit/score/cpu/nios2/ChangeLog b/cpukit/score/cpu/nios2/ChangeLog
index 344d7219ad..da49f1dd9f 100644
--- a/cpukit/score/cpu/nios2/ChangeLog
+++ b/cpukit/score/cpu/nios2/ChangeLog
@@ -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,
diff --git a/cpukit/score/cpu/nios2/cpu.c b/cpukit/score/cpu/nios2/cpu.c
index 32fdf7b766..5071ffbb75 100644
--- a/cpukit/score/cpu/nios2/cpu.c
+++ b/cpukit/score/cpu/nios2/cpu.c
@@ -19,33 +19,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)
{
/*
- * 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
* save an "uninitialized" FP context here and copy it to
diff --git a/cpukit/score/cpu/nios2/rtems/score/cpu.h b/cpukit/score/cpu/nios2/rtems/score/cpu.h
index 0bfbd430df..a3219c7dfb 100644
--- a/cpukit/score/cpu/nios2/rtems/score/cpu.h
+++ b/cpukit/score/cpu/nios2/rtems/score/cpu.h
@@ -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
diff --git a/cpukit/score/cpu/no_cpu/ChangeLog b/cpukit/score/cpu/no_cpu/ChangeLog
index 3f9cc77dbf..5c9f665998 100644
--- a/cpukit/score/cpu/no_cpu/ChangeLog
+++ b/cpukit/score/cpu/no_cpu/ChangeLog
@@ -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
diff --git a/cpukit/score/cpu/no_cpu/cpu.c b/cpukit/score/cpu/no_cpu/cpu.c
index b49fef315a..447dbbe662 100644
--- a/cpukit/score/cpu/no_cpu/cpu.c
+++ b/cpukit/score/cpu/no_cpu/cpu.c
@@ -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 */
-)
-{
- /*
- * 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;
+void _CPU_Initialize(void)
+{
/*
* If there is not an easy way to initialize the FP context
* during Context_Initialize, then it is usually easier to
diff --git a/cpukit/score/cpu/no_cpu/rtems/score/cpu.h b/cpukit/score/cpu/no_cpu/rtems/score/cpu.h
index 81145ab471..9d625ec0b3 100644
--- a/cpukit/score/cpu/no_cpu/rtems/score/cpu.h
+++ b/cpukit/score/cpu/no_cpu/rtems/score/cpu.h
@@ -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
diff --git a/cpukit/score/cpu/sh/ChangeLog b/cpukit/score/cpu/sh/ChangeLog
index 3ddea8e439..af889732c7 100644
--- a/cpukit/score/cpu/sh/ChangeLog
+++ b/cpukit/score/cpu/sh/ChangeLog
@@ -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
diff --git a/cpukit/score/cpu/sh/cpu.c b/cpukit/score/cpu/sh/cpu.c
index a50c233db0..0daa7579ea 100644
--- a/cpukit/score/cpu/sh/cpu.c
+++ b/cpukit/score/cpu/sh/cpu.c
@@ -39,31 +39,14 @@ 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
* save an "uninitialized" FP context here and copy it to
diff --git a/cpukit/score/cpu/sh/rtems/score/cpu.h b/cpukit/score/cpu/sh/rtems/score/cpu.h
index 358b32e029..158f486ed4 100644
--- a/cpukit/score/cpu/sh/rtems/score/cpu.h
+++ b/cpukit/score/cpu/sh/rtems/score/cpu.h
@@ -429,18 +429,6 @@ 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
diff --git a/cpukit/score/cpu/sparc/ChangeLog b/cpukit/score/cpu/sparc/ChangeLog
index 09665337fa..02fc70a1e4 100644
--- a/cpukit/score/cpu/sparc/ChangeLog
+++ b/cpukit/score/cpu/sparc/ChangeLog
@@ -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,
diff --git a/cpukit/score/cpu/sparc/cpu.c b/cpukit/score/cpu/sparc/cpu.c
index ce97565001..4db94537cf 100644
--- a/cpukit/score/cpu/sparc/cpu.c
+++ b/cpukit/score/cpu/sparc/cpu.c
@@ -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;
diff --git a/cpukit/score/cpu/sparc/rtems/score/cpu.h b/cpukit/score/cpu/sparc/rtems/score/cpu.h
index 7971bea457..e0909fe9bf 100644
--- a/cpukit/score/cpu/sparc/rtems/score/cpu.h
+++ b/cpukit/score/cpu/sparc/rtems/score/cpu.h
@@ -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
diff --git a/cpukit/score/cpu/unix/ChangeLog b/cpukit/score/cpu/unix/ChangeLog
index c972c9d6cf..21e9de51dc 100644
--- a/cpukit/score/cpu/unix/ChangeLog
+++ b/cpukit/score/cpu/unix/ChangeLog
@@ -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.
diff --git a/cpukit/score/cpu/unix/cpu.c b/cpukit/score/cpu/unix/cpu.c
index e92e04b0e7..b56fadcc5e 100644
--- a/cpukit/score/cpu/unix/cpu.c
+++ b/cpukit/score/cpu/unix/cpu.c
@@ -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
@@ -295,19 +291,6 @@ void _CPU_Initialize(
_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
* save an "uninitialized" FP context here and copy it to
diff --git a/cpukit/score/cpu/unix/rtems/score/cpu.h b/cpukit/score/cpu/unix/rtems/score/cpu.h
index 4734539173..0503018d2f 100644
--- a/cpukit/score/cpu/unix/rtems/score/cpu.h
+++ b/cpukit/score/cpu/unix/rtems/score/cpu.h
@@ -529,18 +529,6 @@ 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