From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jin Dongming Subject: Re: [PATCH 3/3] Check processor version for broadcast. Date: Tue, 30 Nov 2010 17:40:42 +0900 Message-ID: <4CF4B88A.4040204@np.css.fujitsu.com> References: <4CF4B29C.5000907@np.css.fujitsu.com> <1291105347.12648.181.camel@yhuang-dev> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Avi Kivity , Marcelo Tosatti , Andi Kleen , Hidetoshi Seto , Dean Nelson , KVM list To: Huang Ying Return-path: Received: from fgwmail5.fujitsu.co.jp ([192.51.44.35]:43366 "EHLO fgwmail5.fujitsu.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754465Ab0K3Iia (ORCPT ); Tue, 30 Nov 2010 03:38:30 -0500 Received: from m2.gw.fujitsu.co.jp ([10.0.50.72]) by fgwmail5.fujitsu.co.jp (Fujitsu Gateway) with ESMTP id oAU8cSns000382 for (envelope-from jin.dongming@np.css.fujitsu.com); Tue, 30 Nov 2010 17:38:29 +0900 Received: from smail (m2 [127.0.0.1]) by outgoing.m2.gw.fujitsu.co.jp (Postfix) with ESMTP id BC2B345DE55 for ; Tue, 30 Nov 2010 17:38:28 +0900 (JST) Received: from s2.gw.fujitsu.co.jp (s2.gw.fujitsu.co.jp [10.0.50.92]) by m2.gw.fujitsu.co.jp (Postfix) with ESMTP id A2D3445DD74 for ; Tue, 30 Nov 2010 17:38:28 +0900 (JST) Received: from s2.gw.fujitsu.co.jp (localhost.localdomain [127.0.0.1]) by s2.gw.fujitsu.co.jp (Postfix) with ESMTP id 810E81DB803B for ; Tue, 30 Nov 2010 17:38:28 +0900 (JST) Received: from m004.s.css.fujitsu.com (m004.s.css.fujitsu.com [10.23.4.34]) by s2.gw.fujitsu.co.jp (Postfix) with ESMTP id 3F7431DB803E for ; Tue, 30 Nov 2010 17:38:28 +0900 (JST) In-Reply-To: <1291105347.12648.181.camel@yhuang-dev> Sender: kvm-owner@vger.kernel.org List-ID: Hi, Huang-san (2010/11/30 17:22), Huang Ying wrote: > 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 >> --- >> 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. I have other patchset for cleanup. So I will do it in that patchset. Thank you! Best Regards, Jin Dongming > > Best Regards, > Huang Ying > > > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > >