blob: 4eb6f742d14f592a6b57ed55dab27de2a71c4ac0 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Linus Torvalds1da177e2005-04-16 15:20:36 -07002#ifndef _ASM_IA64_CACHE_H
3#define _ASM_IA64_CACHE_H
4
Linus Torvalds1da177e2005-04-16 15:20:36 -07005
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
Denys Vlasenko54cb27a2010-02-20 01:03:44 +010028#define __read_mostly __attribute__((__section__(".data..read_mostly")))
Kyle McMartin804f1592006-03-23 03:00:16 -080029
Linus Torvalds1da177e2005-04-16 15:20:36 -070030#endif /* _ASM_IA64_CACHE_H */