mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 23:23:13 +00:00
(_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.
This commit is contained in:
@@ -275,4 +275,92 @@ void _CPU_Context_Initialize(
|
|||||||
/* end of Context handler macros */
|
/* end of Context handler macros */
|
||||||
#endif /* ASM */
|
#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 */
|
#endif /* _RTEMS_SCORE_CPU_H */
|
||||||
|
|||||||
Reference in New Issue
Block a user