On Fri, Nov 24, 2023 at 5:59 PM Andrew Jones <ajo...@ventanamicro.com> wrote: > > On Thu, Nov 23, 2023 at 07:12:59PM +0100, Christoph Muellner wrote: > > From: Christoph Müllner <christoph.muell...@vrull.eu> > > > > Upstream Linux recently added RISC-V Zicboz support to the hwprobe API. > > This patch introduces this for QEMU's user space emulator. > > > > Signed-off-by: Christoph Müllner <christoph.muell...@vrull.eu> > > --- > > linux-user/syscall.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/linux-user/syscall.c b/linux-user/syscall.c > > index 65ac3ac796..2f9a1c5279 100644 > > --- a/linux-user/syscall.c > > +++ b/linux-user/syscall.c > > @@ -8799,6 +8799,7 @@ static int do_getdents64(abi_long dirfd, abi_long > > arg2, abi_long count) > > #define RISCV_HWPROBE_EXT_ZBA (1 << 3) > > #define RISCV_HWPROBE_EXT_ZBB (1 << 4) > > #define RISCV_HWPROBE_EXT_ZBS (1 << 5) > > +#define RISCV_HWPROBE_EXT_ZICBOZ (1 << 6) > > > > #define RISCV_HWPROBE_KEY_CPUPERF_0 5 > > #define RISCV_HWPROBE_MISALIGNED_UNKNOWN (0 << 0) > > @@ -8855,6 +8856,8 @@ static void risc_hwprobe_fill_pairs(CPURISCVState > > *env, > > RISCV_HWPROBE_EXT_ZBB : 0; > > value |= cfg->ext_zbs ? > > RISCV_HWPROBE_EXT_ZBS : 0; > > + value |= cfg->ext_zicboz ? > > + RISCV_HWPROBE_EXT_ZICBOZ : 0; > > __put_user(value, &pair->value); > > break; > > case RISCV_HWPROBE_KEY_CPUPERF_0: > > -- > > 2.41.0 > > > > > > We should also add support for getting the block size with > RISCV_HWPROBE_KEY_ZICBOZ_BLOCK_SIZE.
Hi Andrew, this is already upstream, just the EXT_ZICBOZ is missing: commit 301c65f49f9602f39b9f3ce0ad9ff70d4bda7226 Author: Palmer Dabbelt <pal...@rivosinc.com> Date: Fri Nov 10 09:37:16 2023 -0800 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. > > Thanks, > drew