Hi, Dongming, On Tue, 2010-11-30 at 16:15 +0800, Jin Dongming wrote: > Broadcast MCA signal is not supported by the CPUs whose version is > below 06H_EH. > > Signed-off-by: Jin Dongming <jin.dongming@xxxxxxxxxxxxxxxxxx> > --- > target-i386/helper.c | 13 +++++++++++++ > 1 files changed, 13 insertions(+), 0 deletions(-) > > diff --git a/target-i386/helper.c b/target-i386/helper.c > index 7e07ebd..437290b 100644 > --- a/target-i386/helper.c > +++ b/target-i386/helper.c > @@ -1077,10 +1077,23 @@ void cpu_inject_x86_mce(CPUState *cenv, int bank, uint64_t status, > unsigned bank_num = cenv->mcg_cap & 0xff; > CPUState *env; > int flag = 0; > + int family, model, cpuver = first_cpu->cpuid_version; > > if (bank >= bank_num || !(status & MCI_STATUS_VAL)) > return; > > + if (broadcast) { > + family = (cpuver >> 8) & 0x0f; > + model = ((cpuver >> 12) & 0xf0) + ((cpuver >> 4) & 0x0f); > + > + if ((family == 6 && model >= 14) || family > 6) > + broadcast = 1; > + else { > + fprintf(stderr, "Current CPU does not support broadcast\n"); > + return; > + } > + } > + > if (kvm_enabled()) { > if (broadcast) > flag |= 0x02; /* bit 1: 1(broadcast); 0(not broadcast) */ Why not wrap this into a function? I think it may be used by other functions too. Best Regards, Huang Ying -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html