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