aec499c75c
The nds32 architecture, also known as AndeStar V3, is a custom 32-bit RISC target designed by Andes Technologies. Support was added to the kernel in 2016 as the replacement RISC-V based V5 processors were already announced, and maintained by (current or former) Andes employees. As explained by Alan Kao, new customers are now all using RISC-V, and all known nds32 users are already on longterm stable kernels provided by Andes, with no development work going into mainline support any more. While the port is still in a reasonably good shape, it only gets worse over time without active maintainers, so it seems best to remove it before it becomes unusable. As always, if it turns out that there are mainline users after all, and they volunteer to maintain the port in the future, the removal can be reverted. Link: https://lore.kernel.org/linux-mm/YhdWNLUhk+x9RAzU@yamatobi.andestech.com/ Link: https://lore.kernel.org/lkml/20220302065213.82702-1-alankao@andestech.com/ Link: https://www.andestech.com/en/products-solutions/andestar-architecture/ Signed-off-by: Alan Kao <alankao@andestech.com> [arnd: rewrite changelog to provide more background] Signed-off-by: Arnd Bergmann <arnd@arndb.de>
91 lines
1.9 KiB
C
91 lines
1.9 KiB
C
/* 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(__powerpc__)
|
|
#define VDSO_VERSION 1
|
|
#define VDSO_NAMES 0
|
|
#define VDSO_32BIT 1
|
|
#elif defined(__powerpc64__)
|
|
#define VDSO_VERSION 1
|
|
#define VDSO_NAMES 0
|
|
#elif defined (__s390__)
|
|
#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
|
|
#endif
|
|
|
|
static const char *versions[6] = {
|
|
"LINUX_2.6",
|
|
"LINUX_2.6.15",
|
|
"LINUX_2.6.29",
|
|
"LINUX_2.6.39",
|
|
"LINUX_4",
|
|
"LINUX_4.15",
|
|
};
|
|
|
|
static const char *names[2][6] = {
|
|
{
|
|
"__kernel_gettimeofday",
|
|
"__kernel_clock_gettime",
|
|
"__kernel_time",
|
|
"__kernel_clock_getres",
|
|
"__kernel_getcpu",
|
|
#if defined(VDSO_32BIT)
|
|
"__kernel_clock_gettime64",
|
|
#endif
|
|
},
|
|
{
|
|
"__vdso_gettimeofday",
|
|
"__vdso_clock_gettime",
|
|
"__vdso_time",
|
|
"__vdso_clock_getres",
|
|
"__vdso_getcpu",
|
|
#if defined(VDSO_32BIT)
|
|
"__vdso_clock_gettime64",
|
|
#endif
|
|
},
|
|
};
|
|
|
|
#endif /* __VDSO_CONFIG_H__ */
|