]> Git Repo - linux.git/blob - arch/csky/include/asm/vdso.h
Linux 6.14-rc3
[linux.git] / arch / csky / include / asm / vdso.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2
3 #ifndef __ASM_CSKY_VDSO_H
4 #define __ASM_CSKY_VDSO_H
5
6 #include <linux/types.h>
7
8 /*
9  * The VDSO symbols are mapped into Linux so we can just use regular symbol
10  * addressing to get their offsets in userspace.  The symbols are mapped at an
11  * offset of 0, but since the linker must support setting weak undefined
12  * symbols to the absolute address 0 it also happens to support other low
13  * addresses even when the code model suggests those low addresses would not
14  * otherwise be available.
15  */
16 #define VDSO_SYMBOL(base, name)                                                 \
17 ({                                                                              \
18         extern const char __vdso_##name[];                                      \
19         (void __user *)((unsigned long)(base) + __vdso_##name);                 \
20 })
21
22 #endif /* __ASM_CSKY_VDSO_H */
This page took 0.032535 seconds and 4 git commands to generate.