qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH for-9.0 v11 00/18] rv64i and rva22u64 CPUs, RVA22U64 profile support
@ 2023-11-23 18:51 Daniel Henrique Barboza
  2023-11-23 18:51 ` [PATCH for-9.0 v11 01/18] target/riscv: create TYPE_RISCV_VENDOR_CPU Daniel Henrique Barboza
                   ` (17 more replies)
  0 siblings, 18 replies; 23+ messages in thread
From: Daniel Henrique Barboza @ 2023-11-23 18:51 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-riscv, alistair.francis, bmeng, liwei1518, zhiwei_liu,
	palmer, ajones, Daniel Henrique Barboza

Hi,

In this new version we added a new function, riscv_cpu_enable_named_feat(),
to allow profiles to enable named features.

This doesn't have much of an impact for this current work - the only
named feature we're using here is zic64b and the default block size
values already satisfies it.

The reason we're doing this change now is due to the incoming RVA22S64
support. A new named featured called 'svade' will be added for it, and
'svade' is NOT enabled by default in QEMU. Profiles will need to enable
named features to support RVA22S64, so might as well implement this
capability right from the start.

Series based on master.

Patches missing acks: patch 10

Changes from v10:
- patch 10:
  - add riscv_cpu_enable_named_feat()
  - enable named features during cpu_set_profile()
- v10 link: https://lore.kernel.org/qemu-riscv/20231103134629.561732-1-dbarboza@ventanamicro.com/


Daniel Henrique Barboza (18):
  target/riscv: create TYPE_RISCV_VENDOR_CPU
  target/riscv/tcg: do not use "!generic" CPU checks
  target/riscv/tcg: update priv_ver on user_set extensions
  target/riscv: add rv64i CPU
  target/riscv: add zicbop extension flag
  target/riscv/tcg: add 'zic64b' support
  riscv-qmp-cmds.c: expose named features in cpu_model_expansion
  target/riscv: add rva22u64 profile definition
  target/riscv/kvm: add 'rva22u64' flag as unavailable
  target/riscv/tcg: add user flag for profile support
  target/riscv/tcg: add MISA user options hash
  target/riscv/tcg: add riscv_cpu_write_misa_bit()
  target/riscv/tcg: handle profile MISA bits
  target/riscv/tcg: add hash table insert helpers
  target/riscv/tcg: honor user choice for G MISA bits
  target/riscv/tcg: validate profiles during finalize
  riscv-qmp-cmds.c: add profile flags in cpu-model-expansion
  target/riscv: add 'rva22u64' CPU

 hw/riscv/virt.c               |   5 +
 target/riscv/cpu-qom.h        |   4 +
 target/riscv/cpu.c            | 134 ++++++++++++-
 target/riscv/cpu.h            |  13 ++
 target/riscv/cpu_cfg.h        |   3 +
 target/riscv/kvm/kvm-cpu.c    |   7 +-
 target/riscv/riscv-qmp-cmds.c |  44 +++-
 target/riscv/tcg/tcg-cpu.c    | 367 ++++++++++++++++++++++++++++++----
 8 files changed, 524 insertions(+), 53 deletions(-)

-- 
2.41.0



^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2023-11-24 13:50 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-23 18:51 [PATCH for-9.0 v11 00/18] rv64i and rva22u64 CPUs, RVA22U64 profile support Daniel Henrique Barboza
2023-11-23 18:51 ` [PATCH for-9.0 v11 01/18] target/riscv: create TYPE_RISCV_VENDOR_CPU Daniel Henrique Barboza
2023-11-23 18:51 ` [PATCH for-9.0 v11 02/18] target/riscv/tcg: do not use "!generic" CPU checks Daniel Henrique Barboza
2023-11-23 18:51 ` [PATCH for-9.0 v11 03/18] target/riscv/tcg: update priv_ver on user_set extensions Daniel Henrique Barboza
2023-11-24  9:23   ` Andrew Jones
2023-11-24 11:55     ` Daniel Henrique Barboza
2023-11-24 13:49       ` Daniel Henrique Barboza
2023-11-23 18:51 ` [PATCH for-9.0 v11 04/18] target/riscv: add rv64i CPU Daniel Henrique Barboza
2023-11-23 18:51 ` [PATCH for-9.0 v11 05/18] target/riscv: add zicbop extension flag Daniel Henrique Barboza
2023-11-23 18:51 ` [PATCH for-9.0 v11 06/18] target/riscv/tcg: add 'zic64b' support Daniel Henrique Barboza
2023-11-23 18:51 ` [PATCH for-9.0 v11 07/18] riscv-qmp-cmds.c: expose named features in cpu_model_expansion Daniel Henrique Barboza
2023-11-23 18:51 ` [PATCH for-9.0 v11 08/18] target/riscv: add rva22u64 profile definition Daniel Henrique Barboza
2023-11-23 18:51 ` [PATCH for-9.0 v11 09/18] target/riscv/kvm: add 'rva22u64' flag as unavailable Daniel Henrique Barboza
2023-11-23 18:51 ` [PATCH for-9.0 v11 10/18] target/riscv/tcg: add user flag for profile support Daniel Henrique Barboza
2023-11-24  9:26   ` Andrew Jones
2023-11-23 18:51 ` [PATCH for-9.0 v11 11/18] target/riscv/tcg: add MISA user options hash Daniel Henrique Barboza
2023-11-23 18:51 ` [PATCH for-9.0 v11 12/18] target/riscv/tcg: add riscv_cpu_write_misa_bit() Daniel Henrique Barboza
2023-11-23 18:51 ` [PATCH for-9.0 v11 13/18] target/riscv/tcg: handle profile MISA bits Daniel Henrique Barboza
2023-11-23 18:51 ` [PATCH for-9.0 v11 14/18] target/riscv/tcg: add hash table insert helpers Daniel Henrique Barboza
2023-11-23 18:51 ` [PATCH for-9.0 v11 15/18] target/riscv/tcg: honor user choice for G MISA bits Daniel Henrique Barboza
2023-11-23 18:51 ` [PATCH for-9.0 v11 16/18] target/riscv/tcg: validate profiles during finalize Daniel Henrique Barboza
2023-11-23 18:51 ` [PATCH for-9.0 v11 17/18] riscv-qmp-cmds.c: add profile flags in cpu-model-expansion Daniel Henrique Barboza
2023-11-23 18:51 ` [PATCH for-9.0 v11 18/18] target/riscv: add 'rva22u64' CPU Daniel Henrique Barboza

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).