blob: 549860d3be8f1e8bb856e084e7fac225e6d53045 [file] [log] [blame]
H. Peter Anvin1965aae2008-10-22 22:26:29 -07001#ifndef _ASM_X86_CACHE_H
2#define _ASM_X86_CACHE_H
Thomas Gleixner9bfa23d2007-10-15 23:28:20 +02003
Tim Abbottabe1ee32009-09-20 18:14:15 -04004#include <linux/linkage.h>
5
Thomas Gleixner9bfa23d2007-10-15 23:28:20 +02006/* L1 cache line size */
7#define L1_CACHE_SHIFT (CONFIG_X86_L1_CACHE_SHIFT)
8#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
9
10#define __read_mostly __attribute__((__section__(".data.read_mostly")))
11
12#ifdef CONFIG_X86_VSMP
13/* vSMP Internode cacheline shift */
14#define INTERNODE_CACHE_SHIFT (12)
15#ifdef CONFIG_SMP
16#define __cacheline_aligned_in_smp \
17 __attribute__((__aligned__(1 << (INTERNODE_CACHE_SHIFT)))) \
Tim Abbottabe1ee32009-09-20 18:14:15 -040018 __page_aligned_data
Thomas Gleixner9bfa23d2007-10-15 23:28:20 +020019#endif
20#endif
21
H. Peter Anvin1965aae2008-10-22 22:26:29 -070022#endif /* _ASM_X86_CACHE_H */