mirror of
https://github.com/mii443/qemu.git
synced 2025-08-22 15:15:46 +00:00
linux-user/riscv: Add Zicboz block size to hwprobe
Support for probing the Zicboz block size landed in Linux 6.6, which was
released a few weeks ago. This provides the user-configured block size
when Zicboz is enabled.
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20231110173716.24423-1-palmer@rivosinc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
(cherry picked from commit 301c65f49f
)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
(Mjt: fixup linux-user/syscall.c to before v8.1.0-2602-ge57039ddab
"target/riscv: rename ext_icboz to ext_zicboz")
This commit is contained in:
committed by
Michael Tokarev
parent
8328d79621
commit
8d0b8fead4
@ -9058,6 +9058,8 @@ static int do_getdents64(abi_long dirfd, abi_long arg2, abi_long count)
|
|||||||
#define RISCV_HWPROBE_MISALIGNED_UNSUPPORTED (4 << 0)
|
#define RISCV_HWPROBE_MISALIGNED_UNSUPPORTED (4 << 0)
|
||||||
#define RISCV_HWPROBE_MISALIGNED_MASK (7 << 0)
|
#define RISCV_HWPROBE_MISALIGNED_MASK (7 << 0)
|
||||||
|
|
||||||
|
#define RISCV_HWPROBE_KEY_ZICBOZ_BLOCK_SIZE 6
|
||||||
|
|
||||||
struct riscv_hwprobe {
|
struct riscv_hwprobe {
|
||||||
abi_llong key;
|
abi_llong key;
|
||||||
abi_ullong value;
|
abi_ullong value;
|
||||||
@ -9102,6 +9104,10 @@ static void risc_hwprobe_fill_pairs(CPURISCVState *env,
|
|||||||
case RISCV_HWPROBE_KEY_CPUPERF_0:
|
case RISCV_HWPROBE_KEY_CPUPERF_0:
|
||||||
__put_user(RISCV_HWPROBE_MISALIGNED_FAST, &pair->value);
|
__put_user(RISCV_HWPROBE_MISALIGNED_FAST, &pair->value);
|
||||||
break;
|
break;
|
||||||
|
case RISCV_HWPROBE_KEY_ZICBOZ_BLOCK_SIZE:
|
||||||
|
value = cfg->ext_icboz ? cfg->cboz_blocksize : 0;
|
||||||
|
__put_user(value, &pair->value);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
__put_user(-1, &pair->key);
|
__put_user(-1, &pair->key);
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user