leon: add SDK patches from buildroot-2022.02-1.2/5.10.175
[openwrt/staging/wigyori.git] / target / linux / leon / patches-5.15 / 0019-sparc32-leon-Align-flush-instructions-for-N2X.patch
1 From df597fceec1f0443b134c87b0b4bdd4843d66fb3 Mon Sep 17 00:00:00 2001
2 From: Andreas Larsson <andreas@gaisler.com>
3 Date: Wed, 5 Apr 2017 15:42:18 +0200
4 Subject: [PATCH 19/32] sparc32: leon: Align flush instructions for N2X
5
6 Signed-off-by: Andreas Larsson <andreas@gaisler.com>
7 ---
8 arch/sparc/include/asm/cacheflush.h | 2 +-
9 arch/sparc/mm/leon_mm.c | 4 ++--
10 2 files changed, 3 insertions(+), 3 deletions(-)
11
12 diff --git a/arch/sparc/include/asm/cacheflush.h b/arch/sparc/include/asm/cacheflush.h
13 index 881ac76eab93..a887f90c0006 100644
14 --- a/arch/sparc/include/asm/cacheflush.h
15 +++ b/arch/sparc/include/asm/cacheflush.h
16 @@ -3,7 +3,7 @@
17 #define ___ASM_SPARC_CACHEFLUSH_H
18
19 /* flush addr - to allow use of self-modifying code */
20 -#define flushi(addr) __asm__ __volatile__ ("flush %0" : : "r" (addr) : "memory")
21 +#define flushi(addr) __asm__ __volatile__ (".align 32\nflush %0\n.align 32\n" : : "r" (addr) : "memory")
22
23 #if defined(__sparc__) && defined(__arch64__)
24 #include <asm/cacheflush_64.h>
25 diff --git a/arch/sparc/mm/leon_mm.c b/arch/sparc/mm/leon_mm.c
26 index d894a57a6ab3..f8ac99759ed3 100644
27 --- a/arch/sparc/mm/leon_mm.c
28 +++ b/arch/sparc/mm/leon_mm.c
29 @@ -183,7 +183,7 @@ unsigned long leon_swprobe(unsigned long vaddr, unsigned long *paddr)
30
31 void leon_flush_icache_all(void)
32 {
33 - __asm__ __volatile__(" flush "); /*iflush*/
34 + __asm__ __volatile__(".align 32\nflush\n.align 32\n"); /*iflush*/
35 }
36
37 void leon_flush_dcache_all(void)
38 @@ -201,7 +201,7 @@ void leon_flush_pcache_all(struct vm_area_struct *vma, unsigned long page)
39
40 void leon_flush_cache_all(void)
41 {
42 - __asm__ __volatile__(" flush "); /*iflush*/
43 + __asm__ __volatile__(".align 32\nflush\n.align 32\n"); /*iflush*/
44 __asm__ __volatile__("sta %%g0, [%%g0] %0\n\t" : :
45 "i"(ASI_LEON_DFLUSH) : "memory");
46 }
47 --
48 2.34.1
49