summaryrefslogtreecommitdiffstats
path: root/schedsim/rtems/sched_cpu/rtems/score/cpu.h
diff options
context:
space:
mode:
Diffstat (limited to 'schedsim/rtems/sched_cpu/rtems/score/cpu.h')
-rw-r--r--schedsim/rtems/sched_cpu/rtems/score/cpu.h38
1 files changed, 34 insertions, 4 deletions
diff --git a/schedsim/rtems/sched_cpu/rtems/score/cpu.h b/schedsim/rtems/sched_cpu/rtems/score/cpu.h
index 5ab67f0..219a347 100644
--- a/schedsim/rtems/sched_cpu/rtems/score/cpu.h
+++ b/schedsim/rtems/sched_cpu/rtems/score/cpu.h
@@ -291,7 +291,7 @@ extern "C" {
*
* XXX document implementation including references if appropriate
*/
-#define CPU_USE_DEFERRED_FP_SWITCH TRUE
+#define CPU_USE_DEFERRED_FP_SWITCH FALSE
/**
* Does this port provide a CPU dependent IDLE task implementation?
@@ -461,6 +461,10 @@ extern "C" {
* XXX document implementation including references if appropriate
*/
+typedef struct {
+ /* There is no CPU specific per-CPU state */
+} CPU_Per_CPU_control;
+
/**
* @ingroup CPUContext Management
* This defines the minimal set of integer and processor state registers
@@ -834,7 +838,7 @@ uint32_t _CPU_ISR_Get_level( void );
* XXX document implementation including references if appropriate
*/
#define _CPU_Context_Initialize( _the_context, _stack_base, _size, \
- _isr, _entry_point, _is_fp ) \
+ _isr, _entry_point, _is_fp, tls_area ) \
{ \
}
@@ -1123,6 +1127,15 @@ void _CPU_ISR_install_vector(
*/
void _CPU_Install_interrupt_stack( void );
+typedef uint32_t CPU_Counter_ticks;
+
+CPU_Counter_ticks _CPU_Counter_read( void );
+
+CPU_Counter_ticks _CPU_Counter_difference(
+ CPU_Counter_ticks second,
+ CPU_Counter_ticks first
+);
+
/**
* This routine is the CPU dependent IDLE thread body.
*
@@ -1204,6 +1217,25 @@ void _CPU_Context_restore_fp(
Context_Control_fp **fp_context_ptr
);
+#ifdef RTEMS_SMP
+ #define _CPU_Context_switch_to_first_task_smp(_context )
+
+ RTEMS_COMPILER_PURE_ATTRIBUTE static inline uint32_t
+ _CPU_SMP_Get_current_processor( void )
+ {
+ return 0;
+ }
+
+ #define _CPU_SMP_Send_interrupt( dest);
+
+ static inline void _CPU_SMP_Processor_event_broadcast( void )
+ {
+ }
+
+ static inline void _CPU_SMP_Processor_event_receive( void )
+ {
+ }
+#endif
typedef struct {
uint32_t trap;
CPU_Interrupt_frame *isf;
@@ -1283,8 +1315,6 @@ void __SMP_cpu_swap(
*(_a) = _value; \
} while (0)
-#define _CPU_Context_switch_to_first_task_smp(_ignored)
-
#ifdef __cplusplus
}
#endif