/* SPDX-License-Identifier: GPL-2.0 */
/*
 * vdso_config.h: Configuration options for vDSO tests.
 * Copyright (c) 2019 Arm Ltd.
 */
#ifndef __VDSO_CONFIG_H__
#define __VDSO_CONFIG_H__

/*
 * Each architecture exports its vDSO implementation with different names
 * and a different version from the others, so we need to handle it as a
 * special case.
 */
#if defined(__arm__)
#define VDSO_VERSION		0
#define VDSO_NAMES		1
#define VDSO_32BIT		1
#elif defined(__aarch64__)
#define VDSO_VERSION		3
#define VDSO_NAMES		0
#elif defined(__powerpc64__)
#define VDSO_VERSION		1
#define VDSO_NAMES		0
#elif defined(__powerpc__)
#define VDSO_VERSION		1
#define VDSO_NAMES		0
#define VDSO_32BIT		1
#elif defined (__s390__) && !defined(__s390x__)
#define VDSO_VERSION		2
#define VDSO_NAMES		0
#define VDSO_32BIT		1
#elif defined (__s390x__)
#define VDSO_VERSION		2
#define VDSO_NAMES		0
#elif defined(__mips__)
#define VDSO_VERSION		0
#define VDSO_NAMES		1
#define VDSO_32BIT		1
#elif defined(__sparc__)
#define VDSO_VERSION		0
#define VDSO_NAMES		1
#define VDSO_32BIT		1
#elif defined(__i386__)
#define VDSO_VERSION		0
#define VDSO_NAMES		1
#define VDSO_32BIT		1
#elif defined(__x86_64__)
#define VDSO_VERSION		0
#define VDSO_NAMES		1
#elif defined(__riscv__) || defined(__riscv)
#define VDSO_VERSION		5
#define VDSO_NAMES		1
#if __riscv_xlen == 32
#define VDSO_32BIT		1
#endif
#elif defined(__loongarch__)
#define VDSO_VERSION		6
#define VDSO_NAMES		1
#endif

static const char *versions[7] = {
	"LINUX_2.6",
	"LINUX_2.6.15",
	"LINUX_2.6.29",
	"LINUX_2.6.39",
	"LINUX_4",
	"LINUX_4.15",
	"LINUX_5.10"
};

static const char *names[2][7] = {
	{
		"__kernel_gettimeofday",
		"__kernel_clock_gettime",
		"__kernel_time",
		"__kernel_clock_getres",
		"__kernel_getcpu",
		"__kernel_clock_gettime64",
		"__kernel_getrandom",
	},
	{
		"__vdso_gettimeofday",
		"__vdso_clock_gettime",
		"__vdso_time",
		"__vdso_clock_getres",
		"__vdso_getcpu",
		"__vdso_clock_gettime64",
		"__vdso_getrandom",
	},
};

#endif /* __VDSO_CONFIG_H__ */
