[PATCH] ARC: Memory barriers for everyone!
Jose Abreu
Jose.Abreu at synopsys.com
Thu Oct 12 08:49:17 PDT 2017
Hi Vineet,
Ping!
On 13-09-2017 12:24, Jose Abreu wrote:
> By default __iormb() and __iowmb() translate into a do { } while(0) for
> AXS10x platform. As ARC700 supports the sync op we can use the standard
> memory barriers that are supplied by asm-generic headers.
>
> Signed-off-by: Jose Abreu <joabreu at synopsys.com>
> Cc: Vineet Gupta <vgupta at synopsys.com>
> Cc: Alexey Brodkin <abrodkin at synopsys.com>
> Cc: Joao Pinto <jpinto at synopsys.com>
> ---
> Hi Vineet,
>
> This is the final patch for the series which should fix all the stacktracing
> mechanism for Bus Error messages. In this one we force memory barriers for
> all IO operations which will prevent op reordering by gcc and which will
> *really* correct blink and eret regs to show where exactly the error happened.
>
> With this fix I get a correct stacktrace upon a readl() from a non-existent
> register which causes a Bus Error. Without this, I would get non-correct
> blink and eret addresses because the ld operation would launch a bus error
> way after we performed readl().
>
> I am sending this but I'm not exactly sure if all platforms support
> the sync op. Could you confirm this?
>
> Best regards,
> Jose Miguel Abreu
> ---
> arch/arc/include/asm/io.h | 7 +------
> 1 file changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/arch/arc/include/asm/io.h b/arch/arc/include/asm/io.h
> index c22b181..712defd 100644
> --- a/arch/arc/include/asm/io.h
> +++ b/arch/arc/include/asm/io.h
> @@ -12,15 +12,10 @@
> #include <linux/types.h>
> #include <asm/byteorder.h>
> #include <asm/page.h>
> -
> -#ifdef CONFIG_ISA_ARCV2
> #include <asm/barrier.h>
> +
> #define __iormb() rmb()
> #define __iowmb() wmb()
> -#else
> -#define __iormb() do { } while (0)
> -#define __iowmb() do { } while (0)
> -#endif
>
> extern void __iomem *ioremap(phys_addr_t paddr, unsigned long size);
> extern void __iomem *ioremap_prot(phys_addr_t paddr, unsigned long size,
More information about the linux-snps-arc
mailing list