Merge patch series "Use block pr_ops in LIO"
[platform/kernel/linux-rpi.git] / arch / riscv / include / asm / vdso.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) 2012 ARM Limited
4  * Copyright (C) 2014 Regents of the University of California
5  * Copyright (C) 2017 SiFive
6  */
7
8 #ifndef _ASM_RISCV_VDSO_H
9 #define _ASM_RISCV_VDSO_H
10
11 /*
12  * All systems with an MMU have a VDSO, but systems without an MMU don't
13  * support shared libraries and therefore don't have one.
14  */
15 #ifdef CONFIG_MMU
16
17 #define __VVAR_PAGES    2
18
19 #ifndef __ASSEMBLY__
20 #include <generated/vdso-offsets.h>
21
22 #define VDSO_SYMBOL(base, name)                                                 \
23         (void __user *)((unsigned long)(base) + __vdso_##name##_offset)
24
25 #ifdef CONFIG_COMPAT
26 #include <generated/compat_vdso-offsets.h>
27
28 #define COMPAT_VDSO_SYMBOL(base, name)                                          \
29         (void __user *)((unsigned long)(base) + compat__vdso_##name##_offset)
30
31 extern char compat_vdso_start[], compat_vdso_end[];
32
33 #endif /* CONFIG_COMPAT */
34
35 extern char vdso_start[], vdso_end[];
36
37 #endif /* !__ASSEMBLY__ */
38
39 #endif /* CONFIG_MMU */
40
41 #endif /* _ASM_RISCV_VDSO_H */