summaryrefslogtreecommitdiffstats
path: root/schedsim/rtems/sched_cpu/rtems/score/cpu.h
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2011-05-17 19:31:24 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2011-05-17 19:31:24 +0000
commitaebb1ca3839f59dfb79f7022e00a995a98caaa69 (patch)
treee1c04d639fa32094b9f47de2552fd625b5ec7e63 /schedsim/rtems/sched_cpu/rtems/score/cpu.h
parent2011-05-17 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-schedsim-aebb1ca3839f59dfb79f7022e00a995a98caaa69.tar.bz2
2011-05-17 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am, rtems_init.c, sched_cpu/cpu.c, sched_cpu/rtems/score/cpu.h: Merge and update code. Simulators for Deterministic Priority and SMP Simple Schedulers now work. * debugio.c: New file. * sched_cpu/rtems/score/cpuopts.h: Removed.
Diffstat (limited to 'schedsim/rtems/sched_cpu/rtems/score/cpu.h')
-rw-r--r--schedsim/rtems/sched_cpu/rtems/score/cpu.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/schedsim/rtems/sched_cpu/rtems/score/cpu.h b/schedsim/rtems/sched_cpu/rtems/score/cpu.h
index 7e206fd..4d397d8 100644
--- a/schedsim/rtems/sched_cpu/rtems/score/cpu.h
+++ b/schedsim/rtems/sched_cpu/rtems/score/cpu.h
@@ -1257,6 +1257,23 @@ static inline uint32_t CPU_swap_u32(
#define CPU_swap_u16( value ) \
(((value&0xff) << 8) | ((value >> 8)&0xff))
+/*
+ * SMP Support
+ */
+void __SMP_cpu_swap(
+ uint32_t *a,
+ uint32_t *value,
+ uint32_t *prev
+);
+#define SMP_CPU_SWAP( _address, _value, _previous ) \
+ do { \
+ volatile unsigned int *_a = (volatile unsigned int *)_address; \
+ _previous = *(_a); \
+ *(_a) = _value; \
+ } while (0)
+
+#define _CPU_Context_switch_to_first_task_smp(_ignored)
+
#ifdef __cplusplus
}
#endif