162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2012 ARM Limited 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci#ifndef __ASM_VDSO_H 662306a36Sopenharmony_ci#define __ASM_VDSO_H 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/* 962306a36Sopenharmony_ci * Default link address for the vDSO. 1062306a36Sopenharmony_ci * Since we randomise the VDSO mapping, there's little point in trying 1162306a36Sopenharmony_ci * to prelink this. 1262306a36Sopenharmony_ci */ 1362306a36Sopenharmony_ci#define VDSO_LBASE 0x0 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci#define __VVAR_PAGES 2 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci#ifndef __ASSEMBLY__ 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci#include <generated/vdso-offsets.h> 2062306a36Sopenharmony_ci#ifdef CONFIG_COMPAT_VDSO 2162306a36Sopenharmony_ci#include <generated/vdso32-offsets.h> 2262306a36Sopenharmony_ci#endif 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci#define VDSO_SYMBOL(base, name) \ 2562306a36Sopenharmony_ci({ \ 2662306a36Sopenharmony_ci (void *)(vdso_offset_##name - VDSO_LBASE + (unsigned long)(base)); \ 2762306a36Sopenharmony_ci}) 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ciextern char vdso_start[], vdso_end[]; 3062306a36Sopenharmony_ciextern char vdso32_start[], vdso32_end[]; 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci#endif /* !__ASSEMBLY__ */ 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci#endif /* __ASM_VDSO_H */ 35