blob: 988254a7d34944d5e0cc8f22bb66823af349c86f [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _ASM_IA64_CACHE_H
2#define _ASM_IA64_CACHE_H
3
Linus Torvalds1da177e2005-04-16 15:20:36 -07004
5/*
6 * Copyright (C) 1998-2000 Hewlett-Packard Co
7 * David Mosberger-Tang <davidm@hpl.hp.com>
8 */
9
10/* Bytes per L1 (data) cache line. */
11#define L1_CACHE_SHIFT CONFIG_IA64_L1_CACHE_SHIFT
12#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
13
Linus Torvalds1da177e2005-04-16 15:20:36 -070014#ifdef CONFIG_SMP
15# define SMP_CACHE_SHIFT L1_CACHE_SHIFT
16# define SMP_CACHE_BYTES L1_CACHE_BYTES
17#else
18 /*
19 * The "aligned" directive can only _increase_ alignment, so this is
20 * safe and provides an easy way to avoid wasting space on a
21 * uni-processor:
22 */
23# define SMP_CACHE_SHIFT 3
24# define SMP_CACHE_BYTES (1 << 3)
25#endif
26
Denys Vlasenko54cb27a2010-02-20 01:03:44 +010027#define __read_mostly __attribute__((__section__(".data..read_mostly")))
Kyle McMartin804f1592006-03-23 03:00:16 -080028
Linus Torvalds1da177e2005-04-16 15:20:36 -070029#endif /* _ASM_IA64_CACHE_H */