xref: /linux/arch/riscv/include/uapi/asm/hwprobe.h (revision ea3de9ce8aa280c5175c835bd3e94a3a9b814b74)
1*ea3de9ceSEvan Green /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2*ea3de9ceSEvan Green /*
3*ea3de9ceSEvan Green  * Copyright 2023 Rivos, Inc
4*ea3de9ceSEvan Green  */
5*ea3de9ceSEvan Green 
6*ea3de9ceSEvan Green #ifndef _UAPI_ASM_HWPROBE_H
7*ea3de9ceSEvan Green #define _UAPI_ASM_HWPROBE_H
8*ea3de9ceSEvan Green 
9*ea3de9ceSEvan Green #include <linux/types.h>
10*ea3de9ceSEvan Green 
11*ea3de9ceSEvan Green /*
12*ea3de9ceSEvan Green  * Interface for probing hardware capabilities from userspace, see
13*ea3de9ceSEvan Green  * Documentation/riscv/hwprobe.rst for more information.
14*ea3de9ceSEvan Green  */
15*ea3de9ceSEvan Green struct riscv_hwprobe {
16*ea3de9ceSEvan Green 	__s64 key;
17*ea3de9ceSEvan Green 	__u64 value;
18*ea3de9ceSEvan Green };
19*ea3de9ceSEvan Green 
20*ea3de9ceSEvan Green #define RISCV_HWPROBE_KEY_MVENDORID	0
21*ea3de9ceSEvan Green #define RISCV_HWPROBE_KEY_MARCHID	1
22*ea3de9ceSEvan Green #define RISCV_HWPROBE_KEY_MIMPID	2
23*ea3de9ceSEvan Green /* Increase RISCV_HWPROBE_MAX_KEY when adding items. */
24*ea3de9ceSEvan Green 
25*ea3de9ceSEvan Green #endif
26