Loading...
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#endif /* CONFIG_COMPAT */
32
33#endif /* !__ASSEMBLY__ */
34
35#endif /* CONFIG_MMU */
36
37#endif /* _ASM_RISCV_VDSO_H */