All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 0/4] QEMU RISC-V nested virtualization fixes
@ 2022-06-11  8:01 Anup Patel
  2022-06-11  8:01 ` [PATCH v6 1/4] target/riscv: Don't force update priv spec version to latest Anup Patel
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Anup Patel @ 2022-06-11  8:01 UTC (permalink / raw)
  To: Peter Maydell, Palmer Dabbelt, Alistair Francis, Sagar Karandikar
  Cc: Atish Patra, Anup Patel, qemu-riscv, qemu-devel, Anup Patel

This series does fixes and improvements to have nested virtualization
on QEMU RISC-V.

These patches can also be found in riscv_nested_fixes_v6 branch at:
https://github.com/avpatel/qemu.git

The RISC-V nested virtualization was tested on QEMU RISC-V using
Xvisor RISC-V which has required hypervisor support to run another
hypervisor as Guest/VM.

Changes since v5:
 - Correctly set "Addr. Offset" for misaligned load/store traps in PATCH3
 - Use offsetof() instead of pointer in PATCH4

Changes since v4:
 - Updated commit description in PATCH1, PATCH2, and PATCH4
 - Use "const" for local array in PATCH5

Changes since v3:
 - Updated PATCH3 to set special pseudoinstructions in htinst for
   guest page faults which result due to VS-stage page table walks
 - Updated warning message in PATCH4

Changes since v2:
 - Dropped the patch which are already in Alistair's next branch
 - Set "Addr. Offset" in the transformed instruction for PATCH3
 - Print warning in riscv_cpu_realize() if we are disabling an
   extension due to privilege spec verions mismatch for PATCH4

Changes since v1:
 - Set write_gva to env->two_stage_lookup which ensures that for
   HS-mode to HS-mode trap write_gva is true only for HLV/HSV
   instructions
 - Included "[PATCH 0/3] QEMU RISC-V priv spec version fixes"
   patches in this series for easy review
 - Re-worked PATCH7 to force disable extensions if required
   priv spec version is not staisfied
 - Added new PATCH8 to fix "aia=aplic-imsic" mode of virt machine

Anup Patel (4):
  target/riscv: Don't force update priv spec version to latest
  target/riscv: Add dummy mcountinhibit CSR for priv spec v1.11 or
    higher
  target/riscv: Update [m|h]tinst CSR in riscv_cpu_do_interrupt()
  target/riscv: Force disable extensions if priv spec version does not
    match

 target/riscv/cpu.c        | 154 ++++++++++++++++-----------
 target/riscv/cpu.h        |   3 +
 target/riscv/cpu_bits.h   |   3 +
 target/riscv/cpu_helper.c | 214 ++++++++++++++++++++++++++++++++++++--
 target/riscv/csr.c        |   2 +
 target/riscv/instmap.h    |  45 ++++++++
 6 files changed, 356 insertions(+), 65 deletions(-)

-- 
2.34.1



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

end of thread, other threads:[~2022-06-28  9:59 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-11  8:01 [PATCH v6 0/4] QEMU RISC-V nested virtualization fixes Anup Patel
2022-06-11  8:01 ` [PATCH v6 1/4] target/riscv: Don't force update priv spec version to latest Anup Patel
2022-06-11  8:01 ` [PATCH v6 2/4] target/riscv: Add dummy mcountinhibit CSR for priv spec v1.11 or higher Anup Patel
2022-06-11  8:01 ` [PATCH v6 3/4] target/riscv: Update [m|h]tinst CSR in riscv_cpu_do_interrupt() Anup Patel
2022-06-27  1:00   ` Alistair Francis
2022-06-27 16:55     ` dramforever
2022-06-28  9:57       ` Anup Patel
2022-06-11  8:01 ` [PATCH v6 4/4] target/riscv: Force disable extensions if priv spec version does not match Anup Patel
2022-06-27  1:03   ` Alistair Francis
2022-06-27 23:16   ` Alistair Francis
2022-06-28  3:45     ` Anup Patel
2022-06-27  2:56 ` [PATCH v6 0/4] QEMU RISC-V nested virtualization fixes Alistair Francis

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.