summaryrefslogtreecommitdiffstats
path: root/cpukit/score
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2005-02-15 16:31:24 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2005-02-15 16:31:24 +0000
commit87738794f2c232ea47a82c755f667da7f65ac83c (patch)
treed08e87fabff702b46e51486c3cbcfc186c775baa /cpukit/score
parent(_CPU_ISR_install_vector, _CPU_Initialize, _CPU_Install_interrupt_stack, _CPU... (diff)
downloadrtems-87738794f2c232ea47a82c755f667da7f65ac83c.tar.bz2
(_CPU_ISR_install_vector, _CPU_Initialize, _CPU_Install_interrupt_stack, _CPU_Context_switch, _CPU_Context_restore, _CPU_Context_save_fp, _CPU_Context_restore_fp, _CPU_Fatal_error): New.
Diffstat (limited to 'cpukit/score')
-rw-r--r--cpukit/score/cpu/powerpc/rtems/score/cpu.h88
1 files changed, 88 insertions, 0 deletions
diff --git a/cpukit/score/cpu/powerpc/rtems/score/cpu.h b/cpukit/score/cpu/powerpc/rtems/score/cpu.h
index 8b302f7a90..90563f09d6 100644
--- a/cpukit/score/cpu/powerpc/rtems/score/cpu.h
+++ b/cpukit/score/cpu/powerpc/rtems/score/cpu.h
@@ -275,4 +275,92 @@ void _CPU_Context_Initialize(
/* end of Context handler macros */
#endif /* ASM */
+/* functions */
+
+#ifndef ASM
+
+/*
+ * _CPU_Initialize
+ *
+ * This routine performs CPU dependent initialization.
+ */
+
+void _CPU_Initialize(
+ rtems_cpu_table *cpu_table,
+ void (*thread_dispatch)
+);
+
+/*
+ * _CPU_ISR_install_vector
+ *
+ * This routine installs an interrupt vector.
+ */
+
+void _CPU_ISR_install_vector(
+ uint32_t vector,
+ proc_ptr new_handler,
+ proc_ptr *old_handler
+);
+
+/*
+ * _CPU_Install_interrupt_stack
+ *
+ * This routine installs the hardware interrupt stack pointer.
+ *
+ * NOTE: It need only be provided if CPU_HAS_HARDWARE_INTERRUPT_STACK
+ * is TRUE.
+ */
+
+void _CPU_Install_interrupt_stack( void );
+
+/*
+ * _CPU_Context_switch
+ *
+ * This routine switches from the run context to the heir context.
+ */
+
+void _CPU_Context_switch(
+ Context_Control *run,
+ Context_Control *heir
+);
+
+/*
+ * _CPU_Context_restore
+ *
+ * This routine is generallu used only to restart self in an
+ * efficient manner. It may simply be a label in _CPU_Context_switch.
+ *
+ * NOTE: May be unnecessary to reload some registers.
+ */
+
+void _CPU_Context_restore(
+ Context_Control *new_context
+);
+
+/*
+ * _CPU_Context_save_fp
+ *
+ * This routine saves the floating point context passed to it.
+ */
+
+void _CPU_Context_save_fp(
+ void **fp_context_ptr
+);
+
+/*
+ * _CPU_Context_restore_fp
+ *
+ * This routine restores the floating point context passed to it.
+ */
+
+void _CPU_Context_restore_fp(
+ void **fp_context_ptr
+);
+
+void _CPU_Fatal_error(
+ uint32_t _error
+);
+
+#endif /* ASM */
+
#endif /* _RTEMS_SCORE_CPU_H */