xref: /openbmc/linux/arch/riscv/include/uapi/asm/hwcap.h (revision e3d786a3)
1 /*
2  * Copied from arch/arm64/include/asm/hwcap.h
3  *
4  * Copyright (C) 2012 ARM Ltd.
5  * Copyright (C) 2017 SiFive
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18  */
19 #ifndef __UAPI_ASM_HWCAP_H
20 #define __UAPI_ASM_HWCAP_H
21 
22 /*
23  * Linux saves the floating-point registers according to the ISA Linux is
24  * executing on, as opposed to the ISA the user program is compiled for.  This
25  * is necessary for a handful of esoteric use cases: for example, userpsace
26  * threading libraries must be able to examine the actual machine state in
27  * order to fully reconstruct the state of a thread.
28  */
29 #define COMPAT_HWCAP_ISA_I	(1 << ('I' - 'A'))
30 #define COMPAT_HWCAP_ISA_M	(1 << ('M' - 'A'))
31 #define COMPAT_HWCAP_ISA_A	(1 << ('A' - 'A'))
32 #define COMPAT_HWCAP_ISA_F	(1 << ('F' - 'A'))
33 #define COMPAT_HWCAP_ISA_D	(1 << ('D' - 'A'))
34 #define COMPAT_HWCAP_ISA_C	(1 << ('C' - 'A'))
35 
36 #endif
37