vmstate_load_state(f, &vmstate_xmm_reg, xmm_reg, vmstate_xmm_reg.version_id);
}
+static const VMStateDescription vmstate_mtrr_var = {
+ .name = "mtrr_var",
+ .version_id = 1,
+ .minimum_version_id = 1,
+ .minimum_version_id_old = 1,
+ .fields = (VMStateField []) {
+ VMSTATE_UINT64(base, MTRRVar),
+ VMSTATE_UINT64(mask, MTRRVar),
+ VMSTATE_END_OF_LIST()
+ }
+};
+
+static void cpu_put_mtrr_var(QEMUFile *f, MTRRVar *mtrr_var)
+{
+ vmstate_save_state(f, &vmstate_mtrr_var, mtrr_var);
+}
+
+static void cpu_get_mtrr_var(QEMUFile *f, MTRRVar *mtrr_var)
+{
+ vmstate_load_state(f, &vmstate_mtrr_var, mtrr_var, vmstate_mtrr_var.version_id);
+}
+
static void cpu_pre_save(void *opaque)
{
CPUState *env = opaque;
qemu_put_be64s(f, &env->mtrr_fixed[i]);
qemu_put_be64s(f, &env->mtrr_deftype);
for(i = 0; i < 8; i++) {
- qemu_put_be64s(f, &env->mtrr_var[i].base);
- qemu_put_be64s(f, &env->mtrr_var[i].mask);
+ cpu_put_mtrr_var(f, &env->mtrr_var[i]);
}
/* KVM-related states */
qemu_get_be64s(f, &env->mtrr_fixed[i]);
qemu_get_be64s(f, &env->mtrr_deftype);
for(i = 0; i < 8; i++) {
- qemu_get_be64s(f, &env->mtrr_var[i].base);
- qemu_get_be64s(f, &env->mtrr_var[i].mask);
+ cpu_get_mtrr_var(f, &env->mtrr_var[i]);
}
}