x86/mce changes for v2.6.38
Linus,
Please pull the latest x86-mce-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git x86-mce-for-linus
Thanks,
Ingo
------------------>
Robert Richter (5):
mce, amd: Implement mce_threshold_block_init() helper function mce, amd: Shorten local variables mci_misc_{hi,lo} mce, amd: Add helper functions to setup APIC
mce, amd: Remove goto in threshold_create_device() apic, amd: Make firmware bug messages more meaningful
arch/x86/kernel/apic/apic.c | 15 ++-- arch/x86/kernel/cpu/mcheck/mce_amd.c | 135 +++++++++++++++++++--------------- arch/x86/oprofile/op_model_amd.c | 1 + 3 files changed, 86 insertions(+), 65 deletions(-)
arch/x86/kernel/apic/apic.c +8 -7
@@ -433,17 +433,18 @@ int setup_APIC_eilvt(u8 offset, u8 vector, u8 msg_type, u8 mask) reserved =reserve_eilvt_offset (offset, new);if (reserved != new) { -pr_err (FW_BUG "cpu %d, try to setup vector 0x%x, but " -"vector 0x%x was already reserved by another core, " -"APIC%lX=0x%x\n" , -smp_processor_id (), new, reserved, reg, old); +pr_err (FW_BUG "cpu %d, try to use APIC%lX (LVT offset %d) for " +"vector 0x%x, but the register is already in use for " +"vector 0x%x on another cpu\n" , +smp_processor_id (), reg, offset, new, reserved);return -EINVAL ; }if (!eilvt_entry_is_changeable (old, new)) { -pr_err (FW_BUG "cpu %d, try to setup vector 0x%x but " -"register already in use, APIC%lX=0x%x\n" , -smp_processor_id (), new, reg, old); +pr_err (FW_BUG "cpu %d, try to use APIC%lX (LVT offset %d) for " +"vector 0x%x, but the register is already in use for " +"vector 0x%x on this cpu\n" , +smp_processor_id (), reg, offset, new, old);return -EBUSY ; }
arch/x86/kernel/cpu/mcheck/mce_amd.c +77 -58
214 lines not on this page · raw message
arch/x86/oprofile/op_model_amd.c +1 -0
@@ -566,6 +566,7 @@ static int force_ibs_eilvt_setup(void) ret =setup_ibs_ctl (i);if (ret)return ret; +pr_err (FW_BUG "using offset %d for IBS interrupts\n" , i);return 0 ; }