xref: /OK3568_Linux_fs/kernel/arch/riscv/include/uapi/asm/hwcap.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * Copied from arch/arm64/include/asm/hwcap.h
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * Copyright (C) 2012 ARM Ltd.
6*4882a593Smuzhiyun  * Copyright (C) 2017 SiFive
7*4882a593Smuzhiyun  */
8*4882a593Smuzhiyun #ifndef _UAPI_ASM_RISCV_HWCAP_H
9*4882a593Smuzhiyun #define _UAPI_ASM_RISCV_HWCAP_H
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun /*
12*4882a593Smuzhiyun  * Linux saves the floating-point registers according to the ISA Linux is
13*4882a593Smuzhiyun  * executing on, as opposed to the ISA the user program is compiled for.  This
14*4882a593Smuzhiyun  * is necessary for a handful of esoteric use cases: for example, userspace
15*4882a593Smuzhiyun  * threading libraries must be able to examine the actual machine state in
16*4882a593Smuzhiyun  * order to fully reconstruct the state of a thread.
17*4882a593Smuzhiyun  */
18*4882a593Smuzhiyun #define COMPAT_HWCAP_ISA_I	(1 << ('I' - 'A'))
19*4882a593Smuzhiyun #define COMPAT_HWCAP_ISA_M	(1 << ('M' - 'A'))
20*4882a593Smuzhiyun #define COMPAT_HWCAP_ISA_A	(1 << ('A' - 'A'))
21*4882a593Smuzhiyun #define COMPAT_HWCAP_ISA_F	(1 << ('F' - 'A'))
22*4882a593Smuzhiyun #define COMPAT_HWCAP_ISA_D	(1 << ('D' - 'A'))
23*4882a593Smuzhiyun #define COMPAT_HWCAP_ISA_C	(1 << ('C' - 'A'))
24*4882a593Smuzhiyun 
25*4882a593Smuzhiyun #endif /* _UAPI_ASM_RISCV_HWCAP_H */
26