Revision 79c4f6b0 target-i386/machine.c
b/target-i386/machine.c | ||
---|---|---|
158 | 158 |
qemu_put_sbe32s(f, &pending_irq); |
159 | 159 |
qemu_put_be32s(f, &env->mp_state); |
160 | 160 |
qemu_put_be64s(f, &env->tsc); |
161 |
} |
|
161 |
|
|
162 |
/* MCE */ |
|
163 |
qemu_put_be64s(f, &env->mcg_cap); |
|
164 |
if (env->mcg_cap) { |
|
165 |
qemu_put_be64s(f, &env->mcg_status); |
|
166 |
qemu_put_be64s(f, &env->mcg_ctl); |
|
167 |
for (i = 0; i < (env->mcg_cap & 0xff); i++) { |
|
168 |
qemu_put_be64s(f, &env->mce_banks[4*i]); |
|
169 |
qemu_put_be64s(f, &env->mce_banks[4*i + 1]); |
|
170 |
qemu_put_be64s(f, &env->mce_banks[4*i + 2]); |
|
171 |
qemu_put_be64s(f, &env->mce_banks[4*i + 3]); |
|
172 |
} |
|
173 |
} |
|
174 |
} |
|
162 | 175 |
|
163 | 176 |
#ifdef USE_X86LDOUBLE |
164 | 177 |
/* XXX: add that in a FPU generic layer */ |
... | ... | |
349 | 362 |
qemu_get_be64s(f, &env->tsc); |
350 | 363 |
} |
351 | 364 |
|
365 |
if (version_id >= 10) { |
|
366 |
qemu_get_be64s(f, &env->mcg_cap); |
|
367 |
if (env->mcg_cap) { |
|
368 |
qemu_get_be64s(f, &env->mcg_status); |
|
369 |
qemu_get_be64s(f, &env->mcg_ctl); |
|
370 |
for (i = 0; i < (env->mcg_cap & 0xff); i++) { |
|
371 |
qemu_get_be64s(f, &env->mce_banks[4*i]); |
|
372 |
qemu_get_be64s(f, &env->mce_banks[4*i + 1]); |
|
373 |
qemu_get_be64s(f, &env->mce_banks[4*i + 2]); |
|
374 |
qemu_get_be64s(f, &env->mce_banks[4*i + 3]); |
|
375 |
} |
|
376 |
} |
|
377 |
} |
|
378 |
|
|
352 | 379 |
/* XXX: ensure compatiblity for halted bit ? */ |
353 | 380 |
/* XXX: compute redundant hflags bits */ |
354 | 381 |
env->hflags = hflags; |
Also available in: Unified diff