diff options
| -rw-r--r-- | arch/powerpc/kernel/vmlinux.lds.S | 6 | ||||
| -rw-r--r-- | include/asm-powerpc/cache.h | 4 | 
2 files changed, 10 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S index 21c39ff2dc3..ae4acd84143 100644 --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/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 = .; diff --git a/include/asm-powerpc/cache.h b/include/asm-powerpc/cache.h index 642be62cf39..53507046a1b 100644 --- a/include/asm-powerpc/cache.h +++ b/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 */  |