traps.c (1f2d9c9dd8276b1c19ef80e6d8059fe47506d4c3) | traps.c (82a9a4809f4cb4ce3f17da99a8150df8455fa096) |
---|---|
1/* 2 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) 3 * Copyright 2007-2010 Freescale Semiconductor, Inc. 4 * 5 * This program is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU General Public License 7 * as published by the Free Software Foundation; either version 8 * 2 of the License, or (at your option) any later version. --- 411 unchanged lines hidden (view full) --- 420} 421#elif defined(CONFIG_E500) 422int machine_check_e500mc(struct pt_regs *regs) 423{ 424 unsigned long mcsr = mfspr(SPRN_MCSR); 425 unsigned long reason = mcsr; 426 int recoverable = 1; 427 | 1/* 2 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) 3 * Copyright 2007-2010 Freescale Semiconductor, Inc. 4 * 5 * This program is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU General Public License 7 * as published by the Free Software Foundation; either version 8 * 2 of the License, or (at your option) any later version. --- 411 unchanged lines hidden (view full) --- 420} 421#elif defined(CONFIG_E500) 422int machine_check_e500mc(struct pt_regs *regs) 423{ 424 unsigned long mcsr = mfspr(SPRN_MCSR); 425 unsigned long reason = mcsr; 426 int recoverable = 1; 427 |
428 if (reason & MCSR_BUS_RBERR) { | 428 if (reason & MCSR_LD) { |
429 recoverable = fsl_rio_mcheck_exception(regs); 430 if (recoverable == 1) 431 goto silent_out; 432 } 433 434 printk("Machine check in kernel mode.\n"); 435 printk("Caused by (from MCSR=%lx): ", reason); 436 --- 1155 unchanged lines hidden --- | 429 recoverable = fsl_rio_mcheck_exception(regs); 430 if (recoverable == 1) 431 goto silent_out; 432 } 433 434 printk("Machine check in kernel mode.\n"); 435 printk("Caused by (from MCSR=%lx): ", reason); 436 --- 1155 unchanged lines hidden --- |