Revision 6ed221b6 hw/realview.c

b/hw/realview.c
104 104
    .smp_loader_start = SMP_BOOT_ADDR,
105 105
};
106 106

  
107
static void secondary_cpu_reset(void *opaque)
108
{
109
  CPUState *env = opaque;
110

  
111
  cpu_reset(env);
112
  /* Set entry point for secondary CPUs.  This assumes we're using
113
     the init code from arm_boot.c.  Real hardware resets all CPUs
114
     the same.  */
115
  env->regs[15] = SMP_BOOT_ADDR;
116
}
117

  
118 107
/* The following two lists must be consistent.  */
119 108
enum realview_board_type {
120 109
    BOARD_EB,
......
177 166
        }
178 167
        irqp = arm_pic_init_cpu(env);
179 168
        cpu_irq[n] = irqp[ARM_PIC_CPU_IRQ];
180
        if (n > 0) {
181
            qemu_register_reset(secondary_cpu_reset, env);
182
        }
183 169
    }
184 170
    if (arm_feature(env, ARM_FEATURE_V7)) {
185 171
        if (is_mpcore) {

Also available in: Unified diff