[PATCH 3/3] Initial cut to add __read_mostly support for powerpc.
From: Tony Breeds <hidden>
Date: 2007-07-04 04:04:16
Signed-off-by: Tony Breeds <redacted> --- This didn't get musch feedback the first time I posted it, so it's either perfect ;P or it got missed. arch/powerpc/kernel/vmlinux.lds.S | 6 ++++++ include/asm-powerpc/cache.h | 2 ++ 2 files changed, 8 insertions(+) Index: working/arch/powerpc/kernel/vmlinux.lds.S ===================================================================
--- working.orig/arch/powerpc/kernel/vmlinux.lds.S
+++ working/arch/powerpc/kernel/vmlinux.lds.S@@ -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: working/include/asm-powerpc/cache.h ===================================================================
--- working.orig/include/asm-powerpc/cache.h
+++ working/include/asm-powerpc/cache.h@@ -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 */