Revision fc3b0aa2

b/target-i386/machine.c
31 31
    vmstate_load_state(f, &vmstate_segment, dt, vmstate_segment.version_id);
32 32
}
33 33

  
34
static const VMStateDescription vmstate_xmm_reg = {
35
    .name = "xmm_reg",
36
    .version_id = 1,
37
    .minimum_version_id = 1,
38
    .minimum_version_id_old = 1,
39
    .fields      = (VMStateField []) {
40
        VMSTATE_UINT64(XMM_Q(0), XMMReg),
41
        VMSTATE_UINT64(XMM_Q(1), XMMReg),
42
        VMSTATE_END_OF_LIST()
43
    }
44
};
45

  
46
static void cpu_put_xmm_reg(QEMUFile *f, XMMReg *xmm_reg)
47
{
48
    vmstate_save_state(f, &vmstate_xmm_reg, xmm_reg);
49
}
50

  
51
static void cpu_get_xmm_reg(QEMUFile *f, XMMReg *xmm_reg)
52
{
53
    vmstate_load_state(f, &vmstate_xmm_reg, xmm_reg, vmstate_xmm_reg.version_id);
54
}
55

  
34 56
static void cpu_pre_save(void *opaque)
35 57
{
36 58
    CPUState *env = opaque;
......
128 150
    /* XMM */
129 151
    qemu_put_be32s(f, &env->mxcsr);
130 152
    for(i = 0; i < CPU_NB_REGS; i++) {
131
        qemu_put_be64s(f, &env->xmm_regs[i].XMM_Q(0));
132
        qemu_put_be64s(f, &env->xmm_regs[i].XMM_Q(1));
153
        cpu_put_xmm_reg(f, &env->xmm_regs[i]);
133 154
    }
134 155

  
135 156
#ifdef TARGET_X86_64
......
335 356

  
336 357
    qemu_get_be32s(f, &env->mxcsr);
337 358
    for(i = 0; i < CPU_NB_REGS; i++) {
338
        qemu_get_be64s(f, &env->xmm_regs[i].XMM_Q(0));
339
        qemu_get_be64s(f, &env->xmm_regs[i].XMM_Q(1));
359
        cpu_get_xmm_reg(f, &env->xmm_regs[i]);
340 360
    }
341 361

  
342 362
#ifdef TARGET_X86_64

Also available in: Unified diff