Re: [PATCH v11 03/10] sparc64: Add support for ADI register fields, ASIs and traps

From: Joe Perches
Date: Thu Feb 01 2018 - 15:32:16 EST


On Thu, 2018-02-01 at 11:01 -0700, Khalid Aziz wrote:
> diff --git a/arch/sparc/include/asm/pgtable_64.h b/arch/sparc/include/asm/pgtable_64.h
[]
> @@ -164,6 +164,8 @@ bool kern_addr_valid(unsigned long addr);
> #define _PAGE_E_4V _AC(0x0000000000000800,UL) /* side-Effect */
> #define _PAGE_CP_4V _AC(0x0000000000000400,UL) /* Cacheable in P-Cache */
> #define _PAGE_CV_4V _AC(0x0000000000000200,UL) /* Cacheable in V-Cache */
> +/* Bit 9 is used to enable MCD corruption detection instead on M7 */
> +#define _PAGE_MCD_4V _AC(0x0000000000000200,UL) /* Memory Corruption */

trivia:

There are some whitespace alignment issues here

> diff --git a/arch/sparc/include/asm/ttable.h b/arch/sparc/include/asm/ttable.h
[]
> @@ -219,6 +219,16 @@
> nop; \
> nop;
>
> +#define SUN4V_MCD_PRECISE \
> + ldxa [%g0] ASI_SCRATCHPAD, %g2; \
> + ldx [%g2 + HV_FAULT_D_ADDR_OFFSET], %g4; \
> + ldx [%g2 + HV_FAULT_D_CTX_OFFSET], %g5; \
> + ba,pt %xcc, etrap; \
> + rd %pc, %g7; \
> + ba,pt %xcc, sun4v_mcd_detect_precise; \
> + nop; \
> + nop;

and here and elsewhere.

It would be nicer to make all these use
similar indentation.

> diff --git a/arch/sparc/kernel/sun4v_mcd.S b/arch/sparc/kernel/sun4v_mcd.S
[]
> +sun4v_mcd_detect_precise:
> + mov %l4, %o1
> + mov %l5, %o2
> + call sun4v_mem_corrupt_detect_precise
> + add %sp, PTREGS_OFF, %o0
> + ba,a,pt %xcc, rtrap
> + nop

etc...