diff options
-rw-r--r-- | xen/arch/x86/cpu/mcheck/mce.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/xen/arch/x86/cpu/mcheck/mce.c b/xen/arch/x86/cpu/mcheck/mce.c index 1842e5244d..7704bba557 100644 --- a/xen/arch/x86/cpu/mcheck/mce.c +++ b/xen/arch/x86/cpu/mcheck/mce.c @@ -734,7 +734,14 @@ int mca_cap_init(void) } nr_mce_banks = msr_content & MCG_CAP_COUNT; - /* mcabanks_alloc depends on nr_mcebanks */ + if (!nr_mce_banks) + { + printk(XENLOG_INFO "CPU%u: No MCE banks present. " + "Machine check support disabled\n", smp_processor_id()); + return -ENODEV; + } + + /* mcabanks_alloc depends on nr_mce_banks */ if (!mca_allbanks) { int i; |