Revision 1f76b9b9 target-i386/machine.c
b/target-i386/machine.c | ||
---|---|---|
27 | 27 |
{ |
28 | 28 |
CPUState *env = opaque; |
29 | 29 |
uint16_t fptag, fpus, fpuc, fpregs_format; |
30 |
uint32_t hflags; |
|
31 | 30 |
int32_t a20_mask; |
32 | 31 |
int32_t pending_irq; |
33 | 32 |
int i, bit; |
... | ... | |
38 | 37 |
qemu_put_betls(f, &env->regs[i]); |
39 | 38 |
qemu_put_betls(f, &env->eip); |
40 | 39 |
qemu_put_betls(f, &env->eflags); |
41 |
hflags = env->hflags; /* XXX: suppress most of the redundant hflags */ |
|
42 |
qemu_put_be32s(f, &hflags); |
|
40 |
qemu_put_be32s(f, &env->hflags); |
|
43 | 41 |
|
44 | 42 |
/* FPU */ |
45 | 43 |
fpuc = env->fpuc; |
... | ... | |
202 | 200 |
{ |
203 | 201 |
CPUState *env = opaque; |
204 | 202 |
int i, guess_mmx; |
205 |
uint32_t hflags; |
|
206 | 203 |
uint16_t fpus, fpuc, fptag, fpregs_format; |
207 | 204 |
int32_t a20_mask; |
208 | 205 |
int32_t pending_irq; |
... | ... | |
214 | 211 |
qemu_get_betls(f, &env->regs[i]); |
215 | 212 |
qemu_get_betls(f, &env->eip); |
216 | 213 |
qemu_get_betls(f, &env->eflags); |
217 |
qemu_get_be32s(f, &hflags); |
|
214 |
qemu_get_be32s(f, &env->hflags);
|
|
218 | 215 |
|
219 | 216 |
qemu_get_be16s(f, &fpuc); |
220 | 217 |
qemu_get_be16s(f, &fpus); |
... | ... | |
381 | 378 |
if (version_id >= 11) { |
382 | 379 |
qemu_get_be64s(f, &env->tsc_aux); |
383 | 380 |
} |
384 |
/* XXX: ensure compatiblity for halted bit ? */ |
|
385 |
/* XXX: compute redundant hflags bits */ |
|
386 |
env->hflags = hflags; |
|
381 |
|
|
387 | 382 |
tlb_flush(env, 1); |
388 | 383 |
return 0; |
389 | 384 |
} |
Also available in: Unified diff