[1/1] powerpc/traps : Updated MC for E6500 L1D cache err
Scott Wood
oss at buserror.net
Sun Apr 30 17:01:44 AEST 2017
On Thu, Apr 27, 2017 at 12:59:40PM -0500, Matt Weber wrote:
> This patch updates the machine check handler of Linux kernel to
> handle the e6500 architecture case. In e6500 core, L1 Data Cache Write
> Shadow Mode (DCWS) register is not implemented but L1 data cache always
> runs in write shadow mode. So, on L1 data cache parity errors, hardware
> will automatically invalidate the data cache but will still log a
> machine check interrupt.
>
> Signed-off-by: Ronak Desai <ronak.desai at rockwellcollins.com>
> Signed-off-by: Matthew Weber <matthew.weber at rockwellcollins.com>
> ---
> arch/powerpc/include/asm/reg_booke.h | 1 +
> arch/powerpc/kernel/traps.c | 12 ++++++++++--
> 2 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/reg_booke.h b/arch/powerpc/include/asm/reg_booke.h
> index 737e012..c811128 100644
> --- a/arch/powerpc/include/asm/reg_booke.h
> +++ b/arch/powerpc/include/asm/reg_booke.h
> @@ -196,6 +196,7 @@
> #define SPRN_DEAR 0x03D /* Data Error Address Register */
> #define SPRN_ESR 0x03E /* Exception Syndrome Register */
> #define SPRN_PIR 0x11E /* Processor Identification Register */
> +#define SPRN_PVR 0x11F /* Processor Version Register */
> #define SPRN_DBSR 0x130 /* Debug Status Register */
> #define SPRN_DBCR0 0x134 /* Debug Control Register 0 */
> #define SPRN_DBCR1 0x135 /* Debug Control Register 1 */
This is already defined in asm/reg.h
> @@ -545,8 +546,15 @@ int machine_check_e500mc(struct pt_regs *regs)
> * may still get logged and cause a machine check. We should
> * only treat the non-write shadow case as non-recoverable.
> */
> - if (!(mfspr(SPRN_L1CSR2) & L1CSR2_DCWS))
> - recoverable = 0;
> + /* On e6500 core, L1 DCWS (Data cache write shadow mode) bit is
> + * not implemented but L1 data cache is by default configured
> + * to run in write shadow mode. Hence on data cache parity errors
> + * HW will automatically invalidate the L1 Data Cache.
> + */
Please wrap at under 80 columns.
"default" implies it can be changed, so:
s/is by default configured to run in write shadow mode/always runs in
write shadow mode/
Otherwise looks good.
-Scott
More information about the Linuxppc-dev
mailing list