Blame view

kernel/linux-imx6_3.14.28/arch/x86/vdso/vgetcpu.c 625 Bytes
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  /*
   * Copyright 2006 Andi Kleen, SUSE Labs.
   * Subject to the GNU Public License, v.2
   *
   * Fast user context implementation of getcpu()
   */
  
  #include <linux/kernel.h>
  #include <linux/getcpu.h>
  #include <linux/jiffies.h>
  #include <linux/time.h>
  #include <asm/vsyscall.h>
  #include <asm/vgtod.h>
  
  notrace long
  __vdso_getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *unused)
  {
  	unsigned int p;
  
  	p = __getcpu();
  
  	if (cpu)
  		*cpu = p & VGETCPU_CPU_MASK;
  	if (node)
  		*node = p >> 12;
  	return 0;
  }
  
  long getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *tcache)
  	__attribute__((weak, alias("__vdso_getcpu")));