Revision 2c4c71ee hw/s390x/ipl.c

b/hw/s390x/ipl.c
57 57
} S390IPLState;
58 58

  
59 59

  
60
static void s390_ipl_cpu(uint64_t pswaddr)
61
{
62
    S390CPU *cpu = S390_CPU(qemu_get_cpu(0));
63
    CPUS390XState *env = &cpu->env;
64

  
65
    env->psw.addr = pswaddr;
66
    env->psw.mask = IPL_PSW_MASK;
67
    s390_add_running_cpu(cpu);
68
}
69

  
70 60
static int s390_ipl_init(SysBusDevice *dev)
71 61
{
72 62
    S390IPLState *ipl = S390_IPL(dev);
......
155 145
static void s390_ipl_reset(DeviceState *dev)
156 146
{
157 147
    S390IPLState *ipl = S390_IPL(dev);
148
    S390CPU *cpu = S390_CPU(qemu_get_cpu(0));
149
    CPUS390XState *env = &cpu->env;
158 150

  
159
    s390_ipl_cpu(ipl->start_addr);
151
    env->psw.addr = ipl->start_addr;
152
    env->psw.mask = IPL_PSW_MASK;
153
    s390_add_running_cpu(cpu);
160 154
}
161 155

  
162 156
static void s390_ipl_class_init(ObjectClass *klass, void *data)

Also available in: Unified diff