#ifndef __ARCH_I386_PERCPU__ | |
#define __ARCH_I386_PERCPU__ | |
#ifndef __ASSEMBLY__ | |
#include <asm-generic/percpu.h> | |
#else | |
/* | |
* PER_CPU finds an address of a per-cpu variable. | |
* | |
* Args: | |
* var - variable name | |
* cpu - 32bit register containing the current CPU number | |
* | |
* The resulting address is stored in the "cpu" argument. | |
* | |
* Example: | |
* PER_CPU(cpu_gdt_descr, %ebx) | |
*/ | |
#ifdef CONFIG_SMP | |
#define PER_CPU(var, cpu) \ | |
movl __per_cpu_offset(,cpu,4), cpu; \ | |
addl $per_cpu__/**/var, cpu; | |
#else /* ! SMP */ | |
#define PER_CPU(var, cpu) \ | |
movl $per_cpu__/**/var, cpu; | |
#endif /* SMP */ | |
#endif /* !__ASSEMBLY__ */ | |
#endif /* __ARCH_I386_PERCPU__ */ |