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