mirror of
https://github.com/qemu/qemu.git
synced 2024-11-30 23:33:51 +08:00
linux-user/riscv: Add new extensions to hwprobe
This patch adds the new extensions in linux 6.5 to the hwprobe syscall. And fixes RVC check to OR with correct value. The previous variable contains 0 therefore it did work. Signed-off-by: Robbin Ehn <rehn@rivosinc.com> Acked-by: Richard Henderson <richard.henderson@linaro.org> Acked-by: Alistair Francis <alistair.francis@wdc.com> Message-ID: <bc82203b72d7efb30f1b4a8f9eb3d94699799dc8.camel@rivosinc.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
b815664091
commit
bb0a45e931
@ -8793,6 +8793,10 @@ static int do_getdents64(abi_long dirfd, abi_long arg2, abi_long count)
|
||||
#define RISCV_HWPROBE_KEY_IMA_EXT_0 4
|
||||
#define RISCV_HWPROBE_IMA_FD (1 << 0)
|
||||
#define RISCV_HWPROBE_IMA_C (1 << 1)
|
||||
#define RISCV_HWPROBE_IMA_V (1 << 2)
|
||||
#define RISCV_HWPROBE_EXT_ZBA (1 << 3)
|
||||
#define RISCV_HWPROBE_EXT_ZBB (1 << 4)
|
||||
#define RISCV_HWPROBE_EXT_ZBS (1 << 5)
|
||||
|
||||
#define RISCV_HWPROBE_KEY_CPUPERF_0 5
|
||||
#define RISCV_HWPROBE_MISALIGNED_UNKNOWN (0 << 0)
|
||||
@ -8840,7 +8844,15 @@ static void risc_hwprobe_fill_pairs(CPURISCVState *env,
|
||||
riscv_has_ext(env, RVD) ?
|
||||
RISCV_HWPROBE_IMA_FD : 0;
|
||||
value |= riscv_has_ext(env, RVC) ?
|
||||
RISCV_HWPROBE_IMA_C : pair->value;
|
||||
RISCV_HWPROBE_IMA_C : 0;
|
||||
value |= riscv_has_ext(env, RVV) ?
|
||||
RISCV_HWPROBE_IMA_V : 0;
|
||||
value |= cfg->ext_zba ?
|
||||
RISCV_HWPROBE_EXT_ZBA : 0;
|
||||
value |= cfg->ext_zbb ?
|
||||
RISCV_HWPROBE_EXT_ZBB : 0;
|
||||
value |= cfg->ext_zbs ?
|
||||
RISCV_HWPROBE_EXT_ZBS : 0;
|
||||
__put_user(value, &pair->value);
|
||||
break;
|
||||
case RISCV_HWPROBE_KEY_CPUPERF_0:
|
||||
|
Loading…
Reference in New Issue
Block a user