@@ -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) */ \
@@ -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),
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> --- cpu-defs.h | 2 +- target-i386/machine.c | 1 + 2 files changed, 2 insertions(+), 1 deletions(-)