提交 ac74d0f1 编写于 作者: J Juan Quintela 提交者: Anthony Liguori

x86: mce_banks always have the same size

mce_banks is always MCE_BANKS_DEF * 4 in size, value never change

CC: Huang Ying <ying.huang@intel.com>
Signed-off-by: NJuan Quintela <quintela@redhat.com>
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
上级 60a902f1
...@@ -698,7 +698,7 @@ typedef struct CPUX86State { ...@@ -698,7 +698,7 @@ typedef struct CPUX86State {
uint64 mcg_cap; uint64 mcg_cap;
uint64 mcg_status; uint64 mcg_status;
uint64 mcg_ctl; uint64 mcg_ctl;
uint64 *mce_banks; uint64 mce_banks[MCE_BANKS_DEF*4];
uint64_t tsc_aux; uint64_t tsc_aux;
} CPUX86State; } CPUX86State;
......
...@@ -1597,8 +1597,7 @@ static void mce_init(CPUX86State *cenv) ...@@ -1597,8 +1597,7 @@ static void mce_init(CPUX86State *cenv)
&& (cenv->cpuid_features&(CPUID_MCE|CPUID_MCA)) == (CPUID_MCE|CPUID_MCA)) { && (cenv->cpuid_features&(CPUID_MCE|CPUID_MCA)) == (CPUID_MCE|CPUID_MCA)) {
cenv->mcg_cap = MCE_CAP_DEF | MCE_BANKS_DEF; cenv->mcg_cap = MCE_CAP_DEF | MCE_BANKS_DEF;
cenv->mcg_ctl = ~(uint64_t)0; cenv->mcg_ctl = ~(uint64_t)0;
bank_num = cenv->mcg_cap & 0xff; bank_num = MCE_BANKS_DEF;
cenv->mce_banks = qemu_mallocz(bank_num * sizeof(uint64_t) * 4);
for (bank = 0; bank < bank_num; bank++) for (bank = 0; bank < bank_num; bank++)
cenv->mce_banks[bank*4] = ~(uint64_t)0; cenv->mce_banks[bank*4] = ~(uint64_t)0;
} }
......
...@@ -157,7 +157,7 @@ void cpu_save(QEMUFile *f, void *opaque) ...@@ -157,7 +157,7 @@ void cpu_save(QEMUFile *f, void *opaque)
if (env->mcg_cap) { if (env->mcg_cap) {
qemu_put_be64s(f, &env->mcg_status); qemu_put_be64s(f, &env->mcg_status);
qemu_put_be64s(f, &env->mcg_ctl); qemu_put_be64s(f, &env->mcg_ctl);
for (i = 0; i < (env->mcg_cap & 0xff); i++) { for (i = 0; i < MCE_BANKS_DEF; i++) {
qemu_put_be64s(f, &env->mce_banks[4*i]); qemu_put_be64s(f, &env->mce_banks[4*i]);
qemu_put_be64s(f, &env->mce_banks[4*i + 1]); qemu_put_be64s(f, &env->mce_banks[4*i + 1]);
qemu_put_be64s(f, &env->mce_banks[4*i + 2]); qemu_put_be64s(f, &env->mce_banks[4*i + 2]);
...@@ -355,7 +355,7 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id) ...@@ -355,7 +355,7 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id)
if (env->mcg_cap) { if (env->mcg_cap) {
qemu_get_be64s(f, &env->mcg_status); qemu_get_be64s(f, &env->mcg_status);
qemu_get_be64s(f, &env->mcg_ctl); qemu_get_be64s(f, &env->mcg_ctl);
for (i = 0; i < (env->mcg_cap & 0xff); i++) { for (i = 0; i < MCE_BANKS_DEF; i++) {
qemu_get_be64s(f, &env->mce_banks[4*i]); qemu_get_be64s(f, &env->mce_banks[4*i]);
qemu_get_be64s(f, &env->mce_banks[4*i + 1]); qemu_get_be64s(f, &env->mce_banks[4*i + 1]);
qemu_get_be64s(f, &env->mce_banks[4*i + 2]); qemu_get_be64s(f, &env->mce_banks[4*i + 2]);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册