diff options
Diffstat (limited to 'arch/powerpc/include/asm/cache.h')
-rw-r--r-- | arch/powerpc/include/asm/cache.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/cache.h b/arch/powerpc/include/asm/cache.h index 9e495c9a6a88..ed0afc1e44a4 100644 --- a/arch/powerpc/include/asm/cache.h +++ b/arch/powerpc/include/asm/cache.h | |||
@@ -41,8 +41,20 @@ struct ppc64_caches { | |||
41 | extern struct ppc64_caches ppc64_caches; | 41 | extern struct ppc64_caches ppc64_caches; |
42 | #endif /* __powerpc64__ && ! __ASSEMBLY__ */ | 42 | #endif /* __powerpc64__ && ! __ASSEMBLY__ */ |
43 | 43 | ||
44 | #if !defined(__ASSEMBLY__) | 44 | #if defined(__ASSEMBLY__) |
45 | /* | ||
46 | * For a snooping icache, we still need a dummy icbi to purge all the | ||
47 | * prefetched instructions from the ifetch buffers. We also need a sync | ||
48 | * before the icbi to order the the actual stores to memory that might | ||
49 | * have modified instructions with the icbi. | ||
50 | */ | ||
51 | #define PURGE_PREFETCHED_INS \ | ||
52 | sync; \ | ||
53 | icbi 0,r3; \ | ||
54 | sync; \ | ||
55 | isync | ||
45 | 56 | ||
57 | #else | ||
46 | #define __read_mostly __attribute__((__section__(".data..read_mostly"))) | 58 | #define __read_mostly __attribute__((__section__(".data..read_mostly"))) |
47 | 59 | ||
48 | #ifdef CONFIG_6xx | 60 | #ifdef CONFIG_6xx |