[POWERPC] Add __read_mostly support for powerpc
authorTony Breeds <tony@bakeyournoodle.com>
Wed, 4 Jul 2007 04:04:31 +0000 (14:04 +1000)
committerPaul Mackerras <paulus@samba.org>
Tue, 10 Jul 2007 12:00:56 +0000 (22:00 +1000)
Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/kernel/vmlinux.lds.S
include/asm-powerpc/cache.h

index 21c39ff2dc39b41c52d0ea04fb66defab5786118..ae4acd84143d91859a418e20229bfcb32589a28e 100644 (file)
@@ -7,6 +7,7 @@
 #define PROVIDE32(x)   PROVIDE(x)
 #endif
 #include <asm-generic/vmlinux.lds.h>
+#include <asm/cache.h>
 
 ENTRY(_stext)
 
@@ -211,6 +212,11 @@ SECTIONS
                *(.data.cacheline_aligned)
        }
 
+       . = ALIGN(L1_CACHE_BYTES);
+       .data.read_mostly : {
+               *(.data.read_mostly)
+       }
+
        . = ALIGN(PAGE_SIZE);
        __data_nosave : {
                __nosave_begin = .;
index 642be62cf393cd468b61b04e5adb4d87f23f7c07..53507046a1b101adcbda66dad89fc715ad9d0908 100644 (file)
@@ -34,5 +34,9 @@ struct ppc64_caches {
 extern struct ppc64_caches ppc64_caches;
 #endif /* __powerpc64__ && ! __ASSEMBLY__ */
 
+#if !defined(__ASSEMBLY__)
+#define __read_mostly __attribute__((__section__(".data.read_mostly")))
+#endif
+
 #endif /* __KERNEL__ */
 #endif /* _ASM_POWERPC_CACHE_H */