Branch: refs/heads/staging Home: https://github.com/qemu/qemu Commit: 8bf8814ab1aba0243127bcada19414dddbfe9e51 https://github.com/qemu/qemu/commit/8bf8814ab1aba0243127bcada19414dddbfe9e51 Author: Bibo Mao <maob...@loongson.cn> Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths: M hw/intc/loongarch_extioi.c A hw/intc/loongarch_extioi_kvm.c M hw/intc/meson.build M include/hw/intc/loongarch_extioi.h Log Message: ----------- hw/intc/loongarch_extioi: Add kernel irqchip realize function Function kvm_extioi_realize() is added if kvm_irqchip_in_kernel is set. It is to create and initialize ExtIOI device in kernel mode. Reviewed-by: Song Gao <gaos...@loongson.cn> Signed-off-by: Bibo Mao <maob...@loongson.cn> Message-ID: <20250606063033.2557365-2-maob...@loongson.cn> Signed-off-by: Song Gao <gaos...@loongson.cn> Commit: 228c5413fb50ab43644689f4959c3ef1ef7571ea https://github.com/qemu/qemu/commit/228c5413fb50ab43644689f4959c3ef1ef7571ea Author: Bibo Mao <maob...@loongson.cn> Date: 2025-06-19 (Thu, 19 Jun 2025) Changed paths: M hw/intc/loongarch_extioi.c M hw/intc/loongarch_extioi_kvm.c M include/hw/intc/loongarch_extioi.h Log Message: ----------- hw/intc/loongarch_extioi: Add kernel irqchip save and restore function Add save and store funtction if kvm_irqchip_in_kernel() return true, it is to get and set ExtIOI irqchip state from KVM kernel. Reviewed-by: Song Gao <gaos...@loongson.cn> Signed-off-by: Bibo Mao <maob...@loongson.cn> Message-ID: <20250606063033.2557365-3-maob...@loongson.cn> Signed-off-by: Song Gao <gaos...@loongson.cn> Commit: 412f655566bfadfe85d6f52a7e4420b418f261c3 https://github.com/qemu/qemu/commit/412f655566bfadfe85d6f52a7e4420b418f261c3 Author: Bibo Mao <maob...@loongson.cn> Date: 2025-06-19 (Thu, 19 Jun 2025) Changed paths: M hw/intc/loongarch_ipi.c A hw/intc/loongarch_ipi_kvm.c M hw/intc/loongson_ipi_common.c M hw/intc/meson.build M include/hw/intc/loongarch_ipi.h Log Message: ----------- hw/intc/loongarch_ipi: Add kernel irqchip realize function Function kvm_ipi_realize() is added if kvm_irqchip_in_kernel() return true. It is to create and initialize IPI device in kernel mode. Reviewed-by: Song Gao <gaos...@loongson.cn> Signed-off-by: Bibo Mao <maob...@loongson.cn> Message-ID: <20250606063033.2557365-4-maob...@loongson.cn> Signed-off-by: Song Gao <gaos...@loongson.cn> Commit: 14be318c952ce2c29f2a69204a23c0008f779a3f https://github.com/qemu/qemu/commit/14be318c952ce2c29f2a69204a23c0008f779a3f Author: Bibo Mao <maob...@loongson.cn> Date: 2025-06-19 (Thu, 19 Jun 2025) Changed paths: M hw/intc/loongson_ipi_common.c M include/hw/intc/loongson_ipi_common.h Log Message: ----------- hw/intc/loongson_ipi: Add load and save interface with ipi_common class Add pre_save and post_load interfaces with ipi_common class, here only framework ipi_common adds these interfaces. The defailed implementation is LoongArchIPI child device in later. Reviewed-by: Song Gao <gaos...@loongson.cn> Signed-off-by: Bibo Mao <maob...@loongson.cn> Message-ID: <20250606063033.2557365-5-maob...@loongson.cn> Signed-off-by: Song Gao <gaos...@loongson.cn> Commit: f936caa315750406f50feb1ac9c93770b47ebe96 https://github.com/qemu/qemu/commit/f936caa315750406f50feb1ac9c93770b47ebe96 Author: Bibo Mao <maob...@loongson.cn> Date: 2025-06-19 (Thu, 19 Jun 2025) Changed paths: M hw/intc/loongarch_ipi.c M hw/intc/loongarch_ipi_kvm.c M include/hw/intc/loongarch_ipi.h Log Message: ----------- hw/intc/loongarch_ipi: Add kernel irqchip save and restore function Add save and store funtction if kvm_irqchip_in_kernel() return true, it is to get and set IPI irqchip state from KVM kernel. Reviewed-by: Song Gao <gaos...@loongson.cn> Signed-off-by: Bibo Mao <maob...@loongson.cn> Message-ID: <20250606063033.2557365-6-maob...@loongson.cn> Signed-off-by: Song Gao <gaos...@loongson.cn> Commit: 5b0e05b9023793197b82fd6feb275459adc9e10c https://github.com/qemu/qemu/commit/5b0e05b9023793197b82fd6feb275459adc9e10c Author: Bibo Mao <maob...@loongson.cn> Date: 2025-06-19 (Thu, 19 Jun 2025) Changed paths: M hw/intc/loongarch_pch_msi.c Log Message: ----------- hw/intc/loongarch_pch_msi: Inject MSI interrupt to kernel If kvm_irqchip_in_kernel() return true, MSI interrupt can be injected with API kvm_irqchip_send_msi() to KVM. Reviewed-by: Song Gao <gaos...@loongson.cn> Signed-off-by: Bibo Mao <maob...@loongson.cn> Message-ID: <20250606063033.2557365-7-maob...@loongson.cn> Signed-off-by: Song Gao <gaos...@loongson.cn> Commit: b758e28974614a15e70fbc983e28fe77852564ee https://github.com/qemu/qemu/commit/b758e28974614a15e70fbc983e28fe77852564ee Author: Bibo Mao <maob...@loongson.cn> Date: 2025-06-19 (Thu, 19 Jun 2025) Changed paths: M hw/intc/loongarch_pch_pic.c A hw/intc/loongarch_pic_kvm.c M hw/intc/meson.build M include/hw/intc/loongarch_pch_pic.h Log Message: ----------- hw/intc/loongarch_pch: Add kernel irqchip realize function Function kvm_pic_realize() is added if kvm_irqchip_in_kernel() return true. It is to notify KVM kernel to create and initialize PCH PCI device in kernel mode. Reviewed-by: Song Gao <gaos...@loongson.cn> Signed-off-by: Bibo Mao <maob...@loongson.cn> Message-ID: <20250606063033.2557365-8-maob...@loongson.cn> Signed-off-by: Song Gao <gaos...@loongson.cn> Commit: 11a04c9f40ac479f68139f6801da314591e67ae1 https://github.com/qemu/qemu/commit/11a04c9f40ac479f68139f6801da314591e67ae1 Author: Bibo Mao <maob...@loongson.cn> Date: 2025-06-19 (Thu, 19 Jun 2025) Changed paths: M hw/intc/loongarch_pch_pic.c M hw/intc/loongarch_pic_kvm.c M include/hw/intc/loongarch_pch_pic.h M include/hw/intc/loongarch_pic_common.h Log Message: ----------- hw/intc/loongarch_pch: Add kernel irqchip save and restore function Add save and store funtction if kvm_irqchip_in_kernel() return true, it is to get and set PCH PCI irqchip state from KVM kernel. Reviewed-by: Song Gao <gaos...@loongson.cn> Signed-off-by: Bibo Mao <maob...@loongson.cn> Message-ID: <20250606063033.2557365-9-maob...@loongson.cn> Signed-off-by: Song Gao <gaos...@loongson.cn> Commit: 0dd6798a1adda03dcfa6304437faa8e62a193d9c https://github.com/qemu/qemu/commit/0dd6798a1adda03dcfa6304437faa8e62a193d9c Author: Bibo Mao <maob...@loongson.cn> Date: 2025-06-19 (Thu, 19 Jun 2025) Changed paths: M hw/intc/loongarch_pch_pic.c Log Message: ----------- hw/intc/loongarch_pch: Inject irq line interrupt to kernel If kvm_irqchip_in_kernel() return true, irq line interrupt can be injected with API kvm_set_irq() to KVM. Reviewed-by: Song Gao <gaos...@loongson.cn> Signed-off-by: Bibo Mao <maob...@loongson.cn> Message-ID: <20250606063033.2557365-10-maob...@loongson.cn> Signed-off-by: Song Gao <gaos...@loongson.cn> Commit: c642ddf19b248bb668e40a8d15089b877e4057fa https://github.com/qemu/qemu/commit/c642ddf19b248bb668e40a8d15089b877e4057fa Author: Bibo Mao <maob...@loongson.cn> Date: 2025-06-19 (Thu, 19 Jun 2025) Changed paths: M hw/intc/loongarch_extioi.c M hw/intc/loongarch_extioi_kvm.c M hw/intc/loongarch_ipi.c M hw/intc/loongarch_ipi_kvm.c M hw/intc/loongarch_pch_pic.c M hw/intc/loongarch_pic_kvm.c Log Message: ----------- hw/loongarch/virt: Add reset support for kernel irqchip When system reboot, interrupt controller is restored to initial state. However if interrupt controller extioi/ipi/pch_pic is emulated in kernel, it should notify kvm to do so. Here suspend and restore API is used for reset, set initial state in qemu user space and restore API is used to notify kvm to reload register state. Reviewed-by: Song Gao <gaos...@loongson.cn> Signed-off-by: Bibo Mao <maob...@loongson.cn> Message-ID: <20250606063033.2557365-11-maob...@loongson.cn> Signed-off-by: Song Gao <gaos...@loongson.cn> Commit: 74586a2482575776fff5f5f75e0657524c60719d https://github.com/qemu/qemu/commit/74586a2482575776fff5f5f75e0657524c60719d Author: Bibo Mao <maob...@loongson.cn> Date: 2025-06-19 (Thu, 19 Jun 2025) Changed paths: M target/loongarch/kvm/kvm.c Log Message: ----------- target/loongarch: Report error with split kernel_irqchip option Option kernel_irqchip=split is not supported on LoongArch virt machine, report error and exit if detect split kernel_irqchip option. Reviewed-by: Song Gao <gaos...@loongson.cn> Signed-off-by: Bibo Mao <maob...@loongson.cn> Message-ID: <20250606063431.2557468-1-maob...@loongson.cn> Signed-off-by: Song Gao <gaos...@loongson.cn> Commit: 17fb88a0fa0a13b0e2976a2fe04756337d95fe1f https://github.com/qemu/qemu/commit/17fb88a0fa0a13b0e2976a2fe04756337d95fe1f Author: Bibo Mao <maob...@loongson.cn> Date: 2025-06-19 (Thu, 19 Jun 2025) Changed paths: M hw/loongarch/virt.c Log Message: ----------- hw/loongarch/virt: Disable emulation with IOCSR misc register Register IOCSR MISC_FUNC_REG is to enable features about EXTIOI irqchip. If EXTIOI is emulated in kernel, MISC_FUNC_REG register should be emulated in kernel also. Reviewed-by: Song Gao <gaos...@loongson.cn> Signed-off-by: Bibo Mao <maob...@loongson.cn> Message-ID: <20250606063523.2557513-1-maob...@loongson.cn> Signed-off-by: Song Gao <gaos...@loongson.cn> Commit: 27f5d500c2259650076e3abd72f092b566fd81ac https://github.com/qemu/qemu/commit/27f5d500c2259650076e3abd72f092b566fd81ac Author: Bibo Mao <maob...@loongson.cn> Date: 2025-06-19 (Thu, 19 Jun 2025) Changed paths: M hw/loongarch/virt.c M target/loongarch/cpu.h M target/loongarch/kvm/kvm.c Log Message: ----------- hw/loongarch/virt: Add kernel irqchip support If kvm_irqchip_in_kernel() return true, interrupt controller ExtIOI, IPI, PCH_PCI and PCH_MSI should be emlated in kernel. And it is not necessary to create memory region for these devices in user space. Reviewed-by: Song Gao <gaos...@loongson.cn> Signed-off-by: Bibo Mao <maob...@loongson.cn> Message-ID: <20250606063607.2557540-1-maob...@loongson.cn> Signed-off-by: Song Gao <gaos...@loongson.cn> Commit: c2a2e1ad2a749caa864281b1d4dc3f16c3f344f6 https://github.com/qemu/qemu/commit/c2a2e1ad2a749caa864281b1d4dc3f16c3f344f6 Author: Song Gao <gaos...@loongson.cn> Date: 2025-06-19 (Thu, 19 Jun 2025) Changed paths: M target/loongarch/tcg/insn_trans/trans_vec.c.inc Log Message: ----------- target/loongarch: fix vldi/xvldi raise wrong error on qemu we got an aborted error ** ERROR:../target/loongarch/tcg/insn_trans/trans_vec.c.inc:3574:vldi_get_value: code should not be reached Bail out! ERROR:../target/loongarch/tcg/insn_trans/trans_vec.c.inc:3574:vldi_get_value: code should not be reached Aborted (core dumped) but on 3A600/3A5000 we got a "Illegal instruction" error. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2971 Fixes: 29bb5d727ff ("target/loongarch: Implement vldi") Cc: qemu-sta...@nongnu.org Reviewed-by: Bibo Mao <maob...@loongson.cn> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Song Gao <gaos...@loongson.cn> Commit: d01d42ccc9510c039b2e4ec49af164e374eab154 https://github.com/qemu/qemu/commit/d01d42ccc9510c039b2e4ec49af164e374eab154 Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2025-06-23 (Mon, 23 Jun 2025) Changed paths: M hw/intc/loongarch_extioi.c A hw/intc/loongarch_extioi_kvm.c M hw/intc/loongarch_ipi.c A hw/intc/loongarch_ipi_kvm.c M hw/intc/loongarch_pch_msi.c M hw/intc/loongarch_pch_pic.c A hw/intc/loongarch_pic_kvm.c M hw/intc/loongson_ipi_common.c M hw/intc/meson.build M hw/loongarch/virt.c M include/hw/intc/loongarch_extioi.h M include/hw/intc/loongarch_ipi.h M include/hw/intc/loongarch_pch_pic.h M include/hw/intc/loongarch_pic_common.h M include/hw/intc/loongson_ipi_common.h M target/loongarch/cpu.h M target/loongarch/kvm/kvm.c M target/loongarch/tcg/insn_trans/trans_vec.c.inc Log Message: ----------- Merge tag 'pull-loongarch-20250619' of https://github.com/gaosong715/qemu into staging pull-loongarch-20250619 # -----BEGIN PGP SIGNATURE----- # # iLMEAAEIAB0WIQTKRzxE1qCcGJoZP81FK5aFKyaCFgUCaFPPIgAKCRBFK5aFKyaC # Fq67BACc5EYLK/T0Q2DxDmI84ZmK83GBAsQoB/81CLCDwA4ihotLAjqTB1liKFvY # oFexqza3GBxpiyyw+zAUyrx1X/arnSrCAlgPOF2SIZgj1WnHm/jZb+8mdpgFGZc5 # 6TkB4Dr5rmSa8OJLYIiC7gKYu9K3zEO/Dprgx9nj3D4tb8xRDQ== # =601X # -----END PGP SIGNATURE----- # gpg: Signature made Thu 19 Jun 2025 04:49:38 EDT # gpg: using RSA key CA473C44D6A09C189A193FCD452B96852B268216 # gpg: Good signature from "Song Gao <gaos...@loongson.cn>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: CA47 3C44 D6A0 9C18 9A19 3FCD 452B 9685 2B26 8216 * tag 'pull-loongarch-20250619' of https://github.com/gaosong715/qemu: target/loongarch: fix vldi/xvldi raise wrong error hw/loongarch/virt: Add kernel irqchip support hw/loongarch/virt: Disable emulation with IOCSR misc register target/loongarch: Report error with split kernel_irqchip option hw/loongarch/virt: Add reset support for kernel irqchip hw/intc/loongarch_pch: Inject irq line interrupt to kernel hw/intc/loongarch_pch: Add kernel irqchip save and restore function hw/intc/loongarch_pch: Add kernel irqchip realize function hw/intc/loongarch_pch_msi: Inject MSI interrupt to kernel hw/intc/loongarch_ipi: Add kernel irqchip save and restore function hw/intc/loongson_ipi: Add load and save interface with ipi_common class hw/intc/loongarch_ipi: Add kernel irqchip realize function hw/intc/loongarch_extioi: Add kernel irqchip save and restore function hw/intc/loongarch_extioi: Add kernel irqchip realize function Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Compare: https://github.com/qemu/qemu/compare/43ba160cb4bb...d01d42ccc951 To unsubscribe from these emails, change your notification settings at https://github.com/qemu/qemu/settings/notifications