#ifndef _SIM_MAIN_H
 #define _SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #include "sim-basics.h"
 #include "sim-types.h"
 #include "sim-base.h"
 
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #include "sim-basics.h"
 #include "sim-base.h"
 #include "bfd.h"
 
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #include "sim-basics.h"
 
 #include "sim-base.h"
 
 #ifndef _BFIN_MAIN_SIM_H_
 #define _BFIN_MAIN_SIM_H_
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #include "sim-basics.h"
 #include "arch.h"
 #include "sim-base.h"
 
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #include "sim-basics.h"
 #include "cgen-types.h"
 #include "bpf-desc.h"
 
 sim_cpu *
 sim_cpu_alloc_extra (SIM_DESC sd, size_t extra_bytes)
 {
-  sim_cpu *cpu;
+  sim_cpu *cpu = zalloc (sizeof (*cpu));
 
 #ifndef CGEN_ARCH
 # define cgen_cpu_max_extra_bytes(sd) 0
 #endif
-#ifdef SIM_HAVE_COMMON_SIM_CPU
-  cpu = zalloc (sizeof (*cpu));
-
   extra_bytes += cgen_cpu_max_extra_bytes (sd);
   if (extra_bytes)
     CPU_ARCH_DATA (cpu) = zalloc (extra_bytes);
-#else
-  cpu = zalloc (sizeof (*cpu) + cgen_cpu_max_extra_bytes (sd));
-#endif
 
   return cpu;
 }
 void
 sim_cpu_free (sim_cpu *cpu)
 {
-#ifdef SIM_HAVE_COMMON_SIM_CPU
   free (CPU_ARCH_DATA (cpu));
-#endif
-
   free (cpu);
 }
 \f
 
 
 } sim_cpu_base;
 
-#ifdef SIM_HAVE_COMMON_SIM_CPU
 struct _sim_cpu {
   /* All the common state.  */
   sim_cpu_base base;
   void *arch_data;
 #define CPU_ARCH_DATA(cpu) ((cpu)->arch_data)
 };
-#endif
 
 /* Create all cpus.  */
 extern SIM_RC sim_cpu_alloc_all_extra (SIM_DESC, int, size_t);
 
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #include "sim-basics.h"
 
 typedef long int           word;
 
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 /* This is a global setting.  Different cpu families can't mix-n-match -scache
    and -pbb.  However some cpu families may use -simple while others use
    one of -scache/-pbb.  */
 
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #include "sim-basics.h"
 
 typedef long int           word;
 
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #include "sim-basics.h"
 #include "sim-base.h"
 
 
 
 /* Main header for the frv.  */
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 /* This is a global setting.  Different cpu families can't mix-n-match -scache
    and -pbb.  However some cpu families may use -simple while others use
    one of -scache/-pbb. ???? */
 
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #include "sim-basics.h"
 #include "sim-base.h"
 #include "bfd.h"
 
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #define DEBUG
 
 /* These define the size of main memory for the simulator.
 
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 /* This is a global setting.  Different cpu families can't mix-n-match -scache
    and -pbb.  However some cpu families may use -simple while others use
    one of -scache/-pbb. ???? */
 
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #define WITH_SCACHE_PBB 1
 
 #include "symcat.h"
 
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 /* This is a global setting.  Different cpu families can't mix-n-match -scache
    and -pbb.  However some cpu families may use -simple while others use
    one of -scache/-pbb.  */
 
 #ifndef _SIM_MAIN_H
 #define _SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #include "sim-basics.h"
 #include "sim-base.h"
 
 
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #include "sim-basics.h"
 
 typedef long int           word;
 
 #ifndef MICROBLAZE_SIM_MAIN
 #define MICROBLAZE_SIM_MAIN
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #include "microblaze.h"
 #include "sim-basics.h"
 #include "sim-base.h"
 
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #define SIM_CORE_SIGNAL(SD,CPU,CIA,MAP,NR_BYTES,ADDR,TRANSFER,ERROR) \
 mips_core_signal ((SD), (CPU), (CIA), (MAP), (NR_BYTES), (ADDR), (TRANSFER), (ERROR))
 
 
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #define SIM_ENGINE_HALT_HOOK(SD,LAST_CPU,CIA) /* disable this hook */
 
 #include "sim-basics.h"
 
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #include "sim-basics.h"
 #include "sim-base.h"
 #include "bfd.h"
 
 #ifndef _MSP430_MAIN_SIM_H_
 #define _MSP430_MAIN_SIM_H_
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #include "sim-basics.h"
 #include "msp430-sim.h"
 #include "sim-base.h"
 
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #define WITH_SCACHE_PBB 1
 
 #include "ansidecl.h"
 
 #ifndef PRU_SIM_MAIN
 #define PRU_SIM_MAIN
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #include <stdint.h>
 #include <stddef.h>
 #include "pru.h"
 
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #include "sim-basics.h"
 #include "machs.h"
 #include "sim-base.h"
 
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 #include "sim-basics.h"
 #include "sim-base.h"
 
 
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
-#define SIM_HAVE_COMMON_SIM_CPU
-
 /* The v850 has 32bit words, numbered 31 (MSB) to 0 (LSB) */
 
 #define WITH_TARGET_WORD_MSB 31