17e300dabSThomas Gleixner // SPDX-License-Identifier: GPL-2.0-only 2d603c8e1SIngo Molnar /* 3d603c8e1SIngo Molnar * Copyright 2006 Andi Kleen, SUSE Labs. 4d603c8e1SIngo Molnar * 5d603c8e1SIngo Molnar * Fast user context implementation of getcpu() 6d603c8e1SIngo Molnar */ 7d603c8e1SIngo Molnar 8d603c8e1SIngo Molnar #include <linux/kernel.h> 9d603c8e1SIngo Molnar #include <linux/getcpu.h> 10*92d33063SSebastian Andrzej Siewior #include <asm/segment.h> 11d603c8e1SIngo Molnar 12d603c8e1SIngo Molnar notrace long 13d603c8e1SIngo Molnar __vdso_getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *unused) 14d603c8e1SIngo Molnar { 1522245bdfSIngo Molnar vdso_read_cpunode(cpu, node); 16ec3a9418SIngo Molnar 17d603c8e1SIngo Molnar return 0; 18d603c8e1SIngo Molnar } 19d603c8e1SIngo Molnar 20d603c8e1SIngo Molnar long getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *tcache) 21d603c8e1SIngo Molnar __attribute__((weak, alias("__vdso_getcpu"))); 22