Ping ~ 在 2026/4/27 下午3:00, Song Gao 写道:
HiThis 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. Since the kernel now supports DINTC on the KVM model, this series of updates will no longer use the 'RFC' header; In addition, this series updates the Linux header files to version 7.1-rc1, and updates the `update-linux-headers.sh` script to include `typelimits.h`. 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. Thanks. Song Gao Song Gao (4): update-linux-headers.sh: add typelimits.h to portable header list linux-headers: update to Linux 7.1-rc1 target/loongarch: Add kvm support dintc Add dintc kvm_irqchip_in_kernel support 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 + include/standard-headers/drm/drm_fourcc.h | 28 +- include/standard-headers/linux/const.h | 18 + include/standard-headers/linux/ethtool.h | 28 +- .../linux/input-event-codes.h | 13 + include/standard-headers/linux/pci_regs.h | 71 ++- include/standard-headers/linux/typelimits.h | 8 + include/standard-headers/linux/virtio_ring.h | 3 +- include/standard-headers/linux/virtio_rtc.h | 237 ++++++++++ include/standard-headers/linux/vmclock-abi.h | 20 + linux-headers/asm-arm64/kvm.h | 1 + linux-headers/asm-arm64/unistd_64.h | 1 + linux-headers/asm-generic/unistd.h | 5 +- linux-headers/asm-loongarch/kvm.h | 5 + linux-headers/asm-loongarch/kvm_para.h | 1 + linux-headers/asm-loongarch/unistd_64.h | 2 + linux-headers/asm-mips/unistd_n32.h | 1 + linux-headers/asm-mips/unistd_n64.h | 1 + linux-headers/asm-mips/unistd_o32.h | 1 + linux-headers/asm-powerpc/unistd_32.h | 1 + linux-headers/asm-powerpc/unistd_64.h | 1 + linux-headers/asm-riscv/kvm.h | 11 +- linux-headers/asm-riscv/ptrace.h | 37 ++ linux-headers/asm-riscv/unistd_32.h | 1 + linux-headers/asm-riscv/unistd_64.h | 1 + linux-headers/asm-s390/unistd_32.h | 446 ------------------ linux-headers/asm-s390/unistd_64.h | 1 + linux-headers/asm-x86/kvm.h | 21 +- linux-headers/asm-x86/unistd_32.h | 1 + linux-headers/asm-x86/unistd_64.h | 1 + linux-headers/asm-x86/unistd_x32.h | 1 + linux-headers/linux/const.h | 18 + linux-headers/linux/iommufd.h | 48 ++ linux-headers/linux/kvm.h | 46 +- linux-headers/linux/mshv.h | 4 +- linux-headers/linux/psp-sev.h | 2 +- linux-headers/linux/stddef.h | 4 + linux-headers/linux/vduse.h | 85 +++- linux-headers/linux/vfio.h | 30 +- scripts/update-linux-headers.sh | 1 + target/loongarch/cpu.c | 5 +- target/loongarch/cpu.h | 1 + target/loongarch/kvm/kvm.c | 69 +++ 46 files changed, 857 insertions(+), 496 deletions(-) create mode 100644 hw/intc/loongarch_dintc_kvm.c create mode 100644 include/standard-headers/linux/typelimits.h create mode 100644 include/standard-headers/linux/virtio_rtc.h delete mode 100644 linux-headers/asm-s390/unistd_32.h
