diff options
author | Ralf Corsepius <ralf.corsepius@rtems.org> | 2005-02-15 16:31:24 +0000 |
---|---|---|
committer | Ralf Corsepius <ralf.corsepius@rtems.org> | 2005-02-15 16:31:24 +0000 |
commit | 87738794f2c232ea47a82c755f667da7f65ac83c (patch) | |
tree | d08e87fabff702b46e51486c3cbcfc186c775baa /cpukit/score/cpu | |
parent | (_CPU_ISR_install_vector, _CPU_Initialize, _CPU_Install_interrupt_stack, _CPU... (diff) | |
download | rtems-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/cpu')
-rw-r--r-- | cpukit/score/cpu/powerpc/rtems/score/cpu.h | 88 |
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 */ |