162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#ifndef _ASM_POWERPC_VDSO_H 362306a36Sopenharmony_ci#define _ASM_POWERPC_VDSO_H 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#define VDSO_VERSION_STRING LINUX_2.6.15 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#ifndef __ASSEMBLY__ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#ifdef CONFIG_PPC64 1062306a36Sopenharmony_ci#include <generated/vdso64-offsets.h> 1162306a36Sopenharmony_ci#endif 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#ifdef CONFIG_VDSO32 1462306a36Sopenharmony_ci#include <generated/vdso32-offsets.h> 1562306a36Sopenharmony_ci#endif 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci#define VDSO64_SYMBOL(base, name) ((unsigned long)(base) + (vdso64_offset_##name)) 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci#define VDSO32_SYMBOL(base, name) ((unsigned long)(base) + (vdso32_offset_##name)) 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ciint vdso_getcpu_init(void); 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci#else /* __ASSEMBLY__ */ 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci#ifdef __VDSO64__ 2662306a36Sopenharmony_ci#define V_FUNCTION_BEGIN(name) \ 2762306a36Sopenharmony_ci .globl name; \ 2862306a36Sopenharmony_ci name: \ 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci#define V_FUNCTION_END(name) \ 3162306a36Sopenharmony_ci .size name,.-name; 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci#define V_LOCAL_FUNC(name) (name) 3462306a36Sopenharmony_ci#endif /* __VDSO64__ */ 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci#ifdef __VDSO32__ 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci#define V_FUNCTION_BEGIN(name) \ 3962306a36Sopenharmony_ci .globl name; \ 4062306a36Sopenharmony_ci .type name,@function; \ 4162306a36Sopenharmony_ci name: \ 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci#define V_FUNCTION_END(name) \ 4462306a36Sopenharmony_ci .size name,.-name; 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci#define V_LOCAL_FUNC(name) (name) 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci#endif /* __VDSO32__ */ 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci#endif /* __ASSEMBLY__ */ 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci#endif /* _ASM_POWERPC_VDSO_H */ 53