{"id":2228632,"url":"http://patchwork.ozlabs.org/api/1.1/covers/2228632/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/cover/20260427070029.1059386-1-gaosong@loongson.cn/","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/1.1/projects/14/?format=json","name":"QEMU Development","link_name":"qemu-devel","list_id":"qemu-devel.nongnu.org","list_email":"qemu-devel@nongnu.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260427070029.1059386-1-gaosong@loongson.cn>","date":"2026-04-27T07:00:25","name":"[0/4] LoongArch : Add KVM DINTC support","submitter":{"id":82024,"url":"http://patchwork.ozlabs.org/api/1.1/people/82024/?format=json","name":"Song Gao","email":"gaosong@loongson.cn"},"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/cover/20260427070029.1059386-1-gaosong@loongson.cn/mbox/","series":[{"id":501589,"url":"http://patchwork.ozlabs.org/api/1.1/series/501589/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/list/?series=501589","date":"2026-04-27T07:00:28","name":"LoongArch : Add KVM DINTC support","version":1,"mbox":"http://patchwork.ozlabs.org/series/501589/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/2228632/comments/","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":"legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)","Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g3wBS41xWz1yJs\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 27 Apr 2026 17:27:27 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wHGMe-00069C-M8; Mon, 27 Apr 2026 03:26:44 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <gaosong@loongson.cn>)\n id 1wHGMa-00068i-NS\n for qemu-devel@nongnu.org; Mon, 27 Apr 2026 03:26:40 -0400","from mail.loongson.cn ([114.242.206.163])\n by eggs.gnu.org with esmtp (Exim 4.90_1)\n (envelope-from <gaosong@loongson.cn>) id 1wHGMW-00026L-R2\n for qemu-devel@nongnu.org; Mon, 27 Apr 2026 03:26:40 -0400","from loongson.cn (unknown [10.2.5.185])\n by gateway (Coremail) with SMTP id _____8Dx7emeD+9pQUQEAA--.14035S3;\n Mon, 27 Apr 2026 15:26:22 +0800 (CST)","from localhost.localdomain (unknown [10.2.5.185])\n by front1 (Coremail) with SMTP id qMiowJAxHMKbD+9pqJN1AA--.25769S2;\n Mon, 27 Apr 2026 15:26:20 +0800 (CST)"],"From":"Song Gao <gaosong@loongson.cn>","To":"maobibo@loongson.cn","Cc":"qemu-devel@nongnu.org,\n\tlixianglai@loongson.cn,\n\tchenhuacai@loongson.cn","Subject":"[PATCH  0/4] LoongArch : Add KVM DINTC support","Date":"Mon, 27 Apr 2026 15:00:25 +0800","Message-Id":"<20260427070029.1059386-1-gaosong@loongson.cn>","X-Mailer":"git-send-email 2.39.1","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-CM-TRANSID":"qMiowJAxHMKbD+9pqJN1AA--.25769S2","X-CM-SenderInfo":"5jdr20tqj6z05rqj20fqof0/","X-Coremail-Antispam":"1Uk129KBjDUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7KY7\n ZEXasCq-sGcSsGvfJ3UbIjqfuFe4nvWSU5nxnvy29KBjDU0xBIdaVrnUUvcSsGvfC2Kfnx\n nUUI43ZEXa7xR_UUUUUUUUU==","Received-SPF":"pass client-ip=114.242.206.163;\n envelope-from=gaosong@loongson.cn;\n helo=mail.loongson.cn","X-Spam_score_int":"-18","X-Spam_score":"-1.9","X-Spam_bar":"-","X-Spam_report":"(-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"},"content":"Hi\n\nThis series adds KVM put/get support for msgint CSRs and introduces\nmsgint feature checks. It also adds kvm_dintc_realize() when\nkvm_irqchip_in_kernel is enabled, which creates and initializes the DINTC\ndevice in kernel mode. \n\nSince the kernel now supports DINTC on the KVM model,\nthis series of updates will no longer use the 'RFC' header;\n\nIn addition, this series updates the Linux header files to version 7.1-rc1,\nand updates the `update-linux-headers.sh` script to include `typelimits.h`.\n\nAbout Testing:\n1. run script with '-cpu max,msgint=on' and 'virt,dmsi=on.'\n'\n./build/qemu-system-loongarch64 -accel kvm \\\n     -bios /usr/share/edk2/loongarch64/QEMU_EFI-silent-pflash.raw \\\n     -cpu max,msgint=on\\\n     -smp 4 \\\n     -machine virt,dmsi=on,kernel_irqchip=on\\\n     -m 16G \\\n     -netdev tap,id=net0,ifname=tap0,script=/root/net.sh,downscript=no,vhost=on,queues=4 \\\n    -device virtio-net-pci,netdev=net0,mq=on,vectors=128,mac=52:54:00:12:34:56 \\\n     -monitor telnet:localhost:4418,server,nowait \\\n    -device virtio-gpu-pci \\\n    -drive if=none,id=disk0,file=/home/kvm/lns23.qcow2,format=qcow2 \\\n    -device virtio-blk-pci,drive=disk0,id=virtio_disk0 \\\n    --nographic\n'\n2  the vm can work well with with net test, such as netperf or iperf test.\n\nThanks.\nSong Gao\n\n\nSong Gao (4):\n  update-linux-headers.sh: add typelimits.h to portable header list\n  linux-headers: update to Linux 7.1-rc1\n  target/loongarch: Add kvm support dintc\n  Add dintc kvm_irqchip_in_kernel support\n\n hw/intc/loongarch_dintc.c                     |  13 +\n hw/intc/loongarch_dintc_kvm.c                 |  48 ++\n hw/intc/meson.build                           |   2 +\n include/hw/intc/loongarch_dintc.h             |  10 +\n include/standard-headers/drm/drm_fourcc.h     |  28 +-\n include/standard-headers/linux/const.h        |  18 +\n include/standard-headers/linux/ethtool.h      |  28 +-\n .../linux/input-event-codes.h                 |  13 +\n include/standard-headers/linux/pci_regs.h     |  71 ++-\n include/standard-headers/linux/typelimits.h   |   8 +\n include/standard-headers/linux/virtio_ring.h  |   3 +-\n include/standard-headers/linux/virtio_rtc.h   | 237 ++++++++++\n include/standard-headers/linux/vmclock-abi.h  |  20 +\n linux-headers/asm-arm64/kvm.h                 |   1 +\n linux-headers/asm-arm64/unistd_64.h           |   1 +\n linux-headers/asm-generic/unistd.h            |   5 +-\n linux-headers/asm-loongarch/kvm.h             |   5 +\n linux-headers/asm-loongarch/kvm_para.h        |   1 +\n linux-headers/asm-loongarch/unistd_64.h       |   2 +\n linux-headers/asm-mips/unistd_n32.h           |   1 +\n linux-headers/asm-mips/unistd_n64.h           |   1 +\n linux-headers/asm-mips/unistd_o32.h           |   1 +\n linux-headers/asm-powerpc/unistd_32.h         |   1 +\n linux-headers/asm-powerpc/unistd_64.h         |   1 +\n linux-headers/asm-riscv/kvm.h                 |  11 +-\n linux-headers/asm-riscv/ptrace.h              |  37 ++\n linux-headers/asm-riscv/unistd_32.h           |   1 +\n linux-headers/asm-riscv/unistd_64.h           |   1 +\n linux-headers/asm-s390/unistd_32.h            | 446 ------------------\n linux-headers/asm-s390/unistd_64.h            |   1 +\n linux-headers/asm-x86/kvm.h                   |  21 +-\n linux-headers/asm-x86/unistd_32.h             |   1 +\n linux-headers/asm-x86/unistd_64.h             |   1 +\n linux-headers/asm-x86/unistd_x32.h            |   1 +\n linux-headers/linux/const.h                   |  18 +\n linux-headers/linux/iommufd.h                 |  48 ++\n linux-headers/linux/kvm.h                     |  46 +-\n linux-headers/linux/mshv.h                    |   4 +-\n linux-headers/linux/psp-sev.h                 |   2 +-\n linux-headers/linux/stddef.h                  |   4 +\n linux-headers/linux/vduse.h                   |  85 +++-\n linux-headers/linux/vfio.h                    |  30 +-\n scripts/update-linux-headers.sh               |   1 +\n target/loongarch/cpu.c                        |   5 +-\n target/loongarch/cpu.h                        |   1 +\n target/loongarch/kvm/kvm.c                    |  69 +++\n 46 files changed, 857 insertions(+), 496 deletions(-)\n create mode 100644 hw/intc/loongarch_dintc_kvm.c\n create mode 100644 include/standard-headers/linux/typelimits.h\n create mode 100644 include/standard-headers/linux/virtio_rtc.h\n delete mode 100644 linux-headers/asm-s390/unistd_32.h"}