xref: /openbmc/linux/arch/x86/entry/vdso/vgetcpu.c (revision 3e0bd4dd)
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>
1092d33063SSebastian Andrzej Siewior #include <asm/segment.h>
11*3e0bd4ddSArnd Bergmann #include <vdso/processor.h>
12d603c8e1SIngo Molnar 
13d603c8e1SIngo Molnar notrace long
__vdso_getcpu(unsigned * cpu,unsigned * node,struct getcpu_cache * unused)14d603c8e1SIngo Molnar __vdso_getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *unused)
15d603c8e1SIngo Molnar {
1622245bdfSIngo Molnar 	vdso_read_cpunode(cpu, node);
17ec3a9418SIngo Molnar 
18d603c8e1SIngo Molnar 	return 0;
19d603c8e1SIngo Molnar }
20d603c8e1SIngo Molnar 
21d603c8e1SIngo Molnar long getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *tcache)
22d603c8e1SIngo Molnar 	__attribute__((weak, alias("__vdso_getcpu")));
23