Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * vdso_config.h: Configuration options for vDSO tests.
4 * Copyright (c) 2019 Arm Ltd.
5 */
6#ifndef __VDSO_CONFIG_H__
7#define __VDSO_CONFIG_H__
8
9/*
10 * Each architecture exports its vDSO implementation with different names
11 * and a different version from the others, so we need to handle it as a
12 * special case.
13 */
14#if defined(__arm__)
15#define VDSO_VERSION 0
16#define VDSO_NAMES 1
17#define VDSO_32BIT 1
18#elif defined(__aarch64__)
19#define VDSO_VERSION 3
20#define VDSO_NAMES 0
21#elif defined(__powerpc__)
22#define VDSO_VERSION 1
23#define VDSO_NAMES 0
24#define VDSO_32BIT 1
25#elif defined(__powerpc64__)
26#define VDSO_VERSION 1
27#define VDSO_NAMES 0
28#elif defined (__s390__)
29#define VDSO_VERSION 2
30#define VDSO_NAMES 0
31#define VDSO_32BIT 1
32#elif defined (__s390X__)
33#define VDSO_VERSION 2
34#define VDSO_NAMES 0
35#elif defined(__mips__)
36#define VDSO_VERSION 0
37#define VDSO_NAMES 1
38#define VDSO_32BIT 1
39#elif defined(__sparc__)
40#define VDSO_VERSION 0
41#define VDSO_NAMES 1
42#define VDSO_32BIT 1
43#elif defined(__i386__)
44#define VDSO_VERSION 0
45#define VDSO_NAMES 1
46#define VDSO_32BIT 1
47#elif defined(__x86_64__)
48#define VDSO_VERSION 0
49#define VDSO_NAMES 1
50#elif defined(__riscv__) || defined(__riscv)
51#define VDSO_VERSION 5
52#define VDSO_NAMES 1
53#if __riscv_xlen == 32
54#define VDSO_32BIT 1
55#endif
56#else /* nds32 */
57#define VDSO_VERSION 4
58#define VDSO_NAMES 1
59#define VDSO_32BIT 1
60#endif
61
62static const char *versions[6] = {
63 "LINUX_2.6",
64 "LINUX_2.6.15",
65 "LINUX_2.6.29",
66 "LINUX_2.6.39",
67 "LINUX_4",
68 "LINUX_4.15",
69};
70
71static const char *names[2][6] = {
72 {
73 "__kernel_gettimeofday",
74 "__kernel_clock_gettime",
75 "__kernel_time",
76 "__kernel_clock_getres",
77 "__kernel_getcpu",
78#if defined(VDSO_32BIT)
79 "__kernel_clock_gettime64",
80#endif
81 },
82 {
83 "__vdso_gettimeofday",
84 "__vdso_clock_gettime",
85 "__vdso_time",
86 "__vdso_clock_getres",
87 "__vdso_getcpu",
88#if defined(VDSO_32BIT)
89 "__vdso_clock_gettime64",
90#endif
91 },
92};
93
94#endif /* __VDSO_CONFIG_H__ */