forked from Imagelibrary/rtems
score: Move context validation declarations
The context validation support functions _CPU_Context_validate() and _CPU_Context_volatile_clobber() are used only by one test program (spcontext01). Move the function declarations to the CPU port implementation header file.
This commit is contained in:
@@ -493,10 +493,6 @@ void _CPU_Context_restore( Context_Control *new_context )
|
|||||||
#define _CPU_Start_multitasking _ARMV7M_Start_multitasking
|
#define _CPU_Start_multitasking _ARMV7M_Start_multitasking
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void _CPU_Context_volatile_clobber( uintptr_t pattern );
|
|
||||||
|
|
||||||
void _CPU_Context_validate( uintptr_t pattern );
|
|
||||||
|
|
||||||
#ifdef RTEMS_SMP
|
#ifdef RTEMS_SMP
|
||||||
uint32_t _CPU_SMP_Initialize( void );
|
uint32_t _CPU_SMP_Initialize( void );
|
||||||
|
|
||||||
|
|||||||
@@ -102,6 +102,10 @@ static inline struct Per_CPU_Control *_ARM_Get_current_per_CPU_control( void )
|
|||||||
|
|
||||||
#endif /* ARM_MULTILIB_ARCH_V4 */
|
#endif /* ARM_MULTILIB_ARCH_V4 */
|
||||||
|
|
||||||
|
void _CPU_Context_volatile_clobber( uintptr_t pattern );
|
||||||
|
|
||||||
|
void _CPU_Context_validate( uintptr_t pattern );
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -819,18 +819,6 @@ void _CPU_Context_restore_fp(
|
|||||||
Context_Control_fp **fp_context_ptr
|
Context_Control_fp **fp_context_ptr
|
||||||
);
|
);
|
||||||
|
|
||||||
static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void _CPU_Context_validate( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
while (1) {
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
/* FIXME */
|
/* FIXME */
|
||||||
|
|||||||
@@ -25,6 +25,18 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
while (1) {
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -754,18 +754,6 @@ static inline unsigned int CPU_swap_u32(
|
|||||||
#define CPU_swap_u16( value ) \
|
#define CPU_swap_u16( value ) \
|
||||||
(((value&0xff) << 8) | ((value >> 8)&0xff))
|
(((value&0xff) << 8) | ((value >> 8)&0xff))
|
||||||
|
|
||||||
static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void _CPU_Context_validate( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
while (1) {
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef uint32_t CPU_Counter_ticks;
|
typedef uint32_t CPU_Counter_ticks;
|
||||||
|
|
||||||
uint32_t _CPU_Counter_frequency( void );
|
uint32_t _CPU_Counter_frequency( void );
|
||||||
|
|||||||
@@ -25,6 +25,18 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
while (1) {
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -674,18 +674,6 @@ void _CPU_Context_restore_fp(
|
|||||||
} while (0)
|
} while (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void _CPU_Context_validate( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
while (1) {
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
|
void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
|
||||||
|
|
||||||
typedef uint32_t CPU_Counter_ticks;
|
typedef uint32_t CPU_Counter_ticks;
|
||||||
|
|||||||
@@ -25,6 +25,18 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
while (1) {
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -854,18 +854,6 @@ void _CPU_Context_restore_fp(
|
|||||||
Context_Control_fp **fp_context_ptr
|
Context_Control_fp **fp_context_ptr
|
||||||
);
|
);
|
||||||
|
|
||||||
static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void _CPU_Context_validate( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
while (1) {
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
/* FIXME */
|
/* FIXME */
|
||||||
|
|||||||
@@ -25,6 +25,18 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
while (1) {
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -803,18 +803,6 @@ void _CPU_Context_restore(
|
|||||||
Context_Control *new_context
|
Context_Control *new_context
|
||||||
) RTEMS_NO_RETURN;
|
) RTEMS_NO_RETURN;
|
||||||
|
|
||||||
static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void _CPU_Context_validate( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
while (1) {
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* FIXME */
|
/* FIXME */
|
||||||
typedef CPU_Interrupt_frame CPU_Exception_frame;
|
typedef CPU_Interrupt_frame CPU_Exception_frame;
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,18 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
while (1) {
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -635,18 +635,6 @@ void _CPU_Context_restore_fp(
|
|||||||
Context_Control_fp **fp_context_ptr
|
Context_Control_fp **fp_context_ptr
|
||||||
);
|
);
|
||||||
|
|
||||||
static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void _CPU_Context_validate( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
while (1) {
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method prints the CPU exception frame.
|
* This method prints the CPU exception frame.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -25,6 +25,18 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
while (1) {
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -871,18 +871,6 @@ void _CPU_Context_restore_fp(
|
|||||||
Context_Control_fp **fp_context_ptr
|
Context_Control_fp **fp_context_ptr
|
||||||
);
|
);
|
||||||
|
|
||||||
static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void _CPU_Context_validate( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
while (1) {
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
|
void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
|
||||||
|
|
||||||
/* The following routine swaps the endian format of an unsigned int.
|
/* The following routine swaps the endian format of an unsigned int.
|
||||||
|
|||||||
@@ -25,6 +25,18 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
while (1) {
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -685,18 +685,6 @@ void _CPU_Context_restore_fp(
|
|||||||
Context_Control_fp **fp_context_ptr
|
Context_Control_fp **fp_context_ptr
|
||||||
);
|
);
|
||||||
|
|
||||||
static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void _CPU_Context_validate( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
while (1) {
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief The set of registers that specifies the complete processor state.
|
* @brief The set of registers that specifies the complete processor state.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -25,6 +25,18 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
while (1) {
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -324,10 +324,6 @@ void _CPU_Context_restore(
|
|||||||
Context_Control *new_context
|
Context_Control *new_context
|
||||||
) RTEMS_NO_RETURN;
|
) RTEMS_NO_RETURN;
|
||||||
|
|
||||||
void _CPU_Context_volatile_clobber( uintptr_t pattern );
|
|
||||||
|
|
||||||
void _CPU_Context_validate( uintptr_t pattern );
|
|
||||||
|
|
||||||
void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
|
void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
|
||||||
|
|
||||||
static inline uint32_t CPU_swap_u32( uint32_t value )
|
static inline uint32_t CPU_swap_u32( uint32_t value )
|
||||||
|
|||||||
@@ -25,6 +25,10 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void _CPU_Context_volatile_clobber( uintptr_t pattern );
|
||||||
|
|
||||||
|
void _CPU_Context_validate( uintptr_t pattern );
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1144,37 +1144,6 @@ void _CPU_Context_restore_fp(
|
|||||||
Context_Control_fp **fp_context_ptr
|
Context_Control_fp **fp_context_ptr
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
|
||||||
* @ingroup CPUContext
|
|
||||||
*
|
|
||||||
* @brief Clobbers all volatile registers with values derived from the pattern
|
|
||||||
* parameter.
|
|
||||||
*
|
|
||||||
* This function is used only in test sptests/spcontext01.
|
|
||||||
*
|
|
||||||
* @param[in] pattern Pattern used to generate distinct register values.
|
|
||||||
*
|
|
||||||
* @see _CPU_Context_validate().
|
|
||||||
*/
|
|
||||||
void _CPU_Context_volatile_clobber( uintptr_t pattern );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @ingroup CPUContext
|
|
||||||
*
|
|
||||||
* @brief Initializes and validates the CPU context with values derived from
|
|
||||||
* the pattern parameter.
|
|
||||||
*
|
|
||||||
* This function will not return if the CPU context remains consistent. In
|
|
||||||
* case this function returns the CPU port is broken.
|
|
||||||
*
|
|
||||||
* This function is used only in test sptests/spcontext01.
|
|
||||||
*
|
|
||||||
* @param[in] pattern Pattern used to generate distinct register values.
|
|
||||||
*
|
|
||||||
* @see _CPU_Context_volatile_clobber().
|
|
||||||
*/
|
|
||||||
void _CPU_Context_validate( uintptr_t pattern );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief The set of registers that specifies the complete processor state.
|
* @brief The set of registers that specifies the complete processor state.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -73,6 +73,37 @@ register struct Per_CPU_Control *_CPU_Per_CPU_current asm( "rX" );
|
|||||||
*/
|
*/
|
||||||
#define _CPU_Get_thread_executing() ( _CPU_Per_CPU_current->executing )
|
#define _CPU_Get_thread_executing() ( _CPU_Per_CPU_current->executing )
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup CPUContext
|
||||||
|
*
|
||||||
|
* @brief Clobbers all volatile registers with values derived from the pattern
|
||||||
|
* parameter.
|
||||||
|
*
|
||||||
|
* This function is used only in test sptests/spcontext01.
|
||||||
|
*
|
||||||
|
* @param[in] pattern Pattern used to generate distinct register values.
|
||||||
|
*
|
||||||
|
* @see _CPU_Context_validate().
|
||||||
|
*/
|
||||||
|
void _CPU_Context_volatile_clobber( uintptr_t pattern );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup CPUContext
|
||||||
|
*
|
||||||
|
* @brief Initializes and validates the CPU context with values derived from
|
||||||
|
* the pattern parameter.
|
||||||
|
*
|
||||||
|
* This function will not return if the CPU context remains consistent. In
|
||||||
|
* case this function returns the CPU port is broken.
|
||||||
|
*
|
||||||
|
* This function is used only in test sptests/spcontext01.
|
||||||
|
*
|
||||||
|
* @param[in] pattern Pattern used to generate distinct register values.
|
||||||
|
*
|
||||||
|
* @see _CPU_Context_volatile_clobber().
|
||||||
|
*/
|
||||||
|
void _CPU_Context_validate( uintptr_t pattern );
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -744,10 +744,6 @@ void _CPU_Context_restore_fp(
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void _CPU_Context_volatile_clobber( uintptr_t pattern );
|
|
||||||
|
|
||||||
void _CPU_Context_validate( uintptr_t pattern );
|
|
||||||
|
|
||||||
static inline unsigned int CPU_swap_u32(
|
static inline unsigned int CPU_swap_u32(
|
||||||
unsigned int value
|
unsigned int value
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -25,6 +25,10 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void _CPU_Context_volatile_clobber( uintptr_t pattern );
|
||||||
|
|
||||||
|
void _CPU_Context_validate( uintptr_t pattern );
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -996,10 +996,6 @@ void _CPU_Context_restore_fp(
|
|||||||
Context_Control_fp **fp_context_ptr
|
Context_Control_fp **fp_context_ptr
|
||||||
);
|
);
|
||||||
|
|
||||||
void _CPU_Context_volatile_clobber( uintptr_t pattern );
|
|
||||||
|
|
||||||
void _CPU_Context_validate( uintptr_t pattern );
|
|
||||||
|
|
||||||
#ifdef RTEMS_SMP
|
#ifdef RTEMS_SMP
|
||||||
uint32_t _CPU_SMP_Initialize( void );
|
uint32_t _CPU_SMP_Initialize( void );
|
||||||
|
|
||||||
|
|||||||
@@ -238,6 +238,10 @@ static inline struct Per_CPU_Control *_PPC_Get_current_per_CPU_control( void )
|
|||||||
|
|
||||||
#endif /* RTEMS_SMP */
|
#endif /* RTEMS_SMP */
|
||||||
|
|
||||||
|
void _CPU_Context_volatile_clobber( uintptr_t pattern );
|
||||||
|
|
||||||
|
void _CPU_Context_validate( uintptr_t pattern );
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -358,10 +358,6 @@ static inline uint32_t CPU_swap_u32(
|
|||||||
#define CPU_swap_u16( value ) \
|
#define CPU_swap_u16( value ) \
|
||||||
(((value&0xff) << 8) | ((value >> 8)&0xff))
|
(((value&0xff) << 8) | ((value >> 8)&0xff))
|
||||||
|
|
||||||
void _CPU_Context_volatile_clobber( uintptr_t pattern );
|
|
||||||
|
|
||||||
void _CPU_Context_validate( uintptr_t pattern );
|
|
||||||
|
|
||||||
typedef uint32_t CPU_Counter_ticks;
|
typedef uint32_t CPU_Counter_ticks;
|
||||||
|
|
||||||
uint32_t _CPU_Counter_frequency( void );
|
uint32_t _CPU_Counter_frequency( void );
|
||||||
|
|||||||
@@ -321,6 +321,10 @@ static inline struct Per_CPU_Control *_RISCV_Get_current_per_CPU_control( void )
|
|||||||
|
|
||||||
#endif /* RTEMS_SMP */
|
#endif /* RTEMS_SMP */
|
||||||
|
|
||||||
|
void _CPU_Context_volatile_clobber( uintptr_t pattern );
|
||||||
|
|
||||||
|
void _CPU_Context_validate( uintptr_t pattern );
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -661,18 +661,6 @@ void _CPU_Context_restore_fp(
|
|||||||
Context_Control_fp **fp_context_ptr
|
Context_Control_fp **fp_context_ptr
|
||||||
);
|
);
|
||||||
|
|
||||||
static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void _CPU_Context_validate( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
while (1) {
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* FIXME */
|
/* FIXME */
|
||||||
typedef CPU_Interrupt_frame CPU_Exception_frame;
|
typedef CPU_Interrupt_frame CPU_Exception_frame;
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,18 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
while (1) {
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1068,10 +1068,6 @@ void _CPU_Context_restore(
|
|||||||
} while ( 0 )
|
} while ( 0 )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void _CPU_Context_volatile_clobber( uintptr_t pattern );
|
|
||||||
|
|
||||||
void _CPU_Context_validate( uintptr_t pattern );
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint32_t trap;
|
uint32_t trap;
|
||||||
CPU_Interrupt_frame *isf;
|
CPU_Interrupt_frame *isf;
|
||||||
|
|||||||
@@ -146,6 +146,10 @@ register struct Per_CPU_Control *_SPARC_Per_CPU_current __asm__( "g6" );
|
|||||||
|
|
||||||
#define _CPU_Get_thread_executing() ( _SPARC_Per_CPU_current->executing )
|
#define _CPU_Get_thread_executing() ( _SPARC_Per_CPU_current->executing )
|
||||||
|
|
||||||
|
void _CPU_Context_volatile_clobber( uintptr_t pattern );
|
||||||
|
|
||||||
|
void _CPU_Context_validate( uintptr_t pattern );
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -946,18 +946,6 @@ void _CPU_Context_restore_fp(
|
|||||||
Context_Control_fp **fp_context_ptr
|
Context_Control_fp **fp_context_ptr
|
||||||
);
|
);
|
||||||
|
|
||||||
static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void _CPU_Context_validate( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
while (1) {
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* FIXME */
|
/* FIXME */
|
||||||
typedef CPU_Interrupt_frame CPU_Exception_frame;
|
typedef CPU_Interrupt_frame CPU_Exception_frame;
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,18 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
while (1) {
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -759,18 +759,6 @@ void _CPU_Context_restore_fp(
|
|||||||
);
|
);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void _CPU_Context_validate( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
while (1) {
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
/* FIXME */
|
/* FIXME */
|
||||||
|
|||||||
@@ -25,6 +25,18 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
while (1) {
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -249,22 +249,6 @@ void _CPU_Context_restore_fp(
|
|||||||
Context_Control_fp **fp_context_ptr
|
Context_Control_fp **fp_context_ptr
|
||||||
);
|
);
|
||||||
|
|
||||||
static inline void _CPU_Context_volatile_clobber( uintptr_t pattern );
|
|
||||||
|
|
||||||
static inline void _CPU_Context_validate( uintptr_t pattern );
|
|
||||||
|
|
||||||
static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void _CPU_Context_validate( uintptr_t pattern )
|
|
||||||
{
|
|
||||||
while (1) {
|
|
||||||
/* TODO */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint32_t processor_state_register;
|
uint32_t processor_state_register;
|
||||||
uint32_t integer_registers [1];
|
uint32_t integer_registers [1];
|
||||||
|
|||||||
@@ -42,6 +42,18 @@ static inline void outport_byte(uint16_t port, uint8_t val)
|
|||||||
__asm__ volatile ( "outb %0, %1" : : "a" (val), "Nd" (port) );
|
__asm__ volatile ( "outb %0, %1" : : "a" (val), "Nd" (port) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
|
||||||
|
RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
|
||||||
|
{
|
||||||
|
while (1) {
|
||||||
|
/* TODO */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -16,7 +16,9 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "tmacros.h"
|
#include <rtems/score/cpuimpl.h>
|
||||||
|
|
||||||
|
#include <tmacros.h>
|
||||||
|
|
||||||
const char rtems_test_name[] = "SPCONTEXT 1";
|
const char rtems_test_name[] = "SPCONTEXT 1";
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user