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(__powerpc64__)
22#define VDSO_VERSION 1
23#define VDSO_NAMES 0
24#elif defined(__powerpc__)
25#define VDSO_VERSION 1
26#define VDSO_NAMES 0
27#define VDSO_32BIT 1
28#elif defined (__s390__) && !defined(__s390x__)
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#elif defined(__loongarch__)
57#define VDSO_VERSION 6
58#define VDSO_NAMES 1
59#endif
60
61static const char *versions[7] = {
62 "LINUX_2.6",
63 "LINUX_2.6.15",
64 "LINUX_2.6.29",
65 "LINUX_2.6.39",
66 "LINUX_4",
67 "LINUX_4.15",
68 "LINUX_5.10"
69};
70
71static const char *names[2][7] = {
72 {
73 "__kernel_gettimeofday",
74 "__kernel_clock_gettime",
75 "__kernel_time",
76 "__kernel_clock_getres",
77 "__kernel_getcpu",
78 "__kernel_clock_gettime64",
79 "__kernel_getrandom",
80 },
81 {
82 "__vdso_gettimeofday",
83 "__vdso_clock_gettime",
84 "__vdso_time",
85 "__vdso_clock_getres",
86 "__vdso_getcpu",
87 "__vdso_clock_gettime64",
88 "__vdso_getrandom",
89 },
90};
91
92#endif /* __VDSO_CONFIG_H__ */