mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-09 22:50:41 +00:00
1f73897861
* 'for-35' of git://repo.or.cz/linux-kbuild: (81 commits) kbuild: Revert part of e8d400a to resolve a conflict kbuild: Fix checking of scm-identifier variable gconfig: add support to show hidden options that have prompts menuconfig: add support to show hidden options which have prompts gconfig: remove show_debug option gconfig: remove dbg_print_ptype() and dbg_print_stype() kconfig: fix zconfdump() kconfig: some small fixes add random binaries to .gitignore kbuild: Include gen_initramfs_list.sh and the file list in the .d file kconfig: recalc symbol value before showing search results .gitignore: ignore *.lzo files headerdep: perlcritic warning scripts/Makefile.lib: Align the output of LZO kbuild: Generate modules.builtin in make modules_install Revert "kbuild: specify absolute paths for cscope" kbuild: Do not unnecessarily regenerate modules.builtin headers_install: use local file handles headers_check: fix perl warnings export_report: fix perl warnings ...
55 lines
1.3 KiB
C
55 lines
1.3 KiB
C
#ifndef _ASM_IA64_PERCPU_H
|
|
#define _ASM_IA64_PERCPU_H
|
|
|
|
/*
|
|
* Copyright (C) 2002-2003 Hewlett-Packard Co
|
|
* David Mosberger-Tang <davidm@hpl.hp.com>
|
|
*/
|
|
|
|
#define PERCPU_ENOUGH_ROOM PERCPU_PAGE_SIZE
|
|
|
|
#ifdef __ASSEMBLY__
|
|
# define THIS_CPU(var) (var) /* use this to mark accesses to per-CPU variables... */
|
|
#else /* !__ASSEMBLY__ */
|
|
|
|
|
|
#include <linux/threads.h>
|
|
|
|
#ifdef CONFIG_SMP
|
|
|
|
#ifdef HAVE_MODEL_SMALL_ATTRIBUTE
|
|
# define PER_CPU_ATTRIBUTES __attribute__((__model__ (__small__)))
|
|
#endif
|
|
|
|
#define __my_cpu_offset __ia64_per_cpu_var(local_per_cpu_offset)
|
|
|
|
extern void *per_cpu_init(void);
|
|
|
|
#else /* ! SMP */
|
|
|
|
#define per_cpu_init() (__phys_per_cpu_start)
|
|
|
|
#endif /* SMP */
|
|
|
|
#define PER_CPU_BASE_SECTION ".data..percpu"
|
|
|
|
/*
|
|
* Be extremely careful when taking the address of this variable! Due to virtual
|
|
* remapping, it is different from the canonical address returned by __get_cpu_var(var)!
|
|
* On the positive side, using __ia64_per_cpu_var() instead of __get_cpu_var() is slightly
|
|
* more efficient.
|
|
*/
|
|
#define __ia64_per_cpu_var(var) (*({ \
|
|
__verify_pcpu_ptr(&(var)); \
|
|
((typeof(var) __kernel __force *)&(var)); \
|
|
}))
|
|
|
|
#include <asm-generic/percpu.h>
|
|
|
|
/* Equal to __per_cpu_offset[smp_processor_id()], but faster to access: */
|
|
DECLARE_PER_CPU(unsigned long, local_per_cpu_offset);
|
|
|
|
#endif /* !__ASSEMBLY__ */
|
|
|
|
#endif /* _ASM_IA64_PERCPU_H */
|