cpu_entry_area
#define CPU_ENTRY_AREA_SIZE (sizeof(struct cpu_entry_area))
DECLARE_PER_CPU(struct cpu_entry_area *, cpu_entry_area);
extern struct cpu_entry_area *get_cpu_entry_area(int cpu);
#define CPU_ENTRY_AREA_PAGES (NR_CPUS * DIV_ROUND_UP(sizeof(struct cpu_entry_area), PAGE_SIZE))
OFFSET(CPU_ENTRY_AREA_entry_stack, cpu_entry_area, entry_stack_page);
offsetof(struct cpu_entry_area, tss.x86_tss.sp1) -
offsetofend(struct cpu_entry_area, entry_stack_page.stack));
DEFINE_PER_CPU(struct cpu_entry_area *, cpu_entry_area);
struct cpu_entry_area *cea = get_cpu_entry_area(cpu);
struct cpu_entry_area *cea = get_cpu_entry_area(raw_smp_processor_id());
struct cpu_entry_area *cea = get_cpu_entry_area(cpu);
struct cpu_entry_area *cea = get_cpu_entry_area(cpu);
struct cpu_entry_area *cea = get_cpu_entry_area(cpu);
per_cpu(cpu_entry_area, cpu) = cea;
noinstr struct cpu_entry_area *get_cpu_entry_area(int cpu)
BUILD_BUG_ON(sizeof(struct cpu_entry_area) % PAGE_SIZE != 0);
return (struct cpu_entry_area *) va;