blob: a18b020d74cff4f1589c15905242f19777efdf31 [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
2 * This file is auto-generated. Modifications will be lost.
3 *
4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5 * for more information.
6 */
Christopher Ferris37c3f3c2023-07-10 10:59:05 -07007#ifndef _UAPI_ASM_HWPROBE_H
8#define _UAPI_ASM_HWPROBE_H
9#include <linux/types.h>
10struct riscv_hwprobe {
11 __s64 key;
12 __u64 value;
13};
14#define RISCV_HWPROBE_KEY_MVENDORID 0
15#define RISCV_HWPROBE_KEY_MARCHID 1
16#define RISCV_HWPROBE_KEY_MIMPID 2
17#define RISCV_HWPROBE_KEY_BASE_BEHAVIOR 3
18#define RISCV_HWPROBE_BASE_BEHAVIOR_IMA (1 << 0)
19#define RISCV_HWPROBE_KEY_IMA_EXT_0 4
20#define RISCV_HWPROBE_IMA_FD (1 << 0)
21#define RISCV_HWPROBE_IMA_C (1 << 1)
Christopher Ferris8666d042023-09-06 14:55:31 -070022#define RISCV_HWPROBE_IMA_V (1 << 2)
23#define RISCV_HWPROBE_EXT_ZBA (1 << 3)
24#define RISCV_HWPROBE_EXT_ZBB (1 << 4)
25#define RISCV_HWPROBE_EXT_ZBS (1 << 5)
Christopher Ferris0f795212024-01-17 14:17:28 -080026#define RISCV_HWPROBE_EXT_ZICBOZ (1 << 6)
Christopher Ferris37c3f3c2023-07-10 10:59:05 -070027#define RISCV_HWPROBE_KEY_CPUPERF_0 5
28#define RISCV_HWPROBE_MISALIGNED_UNKNOWN (0 << 0)
29#define RISCV_HWPROBE_MISALIGNED_EMULATED (1 << 0)
30#define RISCV_HWPROBE_MISALIGNED_SLOW (2 << 0)
31#define RISCV_HWPROBE_MISALIGNED_FAST (3 << 0)
32#define RISCV_HWPROBE_MISALIGNED_UNSUPPORTED (4 << 0)
33#define RISCV_HWPROBE_MISALIGNED_MASK (7 << 0)
Christopher Ferris0f795212024-01-17 14:17:28 -080034#define RISCV_HWPROBE_KEY_ZICBOZ_BLOCK_SIZE 6
Christopher Ferris37c3f3c2023-07-10 10:59:05 -070035#endif