[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 46/49] x86: factor out cpu_get/put_mttr_var()
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PATCH 46/49] x86: factor out cpu_get/put_mttr_var() |
Date: |
Tue, 29 Sep 2009 22:49:05 +0200 |
Signed-off-by: Juan Quintela <address@hidden>
---
target-i386/machine.c | 28 ++++++++++++++++++++++++----
1 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/target-i386/machine.c b/target-i386/machine.c
index e60b523..18f8845 100644
--- a/target-i386/machine.c
+++ b/target-i386/machine.c
@@ -53,6 +53,28 @@ static void cpu_get_xmm_reg(QEMUFile *f, XMMReg *xmm_reg)
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;
@@ -182,8 +204,7 @@ void cpu_save(QEMUFile *f, void *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 */
@@ -394,8 +415,7 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id)
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]);
}
}
--
1.6.2.5
- [Qemu-devel] [PATCH 36/49] x86: mce_banks always have the same size, (continued)
- [Qemu-devel] [PATCH 36/49] x86: mce_banks always have the same size, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 37/49] x86: send mce_banks as an array, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 39/49] x86: split FPReg union, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 38/49] x86: mcg_cap is never 0, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 40/49] x86: split MTRRVar union, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 41/49] Add *TL functions to vmstate, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 42/49] x86: port segments to vmstate, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 43/49] x86: factor out cpu_pre_save(), Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 44/49] x86: factor out cpu_pre/post_load(), Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 45/49] x86: factor out cpu_get/put_xmm_reg(), Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 46/49] x86: factor out cpu_get/put_mttr_var(),
Juan Quintela <=
- [Qemu-devel] [PATCH 48/49] vmstate: Add suppot for field_exist() test, Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 47/49] x86: factor out cpu_get/put_fpreg(), Juan Quintela, 2009/09/29
- [Qemu-devel] [PATCH 49/49] x86: port cpu to vmstate, Juan Quintela, 2009/09/29