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 (__s390x__)
29#define VDSO_VERSION 2
30#define VDSO_NAMES 0
31#elif defined(__mips__)
32#define VDSO_VERSION 0
33#define VDSO_NAMES 1
34#define VDSO_32BIT 1
35#elif defined(__sparc__)
36#define VDSO_VERSION 0
37#define VDSO_NAMES 1
38#define VDSO_32BIT 1
39#elif defined(__i386__)
40#define VDSO_VERSION 0
41#define VDSO_NAMES 1
42#define VDSO_32BIT 1
43#elif defined(__x86_64__)
44#define VDSO_VERSION 0
45#define VDSO_NAMES 1
46#elif defined(__riscv__) || defined(__riscv)
47#define VDSO_VERSION 5
48#define VDSO_NAMES 1
49#if __riscv_xlen == 32
50#define VDSO_32BIT 1
51#endif
52#elif defined(__loongarch__)
53#define VDSO_VERSION 6
54#define VDSO_NAMES 1
55#endif
56
57__attribute__((unused))
58static const char *versions[7] = {
59 "LINUX_2.6",
60 "LINUX_2.6.15",
61 "LINUX_2.6.29",
62 "LINUX_2.6.39",
63 "LINUX_4",
64 "LINUX_4.15",
65 "LINUX_5.10"
66};
67
68__attribute__((unused))
69static const char *names[2][7] = {
70 {
71 "__kernel_gettimeofday",
72 "__kernel_clock_gettime",
73 "__kernel_time",
74 "__kernel_clock_getres",
75 "__kernel_getcpu",
76 "__kernel_clock_gettime64",
77 "__kernel_getrandom",
78 },
79 {
80 "__vdso_gettimeofday",
81 "__vdso_clock_gettime",
82 "__vdso_time",
83 "__vdso_clock_getres",
84 "__vdso_getcpu",
85 "__vdso_clock_gettime64",
86 "__vdso_getrandom",
87 },
88};
89
90#endif /* __VDSO_CONFIG_H__ */