From a82c8e4d836121cec49ccd9031438a3110f2e192 Mon Sep 17 00:00:00 2001 From: Juan Quintela <quintela@redhat.com> Date: Tue, 26 Jan 2010 12:59:26 -0200 Subject: [PATCH 1/2] Fix cpu versioning RH-Author: Juan Quintela <quintela@redhat.com> Message-id: <1264510766-19291-1-git-send-email-quintela@redhat.com> Patchwork-id: 6622 O-Subject: [PATCH] Fix cpu versioning Bugzilla: 557327 RH-Acked-by: Marcelo Tosatti <mtosatti@redhat.com> RH-Acked-by: Kevin Wolf <kwolf@redhat.com> RH-Acked-by: Eduardo Habkost <ehabkost@redhat.com> We colapsed two changes on cpu version_id 8, but then we backport to 5.4.4 only one of the changes. That made migration fail. Just split the change back and update cpu version for RHEL5.5 to 9 bugzilla: 557327 upstream status: Upstream don't have this mechanism Signed-off-by: Juan Quintela <quintela@redhat.com> --- qemu/hw/pc.c | 1 + qemu/target-i386/cpu.h | 2 +- qemu/target-i386/machine.c | 6 ++++-- 3 files changed, 6 insertions(+), 3 deletions(-) Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> --- qemu/hw/pc.c | 1 + qemu/target-i386/cpu.h | 2 +- qemu/target-i386/machine.c | 6 ++++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/qemu/hw/pc.c b/qemu/hw/pc.c index 8d654e8..9f8a50a 100644 --- a/qemu/hw/pc.c +++ b/qemu/hw/pc.c @@ -1301,6 +1301,7 @@ QEMUMachine rhel544_machine = { .ram_require = VGA_RAM_SIZE + PC_MAX_BIOS_SIZE, .max_cpus = 255, .devices = (DeviceVersion []) { + { .name = "cpu", .version_id = 8 }, { .name = "ide", .version_id = 3}, { .name = "virtio-blk", .version_id = 2}, { .name = "qxl", .version_id = 3}, diff --git a/qemu/target-i386/cpu.h b/qemu/target-i386/cpu.h index e1a7fc4..4848e37 100644 --- a/qemu/target-i386/cpu.h +++ b/qemu/target-i386/cpu.h @@ -815,7 +815,7 @@ static inline int cpu_get_time_fast(void) #define cpu_signal_handler cpu_x86_signal_handler #define cpu_list x86_cpu_list -#define CPU_SAVE_VERSION 8 +#define CPU_SAVE_VERSION 9 /* MMU modes definitions */ #define MMU_MODE0_SUFFIX _kernel diff --git a/qemu/target-i386/machine.c b/qemu/target-i386/machine.c index a72f05f..36e4cc6 100644 --- a/qemu/target-i386/machine.c +++ b/qemu/target-i386/machine.c @@ -155,7 +155,8 @@ void cpu_save(QEMUFile *f, void *opaque, int version_id) if (version_id >= 8) { qemu_put_be64s(f, &env->system_time_msr); qemu_put_be64s(f, &env->wall_clock_msr); - + } + if (version_id >= 9) { qemu_put_8s(f, &env->soft_interrupt); qemu_put_8s(f, &env->nmi_injected); qemu_put_8s(f, &env->nmi_pending); @@ -353,7 +354,8 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id) if (version_id >= 8) { qemu_get_be64s(f, &env->system_time_msr); qemu_get_be64s(f, &env->wall_clock_msr); - + } + if (version_id >= 9) { qemu_get_8s(f, &env->soft_interrupt); qemu_get_8s(f, &env->nmi_injected); qemu_get_8s(f, &env->nmi_pending); -- 1.6.3.rc4.29.g8146