Skip to content

Commit

Permalink
[PATCH] x86_64: increase MCE bank counts
Browse files Browse the repository at this point in the history
There is one CPU here whose MCE bank count is 6. This patch increases
x86_64's MCE bank count.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Shaohua Li authored and Linus Torvalds committed Jan 12, 2006
1 parent f2ecfab commit 73ca535
Showing 1 changed file with 14 additions and 11 deletions.
25 changes: 14 additions & 11 deletions arch/x86_64/kernel/mce.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
#include <asm/uaccess.h>

#define MISC_MCELOG_MINOR 227
#define NR_BANKS 5
#define NR_BANKS 6

static int mce_dont_init;

Expand Down Expand Up @@ -574,13 +574,18 @@ ACCESSOR(bank1ctl,bank[1],mce_restart())
ACCESSOR(bank2ctl,bank[2],mce_restart())
ACCESSOR(bank3ctl,bank[3],mce_restart())
ACCESSOR(bank4ctl,bank[4],mce_restart())
ACCESSOR(bank5ctl,bank[5],mce_restart())
static struct sysdev_attribute * bank_attributes[NR_BANKS] = {
&attr_bank0ctl, &attr_bank1ctl, &attr_bank2ctl,
&attr_bank3ctl, &attr_bank4ctl, &attr_bank5ctl};
ACCESSOR(tolerant,tolerant,)
ACCESSOR(check_interval,check_interval,mce_restart())

/* Per cpu sysdev init. All of the cpus still share the same ctl bank */
static __cpuinit int mce_create_device(unsigned int cpu)
{
int err;
int i;
if (!mce_available(&cpu_data[cpu]))
return -EIO;

Expand All @@ -590,11 +595,9 @@ static __cpuinit int mce_create_device(unsigned int cpu)
err = sysdev_register(&per_cpu(device_mce,cpu));

if (!err) {
sysdev_create_file(&per_cpu(device_mce,cpu), &attr_bank0ctl);
sysdev_create_file(&per_cpu(device_mce,cpu), &attr_bank1ctl);
sysdev_create_file(&per_cpu(device_mce,cpu), &attr_bank2ctl);
sysdev_create_file(&per_cpu(device_mce,cpu), &attr_bank3ctl);
sysdev_create_file(&per_cpu(device_mce,cpu), &attr_bank4ctl);
for (i = 0; i < banks; i++)
sysdev_create_file(&per_cpu(device_mce,cpu),
bank_attributes[i]);
sysdev_create_file(&per_cpu(device_mce,cpu), &attr_tolerant);
sysdev_create_file(&per_cpu(device_mce,cpu), &attr_check_interval);
}
Expand All @@ -604,11 +607,11 @@ static __cpuinit int mce_create_device(unsigned int cpu)
#ifdef CONFIG_HOTPLUG_CPU
static __cpuinit void mce_remove_device(unsigned int cpu)
{
sysdev_remove_file(&per_cpu(device_mce,cpu), &attr_bank0ctl);
sysdev_remove_file(&per_cpu(device_mce,cpu), &attr_bank1ctl);
sysdev_remove_file(&per_cpu(device_mce,cpu), &attr_bank2ctl);
sysdev_remove_file(&per_cpu(device_mce,cpu), &attr_bank3ctl);
sysdev_remove_file(&per_cpu(device_mce,cpu), &attr_bank4ctl);
int i;

for (i = 0; i < banks; i++)
sysdev_remove_file(&per_cpu(device_mce,cpu),
bank_attributes[i]);
sysdev_remove_file(&per_cpu(device_mce,cpu), &attr_tolerant);
sysdev_remove_file(&per_cpu(device_mce,cpu), &attr_check_interval);
sysdev_unregister(&per_cpu(device_mce,cpu));
Expand Down

0 comments on commit 73ca535

Please sign in to comment.