[PATCH v4 0/3] LoongArch : Add KVM DINTC support

Song Gao posted 3 patches 1 week, 6 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260813111000.446232-1-gaosong@loongson.cn
Maintainers: Song Gao <17746591750@163.com>, Bibo Mao <maobibo@loongson.cn>, Xianglai Li <lixianglai@loongson.cn>, Jiaxun Yang <jiaxun.yang@flygoat.com>
hw/intc/loongarch_dintc.c         | 13 ++++++
hw/intc/loongarch_dintc_kvm.c     | 48 ++++++++++++++++++++
hw/intc/meson.build               |  2 +
include/hw/intc/loongarch_dintc.h | 10 +++++
target/loongarch/cpu.c            |  8 ++--
target/loongarch/cpu.h            |  1 +
target/loongarch/kvm/kvm.c        | 74 +++++++++++++++++++++++++++++++
7 files changed, 153 insertions(+), 3 deletions(-)
create mode 100644 hw/intc/loongarch_dintc_kvm.c
[PATCH v4 0/3] LoongArch : Add KVM DINTC support
Posted by Song Gao 1 week, 6 days ago
From: gaosong <gaosong@loongson.cn>

Hi

This series adds KVM put/get support for msgint CSRs and introduces
msgint feature checks. It also adds kvm_dintc_realize() when
kvm_irqchip_in_kernel is enabled, which creates and initializes the DINTC
device in kernel mode.

About Testing:
1. run script with '-cpu max,msgint=on' and 'virt,dmsi=on.'
'
./build/qemu-system-loongarch64 -accel kvm \
     -bios /usr/share/edk2/loongarch64/QEMU_EFI-silent-pflash.raw \
     -cpu max,msgint=on\
     -smp 4 \
     -machine virt,dmsi=on,kernel_irqchip=on\
     -m 16G \
     -netdev tap,id=net0,ifname=tap0,script=/root/net.sh,downscript=no,vhost=on,queues=4 \
    -device virtio-net-pci,netdev=net0,mq=on,vectors=128,mac=52:54:00:12:34:56 \
     -monitor telnet:localhost:4418,server,nowait \
    -device virtio-gpu-pci \
    -drive if=none,id=disk0,file=/home/kvm/lns23.qcow2,format=qcow2 \
    -device virtio-blk-pci,drive=disk0,id=virtio_disk0 \
    --nographic
'
2  the vm can work well with with net test, such as netperf or iperf test.


V4:
   Rebase,and fix build error.
V3:
   Rebase,add patch4 to disable msgint in KVM model.


Thanks,
Song Gao

Song Gao (3):
  target/loongarch: Add kvm support dintc
  Add dintc kvm_irqchip_in_kernel support
  target/loongarch: KVM disable msgint

 hw/intc/loongarch_dintc.c         | 13 ++++++
 hw/intc/loongarch_dintc_kvm.c     | 48 ++++++++++++++++++++
 hw/intc/meson.build               |  2 +
 include/hw/intc/loongarch_dintc.h | 10 +++++
 target/loongarch/cpu.c            |  8 ++--
 target/loongarch/cpu.h            |  1 +
 target/loongarch/kvm/kvm.c        | 74 +++++++++++++++++++++++++++++++
 7 files changed, 153 insertions(+), 3 deletions(-)
 create mode 100644 hw/intc/loongarch_dintc_kvm.c

-- 
2.47.3