blob: c8043a16152e31fc52d3a48c32ae94ec2155eed9 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * include/asm-x8664/cache.h
3 */
4#ifndef __ARCH_X8664_CACHE_H
5#define __ARCH_X8664_CACHE_H
6
7#include <linux/config.h>
8
9/* L1 cache line size */
10#define L1_CACHE_SHIFT (CONFIG_X86_L1_CACHE_SHIFT)
11#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
Linus Torvalds1da177e2005-04-16 15:20:36 -070012
Ravikiran G Thirumalai5fd63b32006-01-11 22:46:15 +010013#ifdef CONFIG_X86_VSMP
14
15/* vSMP Internode cacheline shift */
16#define INTERNODE_CACHE_SHIFT (12)
17#ifdef CONFIG_SMP
18#define __cacheline_aligned_in_smp \
19 __attribute__((__aligned__(1 << (INTERNODE_CACHE_SHIFT)))) \
20 __attribute__((__section__(".data.page_aligned")))
21#endif
22
Kyle McMartin804f1592006-03-23 03:00:16 -080023#define __read_mostly __attribute__((__section__(".data.read_mostly")))
24
Ravikiran G Thirumalai5fd63b32006-01-11 22:46:15 +010025#endif
26
Linus Torvalds1da177e2005-04-16 15:20:36 -070027#endif