Messages in this thread | | | Date | Mon, 27 Sep 2010 10:01:06 +0200 | From | Robert Richter <> | Subject | Re: [PATCH -v2 3/7] x86, NMI, Rename memory parity error to PCI SERR error |
| |
On 26.09.10 20:57:02, Huang Ying wrote: > memory parity error is only valid for IBM PC-AT, newer machine use 7 > bit (0x80) of 0x61 port for PCI SERR. While memory error is usually > reported via MCE. So corresponding function name and kernel log string > is changed. > > But on some machines, PCI SERR line is still used to report memory > errors. This is used by EDAC, so corresponding EDAC call is reserved. > > > v2: > > - EDAC call in pci_serr_error is reserved. > > Signed-off-by: Huang Ying <ying.huang@intel.com> > --- > arch/x86/include/asm/mach_traps.h | 6 +++--- > arch/x86/kernel/traps.c | 21 ++++++++++----------- > 2 files changed, 13 insertions(+), 14 deletions(-) > > --- a/arch/x86/include/asm/mach_traps.h > +++ b/arch/x86/include/asm/mach_traps.h > @@ -9,11 +9,11 @@ > > #define NMI_REASON_PORT 0x61 > > -#define NMI_REASON_MEMPAR 0x80 > +#define NMI_REASON_SERR 0x80 > #define NMI_REASON_IOCHK 0x40 > -#define NMI_REASON_MASK (NMI_REASON_MEMPAR | NMI_REASON_IOCHK) > +#define NMI_REASON_MASK (NMI_REASON_SERR | NMI_REASON_IOCHK) > > -#define NMI_REASON_CLEAR_MEMPAR 0x04 > +#define NMI_REASON_CLEAR_SERR 0x04
I already commented on this, patch #1 and #3 are basically the same in most parts which should be merged. What remains then in this patch is the modified printk() and the comment. Both could be added to #1 too which is then some sort of code cleanup patch.
> #define NMI_REASON_CLEAR_IOCHK 0x08 > #define NMI_REASON_CLEAR_MASK 0x0f > > --- a/arch/x86/kernel/traps.c > +++ b/arch/x86/kernel/traps.c > @@ -301,15 +301,14 @@ gp_in_kernel: > } > > static notrace __kprobes void > -mem_parity_error(unsigned char reason, struct pt_regs *regs) > +pci_serr_error(unsigned char reason, struct pt_regs *regs) > { > - printk(KERN_EMERG > - "Uhhuh. NMI received for unknown reason %02x on CPU %d.\n", > - reason, smp_processor_id()); > - > - printk(KERN_EMERG > - "You have some hardware problem, likely on the PCI bus.\n"); > + printk(KERN_EMERG "NMI: PCI system error (SERR).\n");
You should keep reporting the cpu id to identify the affected node and also the reason.
-Robert
-- Advanced Micro Devices, Inc. Operating System Research Center
| |