Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 
0003 #ifndef __ASM_CSKY_VDSO_H
0004 #define __ASM_CSKY_VDSO_H
0005 
0006 #include <linux/types.h>
0007 
0008 #ifndef GENERIC_TIME_VSYSCALL
0009 struct vdso_data {
0010 };
0011 #endif
0012 
0013 /*
0014  * The VDSO symbols are mapped into Linux so we can just use regular symbol
0015  * addressing to get their offsets in userspace.  The symbols are mapped at an
0016  * offset of 0, but since the linker must support setting weak undefined
0017  * symbols to the absolute address 0 it also happens to support other low
0018  * addresses even when the code model suggests those low addresses would not
0019  * otherwise be available.
0020  */
0021 #define VDSO_SYMBOL(base, name)                         \
0022 ({                                      \
0023     extern const char __vdso_##name[];                  \
0024     (void __user *)((unsigned long)(base) + __vdso_##name);         \
0025 })
0026 
0027 #endif /* __ASM_CSKY_VDSO_H */