diff options
author | Tony Breeds <tony@bakeyournoodle.com> | 2007-07-04 14:04:31 +1000 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-07-10 22:00:56 +1000 |
commit | bd67fcf9ba8474e8eef649a79aba5b3479b01272 (patch) | |
tree | 589b6fb18c6c41c60863bb92ec85506b09e4d441 | |
parent | fc9069fe56d9594b7a6da0b9f9ca0eafd756260f (diff) | |
download | kernel_samsung_smdk4412-bd67fcf9ba8474e8eef649a79aba5b3479b01272.zip kernel_samsung_smdk4412-bd67fcf9ba8474e8eef649a79aba5b3479b01272.tar.gz kernel_samsung_smdk4412-bd67fcf9ba8474e8eef649a79aba5b3479b01272.tar.bz2 |
[POWERPC] Add __read_mostly support for powerpc
Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
-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 21c39ff..ae4acd8 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 642be62..5350704 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 */ |