aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2009-12-08 17:54:55 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2009-12-12 08:17:28 -0600
commitebbc8a3d8e76d0402f8a08c10c0f32e24715d41d (patch)
tree9fdfa8a1820a2b11fe07780798ebf839f0bbc683
parentFix recently added QERR_ definitions (diff)
downloadqemu-kvm-ebbc8a3d8e76d0402f8a08c10c0f32e24715d41d.tar.gz
qemu-kvm-ebbc8a3d8e76d0402f8a08c10c0f32e24715d41d.tar.bz2
qemu-kvm-ebbc8a3d8e76d0402f8a08c10c0f32e24715d41d.zip
kvm: x86: Save/restore exception_index
As KVM now makes use of exception_index to keep pending exceptions, we have to save&restore this field as well. NOTE: We have to nail the arch-independent exception_index down to a certain bit width for proper vmstate processing, namely to 32 bit. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 4d6e3ac5d411c461d0fb4b1cd2ace854963c9e30)
-rw-r--r--cpu-defs.h2
-rw-r--r--target-i386/machine.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/cpu-defs.h b/cpu-defs.h
index 95068b530..51dc436b4 100644
--- a/cpu-defs.h
+++ b/cpu-defs.h
@@ -179,7 +179,7 @@ typedef struct CPUWatchpoint {
\
/* Core interrupt code */ \
jmp_buf jmp_env; \
- int exception_index; \
+ int32_t exception_index; \
\
CPUState *next_cpu; /* next CPU sharing TB cache */ \
int cpu_index; /* CPU index (informative) */ \
diff --git a/target-i386/machine.c b/target-i386/machine.c
index cdc8898a6..ab4633e65 100644
--- a/target-i386/machine.c
+++ b/target-i386/machine.c
@@ -453,6 +453,7 @@ static const VMStateDescription vmstate_cpu = {
VMSTATE_UINT8_V(nmi_pending, CPUState, 11),
VMSTATE_UINT8_V(has_error_code, CPUState, 11),
VMSTATE_UINT32_V(sipi_vector, CPUState, 11),
+ VMSTATE_INT32_V(exception_index, CPUState, 11),
/* MCE */
VMSTATE_UINT64_V(mcg_cap, CPUState, 10),
VMSTATE_UINT64_V(mcg_status, CPUState, 10),