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