mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-22 00:40:03 +00:00
![Kyle McMartin](/assets/img/avatar_default.png)
Seems like needless clutter having a bunch of #if defined(CONFIG_$ARCH) in include/linux/cache.h. Move the per architecture section definition to asm/cache.h, and keep the if-not-defined dummy case in linux/cache.h to catch architectures which don't implement the section. Verified that symbols still go in .data.read_mostly on parisc, and the compile doesn't break. Signed-off-by: Kyle McMartin <kyle@parisc-linux.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
27 lines
629 B
C
27 lines
629 B
C
/*
|
|
* include/asm-x8664/cache.h
|
|
*/
|
|
#ifndef __ARCH_X8664_CACHE_H
|
|
#define __ARCH_X8664_CACHE_H
|
|
|
|
#include <linux/config.h>
|
|
|
|
/* L1 cache line size */
|
|
#define L1_CACHE_SHIFT (CONFIG_X86_L1_CACHE_SHIFT)
|
|
#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
|
|
|
|
#ifdef CONFIG_X86_VSMP
|
|
|
|
/* vSMP Internode cacheline shift */
|
|
#define INTERNODE_CACHE_SHIFT (12)
|
|
#ifdef CONFIG_SMP
|
|
#define __cacheline_aligned_in_smp \
|
|
__attribute__((__aligned__(1 << (INTERNODE_CACHE_SHIFT)))) \
|
|
__attribute__((__section__(".data.page_aligned")))
|
|
#endif
|
|
|
|
#define __read_mostly __attribute__((__section__(".data.read_mostly")))
|
|
|
|
#endif
|
|
|
|
#endif
|