Message ID | 20230727102439.22554-1-yongxuan.wang@sifive.com (mailing list archive) |
---|---|
Headers | show |
Series | Add RISC-V KVM AIA Support | expand |
On Thu, Jul 27, 2023 at 7:49 AM Yong-Xuan Wang <yongxuan.wang@sifive.com> wrote: > > This series adds support for KVM AIA in RISC-V architecture. > > In order to test these patches, we require Linux with KVM AIA support which can > be found in the riscv_kvm_aia_hwaccel_v1 branch at > https://github.com/avpatel/linux.git Thanks! Applied to riscv-to-apply.next Alistair > > --- > v7: > - fix compiler warning in PATCH3 > - rename the "kvm-aia" property to "riscv-aia" and add it as a RISC-V KVM > accelerator property. also move this setting from PATCH5 to PATCH3 in the code. > > v6: > - fix alignment > - add hart index to the error message of ISMIC address setting in PATCH3 > > v5: > - remove the linux-header update patch since the riscv-to-apply.next QEMU has > synced up to Linux 6.5-rc1 headers. > - create the APLIC and IMSIC FDT helper functions in PATCH1 > - add the irqfd support in PATCH3 > - fix the comments and refine the code > > v4: > - update the linux header by the scripts/update-linux-headers.sh in PATCH1 > - remove the checking for "aplic_m" before creating S-mode APLIC device in PATCH2 > - add more setting when we initialize the KVM AIA chip in PATCH4 > - fix msi message delivery and the APLIC devices emulation in PATCH5 > - fix the AIA devices mapping with NUMA enabled in PATCH6 > - add "kvm-aia" parameter to sepecify the KVM AIA mode in PATCH6 > > v3: > - fix typo > - tag the linux-header patch as placeholder > > v2: > - rebase to riscv-to-apply.next > - update the linux header by the scripts/update-linux-headers.sh > > Yong-Xuan Wang (5): > target/riscv: support the AIA device emulation with KVM enabled > target/riscv: check the in-kernel irqchip support > target/riscv: Create an KVM AIA irqchip > target/riscv: update APLIC and IMSIC to support KVM AIA > target/riscv: select KVM AIA in riscv virt machine > > hw/intc/riscv_aplic.c | 56 ++++-- > hw/intc/riscv_imsic.c | 25 ++- > hw/riscv/virt.c | 372 ++++++++++++++++++++------------------- > target/riscv/kvm.c | 196 ++++++++++++++++++++- > target/riscv/kvm_riscv.h | 4 + > 5 files changed, 454 insertions(+), 199 deletions(-) > > -- > 2.17.1 > >