mbox series

[RESEND,v8,00/20] riscv: 'max' CPU, detect user choice in TCG

Message ID 20230824221440.484675-1-dbarboza@ventanamicro.com
Headers show
Series riscv: 'max' CPU, detect user choice in TCG | expand

Message

Daniel Henrique Barboza Aug. 24, 2023, 10:14 p.m. UTC
Hi,

This is a resend of these two patch sets because they no longer apply
into Alistair's riscv-to-apply.next:

[PATCH v8 00/12] riscv: add 'max' CPU, deprecate 'any'
https://lore.kernel.org/qemu-riscv/20230815223741.433763-1-dbarboza@ventanamicro.com/

[PATCH v3 0/8] riscv: detecting user choice in TCG extensions
https://lore.kernel.org/qemu-riscv/20230815224733.434682-1-dbarboza@ventanamicro.com/


They're being sent in a single package for convenience. No other changes
made from their old versions aside from the rebase.

Patches missing acks: 4,7,8

Changes from v7:
- patch 7:
  - add riscv_cpu_add_qdev_prop_array() function instead of a macro
- patch 8:
  - add riscv_cpu_add_kvm_unavail_prop_array() function instead of a
    macro
- v7 link: https://lore.kernel.org/qemu-riscv/20230815201559.398643-1-dbarboza@ventanamicro.com/

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 opensbi 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             | 555 +++++++++++++++++++++++----------
 target/riscv/cpu.h             |   2 +
 target/riscv/kvm.c             |   8 +-
 tests/avocado/riscv_opensbi.py |  16 +
 6 files changed, 425 insertions(+), 169 deletions(-)

Comments

Andrew Jones Aug. 31, 2023, 2:05 p.m. UTC | #1
On Thu, Aug 24, 2023 at 07:14:20PM -0300, Daniel Henrique Barboza wrote:
> Hi,
> 
> This is a resend of these two patch sets because they no longer apply
> into Alistair's riscv-to-apply.next:
> 
> [PATCH v8 00/12] riscv: add 'max' CPU, deprecate 'any'
> https://lore.kernel.org/qemu-riscv/20230815223741.433763-1-dbarboza@ventanamicro.com/
> 
> [PATCH v3 0/8] riscv: detecting user choice in TCG extensions
> https://lore.kernel.org/qemu-riscv/20230815224733.434682-1-dbarboza@ventanamicro.com/
> 
> 
> They're being sent in a single package for convenience. No other changes
> made from their old versions aside from the rebase.
> 
> Patches missing acks: 4,7,8
> 
> Changes from v7:
> - patch 7:
>   - add riscv_cpu_add_qdev_prop_array() function instead of a macro
> - patch 8:
>   - add riscv_cpu_add_kvm_unavail_prop_array() function instead of a
>     macro
> - v7 link: https://lore.kernel.org/qemu-riscv/20230815201559.398643-1-dbarboza@ventanamicro.com/
>

Tracking whether or not the user enabled/disabled an extension is good. I
see we're still not tracking for the MISA extensions, though. If tracking
isn't necessary for them, then a comment above
riscv_cpu_add_misa_properties()
explaining why not would be good. If tracking may be necessary, then
making them consistent with the multi extensions by using the hash would
be good.

Thanks,
drew