mirror of https://gitee.com/openkylin/qemu.git
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 4d6e3ac5d4
)
This commit is contained in:
parent
08b2d3ba9a
commit
ebbc8a3d8e
|
@ -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),
|
||||
|
|
Loading…
Reference in New Issue