From 92344599b10feb54959e46a67472fba8685e4c43 Mon Sep 17 00:00:00 2001 From: Juan Quintela Date: Tue, 29 Sep 2009 22:48:55 +0200 Subject: [PATCH] x86: mce_banks always have the same size mce_banks is always MCE_BANKS_DEF * 4 in size, value never change CC: Huang Ying Signed-off-by: Juan Quintela Signed-off-by: Anthony Liguori --- target-i386/cpu.h | 2 +- target-i386/helper.c | 3 +-- target-i386/machine.c | 4 ++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/target-i386/cpu.h b/target-i386/cpu.h index f069018..1bf027e 100644 --- a/target-i386/cpu.h +++ b/target-i386/cpu.h @@ -698,7 +698,7 @@ typedef struct CPUX86State { uint64 mcg_cap; uint64 mcg_status; uint64 mcg_ctl; - uint64 *mce_banks; + uint64 mce_banks[MCE_BANKS_DEF*4]; uint64_t tsc_aux; } CPUX86State; diff --git a/target-i386/helper.c b/target-i386/helper.c index 999c1bf..c961544 100644 --- a/target-i386/helper.c +++ b/target-i386/helper.c @@ -1597,8 +1597,7 @@ static void mce_init(CPUX86State *cenv) && (cenv->cpuid_features&(CPUID_MCE|CPUID_MCA)) == (CPUID_MCE|CPUID_MCA)) { cenv->mcg_cap = MCE_CAP_DEF | MCE_BANKS_DEF; cenv->mcg_ctl = ~(uint64_t)0; - bank_num = cenv->mcg_cap & 0xff; - cenv->mce_banks = qemu_mallocz(bank_num * sizeof(uint64_t) * 4); + bank_num = MCE_BANKS_DEF; for (bank = 0; bank < bank_num; bank++) cenv->mce_banks[bank*4] = ~(uint64_t)0; } diff --git a/target-i386/machine.c b/target-i386/machine.c index 18347e4..7dc8afc 100644 --- a/target-i386/machine.c +++ b/target-i386/machine.c @@ -157,7 +157,7 @@ void cpu_save(QEMUFile *f, void *opaque) if (env->mcg_cap) { qemu_put_be64s(f, &env->mcg_status); 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 + 1]); qemu_put_be64s(f, &env->mce_banks[4*i + 2]); @@ -355,7 +355,7 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id) if (env->mcg_cap) { qemu_get_be64s(f, &env->mcg_status); 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 + 1]); qemu_get_be64s(f, &env->mce_banks[4*i + 2]); -- 2.7.4