1693c819fSH. Peter Anvin // SPDX-License-Identifier: GPL-2.0-only 2693c819fSH. Peter Anvin /* 3693c819fSH. Peter Anvin * Copyright 2006 Andi Kleen, SUSE Labs. 4693c819fSH. Peter Anvin * 5693c819fSH. Peter Anvin * Fast user context implementation of getcpu() 6693c819fSH. Peter Anvin */ 7693c819fSH. Peter Anvin 8693c819fSH. Peter Anvin #include <linux/kernel.h> 9693c819fSH. Peter Anvin #include <asm/segment.h> 10693c819fSH. Peter Anvin #include <vdso/processor.h> 11693c819fSH. Peter Anvin 12693c819fSH. Peter Anvin notrace long 13*6f7e6393SLinus Torvalds __vdso_getcpu(unsigned *cpu, unsigned *node, void *unused) 14693c819fSH. Peter Anvin { 15693c819fSH. Peter Anvin vdso_read_cpunode(cpu, node); 16693c819fSH. Peter Anvin 17693c819fSH. Peter Anvin return 0; 18693c819fSH. Peter Anvin } 19693c819fSH. Peter Anvin 20*6f7e6393SLinus Torvalds long getcpu(unsigned *cpu, unsigned *node, void *tcache) 21693c819fSH. Peter Anvin __attribute__((weak, alias("__vdso_getcpu"))); 22