aboutsummaryrefslogtreecommitdiff
path: root/target-i386
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2016-08-21 23:16:12 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2016-09-14 12:25:14 +0200
commit7616f1c2da1c0f336a474a56ad6d32e15ccd666e (patch)
tree1b618dd42c0ee2d475168b8250c824b0a82beb8c /target-i386
parentbb93e099888e8e7e959aa610ac783f41036bcc94 (diff)
downloadqemu-7616f1c2da1c0f336a474a56ad6d32e15ccd666e.zip
qemu-7616f1c2da1c0f336a474a56ad6d32e15ccd666e.tar.gz
qemu-7616f1c2da1c0f336a474a56ad6d32e15ccd666e.tar.bz2
target-i386: fix ordering of fields in CPUX86State
Make sure reset zeroes TSC_AUX, XCR0, PKRU. Move XSTATE_BV from the "vmstate only" section to the "KVM only" section. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'target-i386')
-rw-r--r--target-i386/cpu.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/target-i386/cpu.h b/target-i386/cpu.h
index bb3ffda..58e43b6 100644
--- a/target-i386/cpu.h
+++ b/target-i386/cpu.h
@@ -1035,6 +1035,9 @@ typedef struct CPUX86State {
uint64_t tsc;
uint64_t tsc_adjust;
uint64_t tsc_deadline;
+ uint64_t tsc_aux;
+
+ uint64_t xcr0;
uint64_t mcg_status;
uint64_t msr_ia32_misc_enable;
@@ -1051,6 +1054,8 @@ typedef struct CPUX86State {
uint64_t pat;
uint32_t smbase;
+ uint32_t pkru;
+
/* End of state preserved by INIT (dummy marker). */
struct {} end_init_save;
@@ -1135,20 +1140,15 @@ typedef struct CPUX86State {
uint64_t mcg_ctl;
uint64_t mcg_ext_ctl;
uint64_t mce_banks[MCE_BANKS_DEF*4];
-
- uint64_t tsc_aux;
+ uint64_t xstate_bv;
/* vmstate */
uint16_t fpus_vmstate;
uint16_t fptag_vmstate;
uint16_t fpregs_format_vmstate;
- uint64_t xstate_bv;
- uint64_t xcr0;
uint64_t xss;
- uint32_t pkru;
-
TPRAccess tpr_access_type;
} CPUX86State;