Skip to content

riscv: 'max' CPU, detect user choice in TCG

Daniel Henrique Barboza qemu-devel qemu-riscv 11 versions – Applied

Status from this message: Applied to riscv-to-apply.next

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v10 Latest20 patches 2 repliesApplied
  2. v920 patches 16 repliesApplied
  3. v8 posting 2/220 patches 23 repliesSuperseded
Earlier versions · 8
VersionPostedPatchesRepliesStatus
v8 posting 1/212 patches0 repliesSuperseded
v712 patches3 repliesSuperseded
v612 patches10 repliesSuperseded
v511 patches9 repliesSuperseded
v411 patches0 repliesSuperseded
v38 patches3 repliesSuperseded
v27 patches8 repliesSuperseded
v17 patches28 repliesSuperseded

Changes in v10 from the cover letter

- patch 3:
- use #ifdef CONFIG_KVM instead of #ifndef CONFIG_USER_ONLY
- helper renamed to kvm_riscv_cpu_add_kvm_properties
- helper is declared in kvm_riscv.h
- v9 link: https://lore.kernel.org/qemu-riscv/[email protected]/

[1] https://lists.gnu.org/archive/html/qemu-devel/2023-09/msg01729.html
[2] https://lore.kernel.org/qemu-riscv/[email protected]/

Patches in v10 Applied

#Subject and filesSizeRepliesApplied
1/20target/riscv/cpu.c: split CPU options from riscv_cpu_extensions[]target/riscv/cpu.c+23 -100 replies
2/20target/riscv/cpu.c: skip 'bool' check when filtering KVM propstarget/riscv/cpu.c+4 -100 replies
3/20target/riscv/cpu.c: split kvm prop handling to its own helpertarget/riscv/cpu.c target/riscv/kvm_riscv.h+44 -241 reply
4/20target/riscv: add DEFINE_PROP_END_OF_LIST() to riscv_cpu_options[]target/riscv/cpu.c+7 -50 replies
5/20target/riscv/cpu.c: split non-ratified exts from riscv_cpu_extensions[]target/riscv/cpu.c+12 -10 replies
6/20target/riscv/cpu.c: split vendor exts from riscv_cpu_extensions[]target/riscv/cpu.c+12 -10 replies
7/20target/riscv/cpu.c: add riscv_cpu_add_qdev_prop_array()target/riscv/cpu.c+13 -160 replies
8/20target/riscv/cpu.c: add riscv_cpu_add_kvm_unavail_prop_array()target/riscv/cpu.c+13 -110 replies
9/20target/riscv/cpu.c: limit cfg->vext_spec log messagetarget/riscv/cpu.c+4 -50 replies
10/20target/riscv: add 'max' CPU typetarget/riscv/cpu-qom.h target/riscv/cpu.c+57 -00 replies
11/20avocado, risc-v: add tuxboot tests for 'max' CPUtests/avocado/tuxrun_baselines.py+32 -00 replies
12/20target/riscv: deprecate the 'any' CPU typedocs/about/deprecated.rst target/riscv/cpu.c+17 -00 replies
13/20target/riscv/cpu.c: use offset in isa_ext_is_enabled/update_enabledtarget/riscv/cpu.c+9 -90 replies
14/20target/riscv: make CPUCFG() macro publictarget/riscv/cpu.c target/riscv/cpu.h target/riscv/kvm.c+6 -60 replies
15/20target/riscv/cpu.c: introduce cpu_cfg_ext_auto_update()target/riscv/cpu.c+40 -30 replies
16/20target/riscv/cpu.c: use cpu_cfg_ext_auto_update() during realize()target/riscv/cpu.c+25 -250 replies
17/20target/riscv/cpu.c: introduce RISCVCPUMultiExtConfigtarget/riscv/cpu.c+159 -990 replies
18/20target/riscv: use isa_ext_update_enabled() in init_max_cpu_extensions()target/riscv/cpu.c+9 -90 replies
19/20target/riscv/cpu.c: honor user choice in cpu_cfg_ext_auto_update()target/riscv/cpu.c+16 -00 replies
20/20target/riscv/cpu.c: consider user option with RVGtarget/riscv/cpu.c+16 -20 replies

Reviews trailers per patch

All 20 patches have a Reviewed-by or Acked-by.

PatchAndrew JonesAlistair FrancisPhilippe Mathieu-DaudéWeiwei Li
1/20R-b R-b R-b
2/20R-b R-b
3/20R-b
4/20R-b R-b R-b
5/20R-b R-b
6/20R-b R-b
7/20R-b R-b R-b
8/20R-b R-b
9/20R-b R-b
10/20R-b R-b R-b
11/20R-b R-b T-b
12/20R-b R-b R-b T-b
13/20R-b R-b
14/20R-b R-b R-b
15/20R-b R-b
16/20R-b R-b
17/20R-b R-b
18/20R-b R-b
19/20R-b R-b
20/20R-b R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.

Read the v10 thread

Cover letter [PATCH v10 00/20] riscv: 'max' CPU, detect user choice in TCG

Hi,

In this version we have a change in patch 3. It was causing a build break with --enable-debug builds that weren't being detected by regular gitlab CI but was detected when running the merge CI [1]. The problem is reproducible by any risc-v --enable-debug build.

I ended up leaving kvm_riscv_cpu_add_kvm_properties implementation inside cpu.c, since it can't be easily moved to kvm.c at this point, while adding its function declaration in kvm_riscv.h since it's a KVM only function. This is temporary, not a pattern we want to promote. We'll move the function to kvm.c when splitting accelerators logic in "riscv: split TCG/KVM accelerators from cpu.c", patch 08 in the current version of that series [2].

Series rebased on top of master. Only patch 3 is missing acks.

Changes from v9:
- patch 3:
- use #ifdef CONFIG_KVM instead of #ifndef CONFIG_USER_ONLY
- helper renamed to kvm_riscv_cpu_add_kvm_properties
- helper is declared in kvm_riscv.h
- v9 link: https://lore.kernel.org/qemu-riscv/[email protected]/

[1] https://lists.gnu.org/archive/html/qemu-devel/2023-09/msg01729.html
[2] https://lore.kernel.org/qemu-riscv/[email protected]/

Daniel Henrique Barboza (20):
target/riscv/cpu.c: split CPU options from riscv_cpu_extensions[] target/riscv/cpu.c: skip 'bool' check when filtering KVM props target/riscv/cpu.c: split kvm prop handling to its own helper target/riscv: add DEFINE_PROP_END_OF_LIST() to riscv_cpu_options[] target/riscv/cpu.c: split non-ratified exts from

    riscv_cpu_extensions[]

target/riscv/cpu.c: split vendor exts from riscv_cpu_extensions[] target/riscv/cpu.c: add riscv_cpu_add_qdev_prop_array() target/riscv/cpu.c: add riscv_cpu_add_kvm_unavail_prop_array() target/riscv/cpu.c: limit cfg->vext_spec log message target/riscv: add 'max' CPU type
avocado, risc-v: add tuxboot tests for 'max' CPU target/riscv: deprecate the 'any' CPU type target/riscv/cpu.c: use offset in isa_ext_is_enabled/update_enabled target/riscv: make CPUCFG() macro public target/riscv/cpu.c: introduce cpu_cfg_ext_auto_update() target/riscv/cpu.c: use cpu_cfg_ext_auto_update() during realize() target/riscv/cpu.c: introduce RISCVCPUMultiExtConfig target/riscv: use isa_ext_update_enabled() in
init_max_cpu_extensions()
target/riscv/cpu.c: honor user choice in cpu_cfg_ext_auto_update() target/riscv/cpu.c: consider user option with RVG

 docs/about/deprecated.rst         |  12 +
 target/riscv/cpu-qom.h            |   1 +
 target/riscv/cpu.c                | 564 +++++++++++++++++++++---------
 target/riscv/cpu.h                |   2 +
 target/riscv/kvm.c                |   8 +-
 target/riscv/kvm_riscv.h          |   3 +
 tests/avocado/tuxrun_baselines.py |  32 ++
 7 files changed, 452 insertions(+), 170 deletions(-)
Signature · 1 line
2.41.0