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