x86: Perform implicit mcg_status reset

Reorder mcg_status in CPUState to achieve automatic clearing on reset.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
CC: Huang Ying <ying.huang@intel.com>
CC: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
CC: Jin Dongming <jin.dongming@np.css.fujitsu.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
Jan Kiszka 2011-03-02 08:56:07 +01:00 committed by Marcelo Tosatti
parent ac09878158
commit 185592324f
2 changed files with 2 additions and 3 deletions

View File

@ -687,6 +687,8 @@ typedef struct CPUX86State {
uint64_t pat; uint64_t pat;
uint64_t mcg_status;
/* exception/interrupt handling */ /* exception/interrupt handling */
int error_code; int error_code;
int exception_is_int; int exception_is_int;
@ -741,7 +743,6 @@ typedef struct CPUX86State {
struct DeviceState *apic_state; struct DeviceState *apic_state;
uint64_t mcg_cap; uint64_t mcg_cap;
uint64_t mcg_status;
uint64_t mcg_ctl; uint64_t mcg_ctl;
uint64_t mce_banks[MCE_BANKS_DEF*4]; uint64_t mce_banks[MCE_BANKS_DEF*4];

View File

@ -101,8 +101,6 @@ void cpu_reset(CPUX86State *env)
env->dr[7] = DR7_FIXED_1; env->dr[7] = DR7_FIXED_1;
cpu_breakpoint_remove_all(env, BP_CPU); cpu_breakpoint_remove_all(env, BP_CPU);
cpu_watchpoint_remove_all(env, BP_CPU); cpu_watchpoint_remove_all(env, BP_CPU);
env->mcg_status = 0;
} }
void cpu_x86_close(CPUX86State *env) void cpu_x86_close(CPUX86State *env)