[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: [PATCH 1/6] MCE: Handle the vMCA bank correctly



On Thursday 28 January 2010 06:55:50 Jiang, Yunhong wrote:
> Handle the vMCA bank correctly
>
> Currently the virtual MCE MSR assume all MSRs range from 0 to MAX_NR_BANKS
> are always MCE MSR, this is not always correct.

Please explain, why is this not ? Which MSR is reported that is not an MCE 
MSR ?

Christoph


> With this patch, the 
> mce_rdmsr/mce_wrmsr will only handle vMCE MSR range from 0 to the MCA banks
> in the host platform. Please notice that some MSR beyond current MCA banks
> in the host platform are really MCA MSRs, that should be handled by general
> MSR handler.
>
> Signed-off-by: Jiang, Yunhong <yunhong.jiang@xxxxxxxxx>
>
> diff -r 221c9b796e32 xen/arch/x86/cpu/mcheck/mce.c
> --- a/xen/arch/x86/cpu/mcheck/mce.c   Tue Jan 26 00:33:03 2010 +0800
> +++ b/xen/arch/x86/cpu/mcheck/mce.c   Tue Jan 26 00:52:04 2010 +0800
> @@ -716,8 +716,8 @@ int mce_rdmsr(uint32_t msr, uint64_t *va
>          bank = (msr - MSR_IA32_MC0_CTL) / 4;
>          if ( bank >= (d->arch.vmca_msrs.mcg_cap & MCG_CAP_COUNT) )
>          {
> -            mce_printk(MCE_QUIET, "MCE: bank %u does not exist\n", bank);
> -            ret = -1;
> +            mce_printk(MCE_QUIET, "MCE: MSR %x is not MCA MSR\n", msr);
> +            ret = 0;
>              break;
>          }
>          switch (msr & (MSR_IA32_MC0_CTL | 3))
> @@ -848,8 +848,8 @@ int mce_wrmsr(u32 msr, u64 val)
>          bank = (msr - MSR_IA32_MC0_CTL) / 4;
>          if ( bank >= (d->arch.vmca_msrs.mcg_cap & MCG_CAP_COUNT) )
>          {
> -            mce_printk(MCE_QUIET, "MCE: bank %u does not exist\n", bank);
> -            ret = -1;
> +            mce_printk(MCE_QUIET, "MCE: MSR %x is not MCA MSR\n", msr);
> +            ret = 0;
>              break;
>          }
>          switch ( msr & (MSR_IA32_MC0_CTL | 3) )



-- 
---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


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.