From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Egger Subject: Re: [PATCH 4/6] MCE: Fix the vMCE address translation for HVM guest. Date: Thu, 28 Jan 2010 09:14:00 +0100 Message-ID: <201001280914.01835.Christoph.Egger@amd.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "Jiang, Yunhong" Cc: "Frank.Vanderlinden@Sun.COM" , "xen-devel@lists.xensource.com" , Keir Fraser , Jan Beulich List-Id: xen-devel@lists.xenproject.org On Thursday 28 January 2010 06:55:58 Jiang, Yunhong wrote: > Fix the vMCE address translation for HVM guest. > > Fix address translation when we inject a virtual MCE to HVM guest. IMO, the whole address translation should be x86 generic with hooks to handle AMD/Intel specific registers. Christoph > > Signed-off-by: Jiang, Yunhong > > diff -r ac2951705a86 xen/arch/x86/cpu/mcheck/mce_intel.c > --- a/xen/arch/x86/cpu/mcheck/mce_intel.c Tue Jan 26 20:04:51 2010 +0800 > +++ b/xen/arch/x86/cpu/mcheck/mce_intel.c Tue Jan 26 22:49:11 2010 +0800 > @@ -371,8 +371,8 @@ static void intel_UCR_handler(struct mci > > gfn = > mfn_to_gmfn(d, ((bank->mc_addr) >> > PAGE_SHIFT)); - bank->mc_addr = > - gfn << PAGE_SHIFT | (bank->mc_addr & > PAGE_MASK); + bank->mc_addr = gfn << PAGE_SHIFT | > + (bank->mc_addr & (PAGE_SIZE -1 )); > if (fill_vmsr_data(bank, global->mc_gstatus) == > -1) { > mce_printk(MCE_QUIET, "Fill vMCE# data for > DOM%d " -- ---to satisfy European Law for business letters: Advanced Micro Devices GmbH Karl-Hammerschmidt-Str. 34, 85609 Dornach b. Muenchen Geschaeftsfuehrer: Andrew Bowd, Thomas M. McCoy, Giuliano Meroni Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen Registergericht Muenchen, HRB Nr. 43632