/* The sim_state struct. */
struct sim_state {
- struct _sim_cpu *cpu;
+ sim_cpu *cpu[MAX_NR_PROCESSORS];
unsigned int sim_cache_size;
decoded_inst *sim_cache;
unsigned short *cache_idx;
#define CIA_GET(CPU) (cpu_get_pc (CPU))
#define CIA_SET(CPU, VAL) (cpu_set_pc ((CPU), (VAL)))
-#define STATE_CPU(SD, N) ((SD)->cpu) /* Single Processor. */
+#if (WITH_SMP)
+#define STATE_CPU(sd,n) ((sd)->cpu[n])
+#else
+#define STATE_CPU(sd,n) ((sd)->cpu[0])
+#endif
#define cpu_set_pc(CPU, VAL) (((CPU)->pc) = (VAL))
#define cpu_get_pc(CPU) (((CPU)->pc))