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