Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v2.6.21-rc2 31 lines 658 B view raw
1#ifndef __ARCH_I386_PERCPU__ 2#define __ARCH_I386_PERCPU__ 3 4#ifndef __ASSEMBLY__ 5#include <asm-generic/percpu.h> 6#else 7 8/* 9 * PER_CPU finds an address of a per-cpu variable. 10 * 11 * Args: 12 * var - variable name 13 * cpu - 32bit register containing the current CPU number 14 * 15 * The resulting address is stored in the "cpu" argument. 16 * 17 * Example: 18 * PER_CPU(cpu_gdt_descr, %ebx) 19 */ 20#ifdef CONFIG_SMP 21#define PER_CPU(var, cpu) \ 22 movl __per_cpu_offset(,cpu,4), cpu; \ 23 addl $per_cpu__/**/var, cpu; 24#else /* ! SMP */ 25#define PER_CPU(var, cpu) \ 26 movl $per_cpu__/**/var, cpu; 27#endif /* SMP */ 28 29#endif /* !__ASSEMBLY__ */ 30 31#endif /* __ARCH_I386_PERCPU__ */