qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v9 00/20] target/riscv, KVM: fixes and enhancements
@ 2023-07-06 10:17 Daniel Henrique Barboza
  2023-07-06 10:17 ` [PATCH v9 01/20] target/riscv: skip features setup for KVM CPUs Daniel Henrique Barboza
                   ` (20 more replies)
  0 siblings, 21 replies; 36+ messages in thread
From: Daniel Henrique Barboza @ 2023-07-06 10:17 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-riscv, alistair.francis, bmeng, liweiwei, zhiwei_liu, palmer,
	ajones, Daniel Henrique Barboza

Hi,

In this version we dialed back from our design decision in patch 14,
returning to the design we've been using since the first version. The
rationale behind is that we can't get rid of EINVAL since it will break
extension for all other KVM versions prior to this one where we're
adding the first version of the KVM specific capabilities. We'll switch
later on for get-reg-list when it's available, but for now we're stuck
with EINVAL. Drew provided a detailed explanation here:

https://lore.kernel.org/qemu-devel/20230706-38ab9f9705448bb10413f1af@orel/T/#m75a5323e76518c02598758fdd6a8943951812875

As a bonus I also fixed the device-tree binding link satp in patch 2 like
Connor suggested. 

I believe we're ready to go.

Patches missing review: 14

Changes from v8:
  - patch 2:
    - fix device-tree binding link in commit message 
  - patch 14:
    - use EINVAL instead of ENOENT
v8 link: https://lore.kernel.org/qemu-devel/20230706-38ab9f9705448bb10413f1af@orel/T/#m1c889304847598789db313f3e0854ed0d41ce60c

Daniel Henrique Barboza (20):
  target/riscv: skip features setup for KVM CPUs
  hw/riscv/virt.c: skip 'mmu-type' FDT if satp mode not set
  target/riscv/cpu.c: restrict 'mvendorid' value
  target/riscv/cpu.c: restrict 'mimpid' value
  target/riscv/cpu.c: restrict 'marchid' value
  target/riscv: use KVM scratch CPUs to init KVM properties
  target/riscv: read marchid/mimpid in kvm_riscv_init_machine_ids()
  target/riscv: handle mvendorid/marchid/mimpid for KVM CPUs
  linux-headers: Update to v6.4-rc1
  target/riscv/kvm.c: init 'misa_ext_mask' with scratch CPU
  target/riscv/cpu: add misa_ext_info_arr[]
  target/riscv: add KVM specific MISA properties
  target/riscv/kvm.c: update KVM MISA bits
  target/riscv/kvm.c: add multi-letter extension KVM properties
  target/riscv/cpu.c: add satp_mode properties earlier
  target/riscv/cpu.c: remove priv_ver check from riscv_isa_string_ext()
  target/riscv/cpu.c: create KVM mock properties
  target/riscv: update multi-letter extension KVM properties
  target/riscv/kvm.c: add kvmconfig_get_cfg_addr() helper
  target/riscv/kvm.c: read/write (cbom|cboz)_blocksize in KVM

 hw/riscv/virt.c                               |  14 +-
 include/standard-headers/linux/const.h        |   2 +-
 include/standard-headers/linux/virtio_blk.h   |  18 +-
 .../standard-headers/linux/virtio_config.h    |   6 +
 include/standard-headers/linux/virtio_net.h   |   1 +
 linux-headers/asm-arm64/kvm.h                 |  33 ++
 linux-headers/asm-riscv/kvm.h                 |  53 +-
 linux-headers/asm-riscv/unistd.h              |   9 +
 linux-headers/asm-s390/unistd_32.h            |   1 +
 linux-headers/asm-s390/unistd_64.h            |   1 +
 linux-headers/asm-x86/kvm.h                   |   3 +
 linux-headers/linux/const.h                   |   2 +-
 linux-headers/linux/kvm.h                     |  12 +-
 linux-headers/linux/psp-sev.h                 |   7 +
 linux-headers/linux/userfaultfd.h             |  17 +-
 target/riscv/cpu.c                            | 341 ++++++++++--
 target/riscv/cpu.h                            |   7 +-
 target/riscv/kvm.c                            | 499 +++++++++++++++++-
 target/riscv/kvm_riscv.h                      |   1 +
 19 files changed, 940 insertions(+), 87 deletions(-)

-- 
2.41.0



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

end of thread, other threads:[~2023-07-10  2:49 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-06 10:17 [PATCH v9 00/20] target/riscv, KVM: fixes and enhancements Daniel Henrique Barboza
2023-07-06 10:17 ` [PATCH v9 01/20] target/riscv: skip features setup for KVM CPUs Daniel Henrique Barboza
2023-07-10  1:26   ` Alistair Francis
2023-07-06 10:17 ` [PATCH v9 02/20] hw/riscv/virt.c: skip 'mmu-type' FDT if satp mode not set Daniel Henrique Barboza
2023-07-06 10:17 ` [PATCH v9 03/20] target/riscv/cpu.c: restrict 'mvendorid' value Daniel Henrique Barboza
2023-07-06 10:17 ` [PATCH v9 04/20] target/riscv/cpu.c: restrict 'mimpid' value Daniel Henrique Barboza
2023-07-06 10:17 ` [PATCH v9 05/20] target/riscv/cpu.c: restrict 'marchid' value Daniel Henrique Barboza
2023-07-06 10:17 ` [PATCH v9 06/20] target/riscv: use KVM scratch CPUs to init KVM properties Daniel Henrique Barboza
2023-07-06 10:17 ` [PATCH v9 07/20] target/riscv: read marchid/mimpid in kvm_riscv_init_machine_ids() Daniel Henrique Barboza
2023-07-06 10:17 ` [PATCH v9 08/20] target/riscv: handle mvendorid/marchid/mimpid for KVM CPUs Daniel Henrique Barboza
2023-07-06 10:17 ` [PATCH v9 09/20] linux-headers: Update to v6.4-rc1 Daniel Henrique Barboza
2023-07-06 10:17 ` [PATCH v9 10/20] target/riscv/kvm.c: init 'misa_ext_mask' with scratch CPU Daniel Henrique Barboza
2023-07-06 10:17 ` [PATCH v9 11/20] target/riscv/cpu: add misa_ext_info_arr[] Daniel Henrique Barboza
2023-07-10  1:33   ` Alistair Francis
2023-07-06 10:17 ` [PATCH v9 12/20] target/riscv: add KVM specific MISA properties Daniel Henrique Barboza
2023-07-10  2:16   ` Alistair Francis
2023-07-06 10:17 ` [PATCH v9 13/20] target/riscv/kvm.c: update KVM MISA bits Daniel Henrique Barboza
2023-07-10  2:23   ` Alistair Francis
2023-07-06 10:17 ` [PATCH v9 14/20] target/riscv/kvm.c: add multi-letter extension KVM properties Daniel Henrique Barboza
2023-07-06 12:14   ` Andrew Jones
2023-07-06 12:46     ` Daniel Henrique Barboza
2023-07-10  2:41       ` Alistair Francis
2023-07-10  2:40   ` Alistair Francis
2023-07-06 10:17 ` [PATCH v9 15/20] target/riscv/cpu.c: add satp_mode properties earlier Daniel Henrique Barboza
2023-07-10  2:23   ` Alistair Francis
2023-07-06 10:17 ` [PATCH v9 16/20] target/riscv/cpu.c: remove priv_ver check from riscv_isa_string_ext() Daniel Henrique Barboza
2023-07-10  2:24   ` Alistair Francis
2023-07-06 10:17 ` [PATCH v9 17/20] target/riscv/cpu.c: create KVM mock properties Daniel Henrique Barboza
2023-07-10  2:30   ` Alistair Francis
2023-07-06 10:17 ` [PATCH v9 18/20] target/riscv: update multi-letter extension KVM properties Daniel Henrique Barboza
2023-07-10  2:31   ` Alistair Francis
2023-07-06 10:17 ` [PATCH v9 19/20] target/riscv/kvm.c: add kvmconfig_get_cfg_addr() helper Daniel Henrique Barboza
2023-07-10  2:33   ` Alistair Francis
2023-07-06 10:17 ` [PATCH v9 20/20] target/riscv/kvm.c: read/write (cbom|cboz)_blocksize in KVM Daniel Henrique Barboza
2023-07-10  2:36   ` Alistair Francis
2023-07-10  2:48 ` [PATCH v9 00/20] target/riscv, KVM: fixes and enhancements Alistair Francis

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).