From: gaosong <[email protected]>

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


Reply via email to