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

Reply via email to