111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef __LINUX_CACHE_H
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __LINUX_CACHE_H
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/kernel.h>
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <asm/cache.h>
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef L1_CACHE_ALIGN
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define L1_CACHE_ALIGN(x) ALIGN(x, L1_CACHE_BYTES)
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef SMP_CACHE_BYTES
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SMP_CACHE_BYTES L1_CACHE_BYTES
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef __read_mostly
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __read_mostly
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef ____cacheline_aligned
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES)))
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef ____cacheline_aligned_in_smp
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ____cacheline_aligned_in_smp
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef __cacheline_aligned
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __cacheline_aligned   __attribute__((__aligned__(SMP_CACHE_BYTES),   __section__(".data.cacheline_aligned")))
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef __cacheline_aligned_in_smp
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define __cacheline_aligned_in_smp
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef INTERNODE_CACHE_SHIFT
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define INTERNODE_CACHE_SHIFT L1_CACHE_SHIFT
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef ____cacheline_internodealigned_in_smp
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ____cacheline_internodealigned_in_smp
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
55