Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: e3526d0fd73949fd6eafd97711351a7934b496a3
      
https://github.com/qemu/qemu/commit/e3526d0fd73949fd6eafd97711351a7934b496a3
  Author: Jiaxun Yang <[email protected]>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M hw/arm/boot.c
    M hw/core/loader.c
    M include/hw/loader.h

  Log Message:
  -----------
  hw/core/loader: Use ssize_t for efi zboot unpacker

Convert to use sszie_t to represent size internally to avoid
large image overflowing the size.

Suggested-by: Richard Henderson <[email protected]>
Signed-off-by: Jiaxun Yang <[email protected]>
Signed-off-by: Bibo Mao <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>


  Commit: cc4ba2c2d25229ad39bf04a620f7d3b071b2af1d
      
https://github.com/qemu/qemu/commit/cc4ba2c2d25229ad39bf04a620f7d3b071b2af1d
  Author: Jiaxun Yang <[email protected]>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M hw/loongarch/boot.c

  Log Message:
  -----------
  hw/loongarch/boot: Support Linux raw boot image

Support booting such image by parsing header as per Linux's
specification [1].

This enabled booting vmlinux.efi/vmlinuz.efi shipped by
distros without supplying BIOS.

[1]: https://docs.kernel.org/arch/loongarch/booting.html

Signed-off-by: Jiaxun Yang <[email protected]>
Signed-off-by: Bibo Mao <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>


  Commit: 38adceb4c38de657f03132ccd9fd380395957a9f
      
https://github.com/qemu/qemu/commit/38adceb4c38de657f03132ccd9fd380395957a9f
  Author: Bibo Mao <[email protected]>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M target/loongarch/helper.h
    M target/loongarch/tcg/csr_helper.c
    M target/loongarch/tcg/insn_trans/trans_privileged.c.inc
    M target/loongarch/tcg/tlb_helper.c

  Log Message:
  -----------
  target/loongarch: Only support 64bit pte width

iFrom LoongArch Reference Manual pte width can be 64bit, 128bit
or more. Instead real hardware only supports 64bit pte width.
For 12bit pte, there is no detail definition for all 128bit
from manual.

Here only 64bit pte width is supported for simplicity, will add
this in later if real hw support it and there is definition for
all the bits from manual.

Signed-off-by: Bibo Mao <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>


  Commit: 5a3e068d411c563d924f5eb40f82e91aaca1eaed
      
https://github.com/qemu/qemu/commit/5a3e068d411c563d924f5eb40f82e91aaca1eaed
  Author: Bibo Mao <[email protected]>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M hw/intc/loongarch_extioi.c
    M hw/intc/loongarch_extioi_common.c
    M include/hw/intc/loongarch_extioi_common.h

  Log Message:
  -----------
  hw/intc/loongarch_extioi: Get cpu number from possible_cpu_arch_ids

Supported CPU number can be acquired from function
possible_cpu_arch_ids(), cpu-num property is not necessary.

Signed-off-by: Bibo Mao <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>


  Commit: 0443b858873d1a80eb9ede901513b247b83ea76b
      
https://github.com/qemu/qemu/commit/0443b858873d1a80eb9ede901513b247b83ea76b
  Author: Bibo Mao <[email protected]>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M hw/intc/loongarch_extioi_common.c
    M hw/loongarch/virt.c

  Log Message:
  -----------
  hw/intc/loongarch_extioi: Remove num-cpu property

Since cpu number can be acquired from possible_cpu_arch_ids(),
num-cpu property is not necessary. Here remove num-cpu property
for object TYPE_LOONGARCH_EXTIOI_COMMON object.

Signed-off-by: Bibo Mao <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>


  Commit: c3afa714bcea4c8b014fec99881bd0bdbe8262b8
      
https://github.com/qemu/qemu/commit/c3afa714bcea4c8b014fec99881bd0bdbe8262b8
  Author: Bibo Mao <[email protected]>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M hw/intc/loongarch_extioi.c

  Log Message:
  -----------
  hw/intc/loongarch_extioi: Add irq routing support from physical id

The simliar with IPI interrupt controller, physical cpu id is used
for irq routing for extioi interrupt controller.

Signed-off-by: Bibo Mao <[email protected]>
Reviewed-by: Bibo Mao <[email protected]>


  Commit: 981780cdda5a60ae7ae319933673ff9475245965
      
https://github.com/qemu/qemu/commit/981780cdda5a60ae7ae319933673ff9475245965
  Author: David Woodhouse <[email protected]>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M hw/i386/kvm/xen_evtchn.c
    M hw/i386/kvm/xen_evtchn.h
    M hw/i386/x86-common.c

  Log Message:
  -----------
  hw/i386/pc: Fix level interrupt sharing for Xen event channel GSI

The system GSIs are not designed for sharing. One device might assert a
shared interrupt with qemu_set_irq() and another might deassert it, and
the level from the first device is lost.

This could be solved by refactoring the x86 GSI code to use an OrIrq
device, but that still wouldn't be ideal.

The best answer would be to have a 'resample' callback which is invoked
when the interrupt is acked at the interrupt controller, and causes the
devices to re-trigger the interrupt if it should still be pending. This
is the model that VFIO in Linux uses, with a 'resampler' eventfd that
actually unmasks the interrupt on the hardware device and thus triggers
a new interrupt from it if needed.

As things stand, QEMU currently doesn't use that VFIO interface
correctly, and just bashes on the resampler for every MMIO access to the
device "just in case". Which requires unmapping and trapping the MMIO
while an interrupt is pending!

For the Xen callback GSI, QEMU does something similar — a flag is set
which triggers a poll on *every* vmexst to see if the GSI should be
deasserted.

Proper resampler support would solve all of that, but is a task for
later which has already been on the TODO list for a while.

Since the Xen event channel GSI support *already* has hooks into the PC
gsi_handler() code for routing GSIs to PIRQs, we can use that for a
simpler bug fix.

So... remember the externally-driven state of the line (from e.g. PCI
INTx) and set the logical OR of that with the GSI. As a bonus, we now
only need to enable the polling of vcpu_info on vmexit if the Xen
callback GSI is the *only* reason the corresponding line is asserted.

Closes: https://gitlab.com/qemu-project/qemu/-/issues/2731
Fixes: ddf0fd9ae1fd ("hw/xen: Support HVM_PARAM_CALLBACK_TYPE_GSI callback")
Reported-by: Thomas Huth <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
Acked-by: Michael S. Tsirkin <[email protected]>


  Commit: b6014c5089a313ac84fe74970eee56e3fc87b49b
      
https://github.com/qemu/qemu/commit/b6014c5089a313ac84fe74970eee56e3fc87b49b
  Author: Akihiko Odaki <[email protected]>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M hw/i386/kvm/xen_xenstore.c

  Log Message:
  -----------
  hw/xen: Check if len is 0 before memcpy()

data->data can be NULL when len is 0. Strictly speaking, the behavior
of memcpy() in such a scenario is undefined so UBSan complaints.

Satisfy UBSan by checking if len is 0 before memcpy().

Signed-off-by: Akihiko Odaki <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>


  Commit: c10ed2fac295d77370c4c81091af5deb3859e35d
      
https://github.com/qemu/qemu/commit/c10ed2fac295d77370c4c81091af5deb3859e35d
  Author: Stefan Hajnoczi <[email protected]>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M hw/arm/boot.c
    M hw/core/loader.c
    M hw/intc/loongarch_extioi.c
    M hw/intc/loongarch_extioi_common.c
    M hw/loongarch/boot.c
    M hw/loongarch/virt.c
    M include/hw/intc/loongarch_extioi_common.h
    M include/hw/loader.h
    M target/loongarch/helper.h
    M target/loongarch/tcg/csr_helper.c
    M target/loongarch/tcg/insn_trans/trans_privileged.c.inc
    M target/loongarch/tcg/tlb_helper.c

  Log Message:
  -----------
  Merge tag 'pull-loongarch-20250109' of https://gitlab.com/bibo-mao/qemu into 
staging

loongarch queue

# -----BEGIN PGP SIGNATURE-----
#
# iHUEABYKAB0WIQQNhkKjomWfgLCz0aQfewwSUazn0QUCZ39pJgAKCRAfewwSUazn
# 0YpMAQCNV9KJJ8f8EaXAw5a87mnmlcP0vRi5gZiyv1ZV9gRqPgEAhzCn/rnzpzd+
# H3B1fRlD1xmaQ8IqRugQ4vfDBd9CyQY=
# =OG4d
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 09 Jan 2025 01:13:58 EST
# gpg:                using EDDSA key 0D8642A3A2659F80B0B3D1A41F7B0C1251ACE7D1
# gpg: Good signature from "bibo mao <[email protected]>" [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: 7044 3A00 19C0 E97A 31C7  13C4 8E86 8FB7 A176 9D4C
#      Subkey fingerprint: 0D86 42A3 A265 9F80 B0B3  D1A4 1F7B 0C12 51AC E7D1

* tag 'pull-loongarch-20250109' of https://gitlab.com/bibo-mao/qemu:
  hw/intc/loongarch_extioi: Add irq routing support from physical id
  hw/intc/loongarch_extioi: Remove num-cpu property
  hw/intc/loongarch_extioi: Get cpu number from possible_cpu_arch_ids
  target/loongarch: Only support 64bit pte width
  hw/loongarch/boot: Support Linux raw boot image
  hw/core/loader: Use ssize_t for efi zboot unpacker

Signed-off-by: Stefan Hajnoczi <[email protected]>


  Commit: bc6afa1c711da5b4f37c9685a812c77b114d84cb
      
https://github.com/qemu/qemu/commit/bc6afa1c711da5b4f37c9685a812c77b114d84cb
  Author: Stefan Hajnoczi <[email protected]>
  Date:   2025-01-09 (Thu, 09 Jan 2025)

  Changed paths:
    M hw/i386/kvm/xen_evtchn.c
    M hw/i386/kvm/xen_evtchn.h
    M hw/i386/kvm/xen_xenstore.c
    M hw/i386/x86-common.c

  Log Message:
  -----------
  Merge tag 'pull-xenfv-20250109-1' of https://gitlab.com/dwmw2/qemu into 
staging

Xen emulation fixes

# -----BEGIN PGP SIGNATURE-----
#
# iQJGBAABCAAwFiEEMUsIrNDeSBEzpfKGm+mA/QrAFUQFAmd/qNYSHGR3bXdAYW1h
# em9uLmNvLnVrAAoJEJvpgP0KwBVEtHsP/1qdpeVDCW1LAdGsOl9vixBXTR5/85G4
# m1KilpAPyxla8WfChRIagIdSAYGP5gN+yzbZ74AGb8HxumqJdl0bj6Gtqms2r8EQ
# 4T7IU1iNONDkncApkHdQW9BdKg4Atq3dY8dEaN1UxzCfRjHC/KS5vHPN3OzGKqJ1
# tAk8wOcDtp7cfW+utw2ssjVR14cfJLQCR7/ehBfeFkC0DSd8p/yTJ31bFnLyPpBn
# vh03MrslqV+h47D0uQxKwx5rtvNQhhIc/eRR/RymY3BSzAqRiyed/hTvsrRy4y/Z
# EXB8ACQ6U2Ikrj//VXimSTx5aQDeGIU8nD6zvNRWZ1rTmTtD3n5dOxL2U9U5DBHb
# TtlYhyochV6zO76mbINyjkSkGdj8ZZgF+5w5IIEhjazfHdWDuMdG0IjcRxl0r2Qz
# 4jaoVjxMUT/MLI4noSVYFF29/aWYxsk/nsYCPOM2X4WuzK4/ragIWbpZZqOIFn4X
# NyEc7xD2z9iL3MZe0Ygsa1eRpi/Gak0ih6W/u6ngON2EGESdF4T+CI+zTp6I4xtp
# jOrAGltp6012pRJibHrKKdpnTYuQCRj3kSFAEP+JhNSBDUhbZ5lJWTnxiW7BkBO4
# BujmX3TMFsdt4jDqNQzht84Tgf4JEAYbGCks9msFcoYdZovKcyG3kgfZyAVfEap2
# kvCgGk7JMz1A
# =5kvA
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 09 Jan 2025 05:45:42 EST
# gpg:                using RSA key 314B08ACD0DE481133A5F2869BE980FD0AC01544
# gpg:                issuer "[email protected]"
# gpg: Good signature from "David Woodhouse <[email protected]>" [unknown]
# gpg:                 aka "David Woodhouse <[email protected]>" [unknown]
# gpg: WARNING: The key's User ID is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 314B 08AC D0DE 4811 33A5  F286 9BE9 80FD 0AC0 1544

* tag 'pull-xenfv-20250109-1' of https://gitlab.com/dwmw2/qemu:
  hw/xen: Check if len is 0 before memcpy()
  hw/i386/pc: Fix level interrupt sharing for Xen event channel GSI

Signed-off-by: Stefan Hajnoczi <[email protected]>


Compare: https://github.com/qemu/qemu/compare/3f8bcbba3b32...bc6afa1c711d

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications

Reply via email to