qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 63ce60: target/i386: Delete duplicated macro


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 63ce60: target/i386: Delete duplicated macro definition CR...
Date: Thu, 12 Sep 2024 02:14:43 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 63ce608c71e4446492ac45ad5c3ba9d3f3045caf
      
https://github.com/qemu/qemu/commit/63ce608c71e4446492ac45ad5c3ba9d3f3045caf
  Author: Xin Li (Intel) <xin@zytor.com>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

  Changed paths:
    M target/i386/cpu.h

  Log Message:
  -----------
  target/i386: Delete duplicated macro definition CR4_FRED_MASK

Macro CR4_FRED_MASK is defined twice, delete one.

Signed-off-by: Xin Li (Intel) <xin@zytor.com>
Link: https://lore.kernel.org/r/20240807081813.735158-2-xin@zytor.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 710b0c34be806b7ba2e96ed28b213fae63552d33
      
https://github.com/qemu/qemu/commit/710b0c34be806b7ba2e96ed28b213fae63552d33
  Author: Xin Li (Intel) <xin@zytor.com>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

  Changed paths:
    M target/i386/cpu.c

  Log Message:
  -----------
  target/i386: Add VMX control bits for nested FRED support

Add definitions of
  1) VM-exit activate secondary controls bit
  2) VM-entry load FRED bit
which are required to enable nested FRED.

Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Xin Li (Intel) <xin@zytor.com>
Link: https://lore.kernel.org/r/20240807081813.735158-3-xin@zytor.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 4cd63b7f9b816f7669e8c11bd53cea1e866f1a24
      
https://github.com/qemu/qemu/commit/4cd63b7f9b816f7669e8c11bd53cea1e866f1a24
  Author: Lei Wang <lei4.wang@intel.com>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

  Changed paths:
    M target/i386/cpu.h
    M target/i386/kvm/kvm.c

  Log Message:
  -----------
  target/i386: Raise the highest index value used for any VMCS encoding

Because the index value of the VMCS field encoding of FRED injected-event
data (one of the newly added VMCS fields for FRED transitions), 0x52, is
larger than any existing index value, raise the highest index value used
for any VMCS encoding to 0x52.

Because the index value of the VMCS field encoding of Secondary VM-exit
controls, 0x44, is larger than any existing index value, raise the highest
index value used for any VMCS encoding to 0x44.

Co-developed-by: Xin Li <xin3.li@intel.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
Signed-off-by: Lei Wang <lei4.wang@intel.com>
Signed-off-by: Xin Li (Intel) <xin@zytor.com>
Link: https://lore.kernel.org/r/20240807081813.735158-4-xin@zytor.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 60f6b1375c2b7fa93172e5b94572f4e01bdb7ab8
      
https://github.com/qemu/qemu/commit/60f6b1375c2b7fa93172e5b94572f4e01bdb7ab8
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

  Changed paths:
    M tests/unit/meson.build

  Log Message:
  -----------
  tests/unit: remove block layer code from test-nested-aio-poll

GCC is reporting a NULL pointer dereference when compiling aio_wait_kick()
with LTO.

The issue is that test-nested-aio-poll.c does not call qemu_init_main_loop().
It doesn't _need_ to because it never calls AIO_WAIT_WHILE(), but it seems
that LTO does not do enough dead-code elimination to catch that.

Fortunately aio_wait_kick() is only used in few places, and only in block
layer or system emulation code; and this test only needs the core event loop
functionality.  It does not even need iothreads.   So remove everything that
calls aio_wait_kick(), which is nice for coverage compared to adding the call
to qemu_init_main_loop().

Reported-by: Richard W.M. Jones <rjones@redhat.com>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2434
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: d76ea4f4a59fc23c63eee82180f6f67ddf5ddec5
      
https://github.com/qemu/qemu/commit/d76ea4f4a59fc23c63eee82180f6f67ddf5ddec5
  Author: Kamil Szczęk <kamil@szczek.dev>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

  Changed paths:
    M hw/i386/pc.c

  Log Message:
  -----------
  hw/i386/pc: Add a description for the i8042 property

While working on exposing the i8042 property in libvirt I noticed that
the property is missing a description. This adds a simple description
so that QEMU users don't have to dig in the source code to figure out
what this option does.

Signed-off-by: Kamil Szczęk <kamil@szczek.dev>
Link: 
https://lore.kernel.org/r/15fhXFY6x78KW8P5gw0eKTW8kc17zejrJFxqnOyoBy6vw4W9rCmgDhoxssWosWFs_dbFtfsyjn9wpPrV3x8Nlzhy8mTJSEnXCr4qyHAhXSw=@szczek.dev
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 0f8dff1c4ec019bb695f99cb49f11ed8c216ee76
      
https://github.com/qemu/qemu/commit/0f8dff1c4ec019bb695f99cb49f11ed8c216ee76
  Author: Ani Sinha <anisinha@redhat.com>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

  Changed paths:
    M target/i386/kvm/kvm.c
    M target/i386/kvm/kvm_i386.h

  Log Message:
  -----------
  kvm/i386: make kvm_filter_msr() and related definitions private to kvm module

kvm_filer_msr() is only used from i386 kvm module. Make it static so that its
easy for developers to understand that its not used anywhere else.
Same for QEMURDMSRHandler, QEMUWRMSRHandler and KVMMSRHandlers definitions.

CC: philmd@linaro.org
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Ani Sinha <anisinha@redhat.com>
Link: https://lore.kernel.org/r/20240903140045.41167-1-anisinha@redhat.com
[Make struct unnamed. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 16eee3bcb2a25ee5fcbbffdb04f1b34f15b701bb
      
https://github.com/qemu/qemu/commit/16eee3bcb2a25ee5fcbbffdb04f1b34f15b701bb
  Author: Ani Sinha <anisinha@redhat.com>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

  Changed paths:
    M target/i386/kvm/kvm.c
    M target/i386/kvm/vmsr_energy.c

  Log Message:
  -----------
  kvm/i386: fix return values of is_host_cpu_intel()

is_host_cpu_intel() should return TRUE if the host cpu in Intel based, otherwise
it should return FALSE. Currently, it returns zero (FALSE) when the host CPU
is INTEL and non-zero otherwise. Fix the function so that it agrees more with
the semantics. Adjust the calling logic accordingly. RAPL needs Intel host cpus.
If the host CPU is not Intel baseed, we should report error.

Signed-off-by: Ani Sinha <anisinha@redhat.com>
Link: https://lore.kernel.org/r/20240903080004.33746-1-anisinha@redhat.com
[While touching the code remove too many spaces from the second part of the
 error. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 889485a0820e643c57d21164bb948a610af515be
      
https://github.com/qemu/qemu/commit/889485a0820e643c57d21164bb948a610af515be
  Author: Ani Sinha <anisinha@redhat.com>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

  Changed paths:
    M accel/kvm/kvm-all.c

  Log Message:
  -----------
  kvm: replace fprintf with error_report()/printf() in kvm_init()

error_report() is more appropriate for error situations. Replace fprintf with
error_report() and error_printf() as appropriate. Some improvement in error
reporting also happens as a part of this change. For example:

From:
$ ./qemu-system-x86_64 --accel kvm
Could not access KVM kernel module: No such file or directory

To:
$ ./qemu-system-x86_64 --accel kvm
qemu-system-x86_64: --accel kvm: Could not access KVM kernel module: No such 
file or directory

CC: qemu-trivial@nongnu.org
CC: zhao1.liu@intel.com
CC: armbru@redhat.com
Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Ani Sinha <anisinha@redhat.com>
Link: https://lore.kernel.org/r/20240828124539.62672-1-anisinha@redhat.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: e796c95d808ce59980f952cf2f20cdfa325dd223
      
https://github.com/qemu/qemu/commit/e796c95d808ce59980f952cf2f20cdfa325dd223
  Author: Ani Sinha <anisinha@redhat.com>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

  Changed paths:
    M target/i386/kvm/kvm.c

  Log Message:
  -----------
  kvm/i386: refactor kvm_arch_init and split it into smaller functions

kvm_arch_init() enables a lot of vm capabilities. Refactor them into separate
smaller functions. Energy MSR related operations also moved to its own
function. There should be no functional impact.

Signed-off-by: Ani Sinha <anisinha@redhat.com>
Link: https://lore.kernel.org/r/20240903124143.39345-2-anisinha@redhat.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 61d863d16271a4c91fff928a8f061bb267175a2d
      
https://github.com/qemu/qemu/commit/61d863d16271a4c91fff928a8f061bb267175a2d
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

  Changed paths:
    M target/i386/kvm/kvm.c

  Log Message:
  -----------
  kvm/i386: replace identity_base variable with a constant

identity_base variable is first initialzied to address 0xfffbc000 and then
kvm_vm_set_identity_map_addr() overrides this value to address 0xfeffc000.
The initial address to which the variable was initialized was never used. Clean
everything up, placing 0xfeffc000 in a preprocessor constant.

Reported-by: Ani Sinha <anisinha@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: f881a1a353e83c25b18c412aa33eb9561515b994
      
https://github.com/qemu/qemu/commit/f881a1a353e83c25b18c412aa33eb9561515b994
  Author: Ani Sinha <anisinha@redhat.com>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

  Changed paths:
    M accel/kvm/kvm-all.c

  Log Message:
  -----------
  kvm: refactor core virtual machine creation into its own function

Refactoring the core logic around KVM_CREATE_VM into its own separate function
so that it can be called from other functions in subsequent patches. There is
no functional change in this patch.

CC: pbonzini@redhat.com
CC: zhao1.liu@intel.com
Signed-off-by: Ani Sinha <anisinha@redhat.com>
Link: https://lore.kernel.org/r/20240808113838.1697366-1-anisinha@redhat.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 2a9198e16cc9832b9fe43fa6331592c9b307eeb6
      
https://github.com/qemu/qemu/commit/2a9198e16cc9832b9fe43fa6331592c9b307eeb6
  Author: Fabiano Rosas <farosas@suse.de>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

  Changed paths:
    M target/i386/cpu.c

  Log Message:
  -----------
  target/i386: Expose IBPB-BRTYPE and SBPB CPUID bits to the guest

According to AMD's Speculative Return Stack Overflow whitepaper (link
below), the hypervisor should synthesize the value of IBPB_BRTYPE and
SBPB CPUID bits to the guest.

Support for this is already present in the kernel with commit
e47d86083c66 ("KVM: x86: Add SBPB support") and commit 6f0f23ef76be
("KVM: x86: Add IBPB_BRTYPE support").

Add support in QEMU to expose the bits to the guest OS.

host:
  # cat /sys/devices/system/cpu/vulnerabilities/spec_rstack_overflow
  Mitigation: Safe RET

before (guest):
  $ cpuid -l 0x80000021 -1 -r
  0x80000021 0x00: eax=0x00000045 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
                            ^
  $ cat /sys/devices/system/cpu/vulnerabilities/spec_rstack_overflow
  Vulnerable: Safe RET, no microcode

after (guest):
  $ cpuid -l 0x80000021 -1 -r
  0x80000021 0x00: eax=0x18000045 ebx=0x00000000 ecx=0x00000000 edx=0x00000000
                            ^
  $ cat /sys/devices/system/cpu/vulnerabilities/spec_rstack_overflow
  Mitigation: Safe RET

Reported-by: Fabian Vogt <fvogt@suse.de>
Link: 
https://www.amd.com/content/dam/amd/en/documents/corporate/cr/speculative-return-stack-overflow-whitepaper.pdf
Signed-off-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20240805202041.5936-1-farosas@suse.de
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 24255d8add8ed617dc83df3498938c6c82f1539b
      
https://github.com/qemu/qemu/commit/24255d8add8ed617dc83df3498938c6c82f1539b
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

  Changed paths:
    M hw/char/riscv_htif.c
    M hw/ppc/prep.c
    M hw/riscv/sifive_e.c
    M hw/riscv/sifive_u.c

  Log Message:
  -----------
  hw: Remove unused inclusion of hw/char/serial.h

Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Link: https://lore.kernel.org/r/20240905073832.16222-2-shentey@gmail.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 77921b302626c3cdfc0c7887b118e41fe5a3f5a4
      
https://github.com/qemu/qemu/commit/77921b302626c3cdfc0c7887b118e41fe5a3f5a4
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

  Changed paths:
    M hw/char/serial-isa.c
    M hw/i386/microvm-dt.c
    M hw/i386/microvm.c
    M hw/i386/pc.c
    M hw/isa/isa-superio.c
    M hw/isa/vt82c686.c
    M hw/ppc/pnv.c
    M hw/sparc64/sun4u.c
    A include/hw/char/serial-isa.h
    M include/hw/char/serial.h

  Log Message:
  -----------
  hw/char/serial.h: Extract serial-isa.h

The includes where updated based on compile errors. Now, the inclusion of the
header roughly matches Kconfig dependencies:

  # grep -r -e "select SERIAL_ISA"
  hw/ppc/Kconfig:    select SERIAL_ISA
  hw/isa/Kconfig:    select SERIAL_ISA
  hw/sparc64/Kconfig:    select SERIAL_ISA
  hw/i386/Kconfig:    select SERIAL_ISA
  hw/i386/Kconfig:    select SERIAL_ISA # for serial_hds_isa_init()

Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Link: https://lore.kernel.org/r/20240905073832.16222-3-shentey@gmail.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 0978ef8a75e708203a187c6a641a56dff6374b5f
      
https://github.com/qemu/qemu/commit/0978ef8a75e708203a187c6a641a56dff6374b5f
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

  Changed paths:
    M hw/arm/Kconfig
    M hw/arm/allwinner-a10.c
    M hw/arm/allwinner-h3.c
    M hw/arm/allwinner-r40.c
    M hw/arm/aspeed_ast2400.c
    M hw/arm/aspeed_soc_common.c
    M hw/arm/kzm.c
    M hw/arm/msf2-soc.c
    M hw/arm/musicpal.c
    M hw/arm/npcm7xx.c
    M hw/arm/pxa2xx.c
    M hw/char/Kconfig
    M hw/char/meson.build
    M hw/char/omap_uart.c
    A hw/char/serial-mm.c
    M hw/char/serial.c
    M hw/display/Kconfig
    M hw/display/sm501.c
    M hw/hppa/Kconfig
    M hw/hppa/machine.c
    M hw/loongarch/Kconfig
    M hw/loongarch/virt.c
    M hw/microblaze/Kconfig
    M hw/microblaze/petalogix_ml605_mmu.c
    M hw/mips/Kconfig
    M hw/mips/boston.c
    M hw/mips/jazz.c
    M hw/mips/loongson3_virt.c
    M hw/mips/malta.c
    M hw/mips/mipssim.c
    M hw/openrisc/Kconfig
    M hw/openrisc/openrisc_sim.c
    M hw/openrisc/virt.c
    M hw/ppc/Kconfig
    M hw/ppc/e500.c
    M hw/ppc/ppc405_uc.c
    M hw/ppc/ppc440_bamboo.c
    M hw/ppc/sam460ex.c
    M hw/ppc/virtex_ml507.c
    M hw/riscv/Kconfig
    M hw/riscv/virt.c
    M hw/sparc64/Kconfig
    M hw/sparc64/niagara.c
    M hw/sparc64/sun4u.c
    M hw/xtensa/Kconfig
    M hw/xtensa/xtfpga.c
    M include/hw/arm/aspeed_soc.h
    M include/hw/char/mchp_pfsoc_mmuart.h
    A include/hw/char/serial-mm.h
    M include/hw/char/serial.h

  Log Message:
  -----------
  hw/char: Extract serial-mm

hw/char/serial currently contains the implementation of both TYPE_SERIAL and
TYPE_SERIAL_MM. According to serial_class_init(), TYPE_SERIAL is an internal
class while TYPE_SERIAL_MM is used by numerous machine types directly. Let's
move the latter into its own module which makes the dependencies more obvious
and the code more tidy.

The includes and the dependencies have been converted mechanically except in the
hw/char directories which were updated manually. The result was compile-tested.
Now, only hw/char makes direct use of TYPE_SERIAL:

  # grep -r -e "select SERIAL" | grep -v SERIAL_
  hw/char/Kconfig:    select SERIAL
  hw/char/Kconfig:    select SERIAL
  hw/char/Kconfig:    select SERIAL
  hw/char/Kconfig:    select SERIAL
  hw/char/Kconfig:    select SERIAL

  # grep -r -e "/serial\\.h"
  include/hw/char/serial-mm.h:#include "hw/char/serial.h"
  hw/char/serial-pci-multi.c:#include "hw/char/serial.h"
  hw/char/serial.c:#include "hw/char/serial.h"
  hw/char/serial-isa.c:#include "hw/char/serial.h"
  hw/char/serial-pci.c:#include "hw/char/serial.h"

Tested-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Link: https://lore.kernel.org/r/20240905073832.16222-4-shentey@gmail.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 7a9ea694206c7e20a722d5e13ba19281fa8429cd
      
https://github.com/qemu/qemu/commit/7a9ea694206c7e20a722d5e13ba19281fa8429cd
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

  Changed paths:
    M MAINTAINERS
    M docs/about/deprecated.rst
    M docs/about/removed-features.rst
    M docs/conf.py
    M docs/meson.build
    M docs/tools/index.rst
    R docs/tools/virtfs-proxy-helper.rst
    M fsdev/meson.build
    M fsdev/qemu-fsdev.c
    M fsdev/qemu-fsdev.h
    R fsdev/virtfs-proxy-helper.c
    R hw/9pfs/9p-proxy.c
    R hw/9pfs/9p-proxy.h
    M hw/9pfs/meson.build
    M meson.build
    M meson_options.txt
    M qemu-options.hx
    A scripts/meson-buildoptions.
    M scripts/meson-buildoptions.sh

  Log Message:
  -----------
  virtio-9p: remove virtfs-proxy-helper

It has been deprecated since 8.1; remove it and suggest using permission mapping
or virtiofsd.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: bcc39835be0c3dfb375172e027cb7b29d08f8abd
      
https://github.com/qemu/qemu/commit/bcc39835be0c3dfb375172e027cb7b29d08f8abd
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

  Changed paths:
    M scripts/minikconf.py

  Log Message:
  -----------
  minikconf: print error entirely on stderr

While debugging an invalid configuration, I noticed that the clauses debug
ends up on stderr but the header ("The following clauses were found..."
ends up on stdout.  This makes the contents of meson-logs/meson-log.txt
a bit confusing.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 00adced5c3166ee65b6880b48c1e0826b7304f76
      
https://github.com/qemu/qemu/commit/00adced5c3166ee65b6880b48c1e0826b7304f76
  Author: Hanna Czenczek <hreitz@redhat.com>
  Date:   2024-09-10 (Tue, 10 Sep 2024)

  Changed paths:
    M hw/display/vhost-user-gpu.c
    M hw/net/virtio-net.c
    M hw/virtio/virtio-crypto.c
    M include/hw/virtio/virtio.h

  Log Message:
  -----------
  virtio: Allow .get_vhost() without vhost_started

Historically, .get_vhost() was probably only called when
vdev->vhost_started is true.  However, we now decidedly want to call it
also when vhost_started is false, specifically so we can issue a reset
to the vhost back-end while device operation is stopped.

Some .get_vhost() implementations dereference some pointers (or return
offsets from them) that are probably guaranteed to be non-NULL when
vhost_started is true, but not necessarily otherwise.  This patch makes
all such implementations check all such pointers, returning NULL if any
is NULL.

Signed-off-by: Hanna Czenczek <hreitz@redhat.com>
Message-Id: <20240723163941.48775-2-hreitz@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: 2688e8df60f5a655dc34c5e38523e425556f8483
      
https://github.com/qemu/qemu/commit/2688e8df60f5a655dc34c5e38523e425556f8483
  Author: Hanna Czenczek <hreitz@redhat.com>
  Date:   2024-09-10 (Tue, 10 Sep 2024)

  Changed paths:
    M hw/virtio/virtio.c

  Log Message:
  -----------
  virtio: Always reset vhost devices

Requiring `vhost_started` to be true for resetting vhost devices in
`virtio_reset()` seems like the wrong condition: Most importantly, the
preceding `virtio_set_status(vdev, 0)` call will (for vhost devices) end
up in `vhost_dev_stop()` (through vhost devices' `.set_status`
implementations), setting `vdev->vhost_started = false`.  Therefore, the
gated `vhost_reset_device()` call is unreachable.

`vhost_started` is not documented, so it is hard to say what exactly it
is supposed to mean, but judging from the fact that `vhost_dev_start()`
sets it and `vhost_dev_stop()` clears it, it seems like it indicates
whether there is a vhost back-end, and whether that back-end is
currently running and processing virtio requests.

Making a reset conditional on whether the vhost back-end is processing
virtio requests seems wrong; in fact, it is probably better to reset it
only when it is not currently processing requests, which is exactly the
current order of operations in `virtio_reset()`: First, the back-end is
stopped through `virtio_set_status(vdev, 0)`, then we want to send a
reset.

Therefore, we should drop the `vhost_started` condition, but in its
stead we then have to verify that we can indeed send a reset to this
vhost device, by not just checking `k->get_vhost != NULL` (introduced by
commit 95e1019a4a9), but also that the vhost back-end is connected
(`hdev = k->get_vhost(); hdev != NULL && hdev->vhost_ops != NULL`).

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Hanna Czenczek <hreitz@redhat.com>
Message-Id: <20240723163941.48775-3-hreitz@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: e72a7f65c11565d2f216711588a4e767a1f6cd80
      
https://github.com/qemu/qemu/commit/e72a7f65c11565d2f216711588a4e767a1f6cd80
  Author: BALATON Zoltan <balaton@eik.bme.hu>
  Date:   2024-09-11 (Wed, 11 Sep 2024)

  Changed paths:
    M hw/core/irq.c
    M include/hw/irq.h

  Log Message:
  -----------
  hw: Move declaration of IRQState to header and add init function

To allow embedding a qemu_irq in a struct move its definition to the
header and add a function to init it in place without allocating it.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Message-Id: 
<e3ffd0f6ef8845d0f7247c9b6ff33f7ee8b432cf.1719690591.git.balaton@eik.bme.hu>
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>


  Commit: 2225dc562a93dc191c3b2a43f273639bebad5d9a
      
https://github.com/qemu/qemu/commit/2225dc562a93dc191c3b2a43f273639bebad5d9a
  Author: BALATON Zoltan <balaton@eik.bme.hu>
  Date:   2024-09-11 (Wed, 11 Sep 2024)

  Changed paths:
    M hw/isa/vt82c686.c

  Log Message:
  -----------
  hw/isa/vt82c686.c: Embed i8259 irq in device state instead of allocating

To avoid a warning about unfreed qemu_irq embed the i8259 irq in the
device state instead of allocating it.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Message-Id: 
<b70b9e72063b4dd4005bf4bc040b84f2bb617bf4.1719690591.git.balaton@eik.bme.hu>
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>


  Commit: e228d62b4af29bca698ec57efdceb46f392f5444
      
https://github.com/qemu/qemu/commit/e228d62b4af29bca698ec57efdceb46f392f5444
  Author: Dongli Zhang <dongli.zhang@oracle.com>
  Date:   2024-09-11 (Wed, 11 Sep 2024)

  Changed paths:
    M hw/pci/pci.c

  Log Message:
  -----------
  pci: don't skip function 0 occupancy verification for devfn auto assign

When the devfn is already assigned in the command line, the
do_pci_register_device() may verify if the function 0 is already occupied.

However, when devfn < 0, the verification is skipped because it is part of
the last "else if".

For instance, suppose there is already a device at addr=00.00 of a port.

-device pcie-root-port,bus=pcie.0,chassis=115,id=port01,addr=0e.00 \
-device virtio-net-pci,bus=port01,id=vnet01,addr=00.00 \

When 'addr' is specified for the 2nd device, the hotplug is denied.

(qemu) device_add virtio-net-pci,bus=port01,id=vnet02,addr=01.00
Error: PCI: slot 0 function 0 already occupied by virtio-net-pci, new func 
virtio-net-pci cannot be exposed to guest.

When 'addr' is automatically assigned, the hotplug is not denied. This is
because the verification is skipped.

(qemu) device_add virtio-net-pci,bus=port01,id=vnet02
warning: PCI: slot 1 is not valid for virtio-net-pci, parent device only allows 
plugging into slot 0.

Fix the issue by moving the verification into an independent 'if'
statement.

Fixes: 3f1e1478db2d ("enable multi-function hot-add")
Reported-by: Aswin Unnikrishnan <aswin.u.unnikrishnan@oracle.com>
Signed-off-by: Dongli Zhang <dongli.zhang@oracle.com>
Message-Id: <20240708041056.54504-1-dongli.zhang@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: aa37616fb4eed38f3fc26507faf2433c998e0073
      
https://github.com/qemu/qemu/commit/aa37616fb4eed38f3fc26507faf2433c998e0073
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-09-11 (Wed, 11 Sep 2024)

  Changed paths:
    M hw/pci/pci-hmp-cmds.c

  Log Message:
  -----------
  hw/pci/pci-hmp-cmds: Avoid displaying bogus size in 'info pci'

When BAR aren't mapped, we get:

  (qemu) info pci
    Bus  0, device   0, function 0:
      Host bridge: PCI device dead:beef
        ...
        BAR4: 32 bit memory at 0xffffffffffffffff [0x00000ffe].
        BAR5: I/O at 0xffffffffffffffff [0x0ffe].

Check the BAR is mapped comparing its address to PCI_BAR_UNMAPPED
which is what the PCI layer uses for unmapped BARs.
See pci_bar_address and pci_update_mappings implementations and
in "hw/pci/pci.h":

  typedef struct PCIIORegion {
      pcibus_t addr; /* current PCI mapping address. -1 means not mapped */
  #define PCI_BAR_UNMAPPED (~(pcibus_t)0)
      ...

This improves the logging, not displaying bogus sizes:

  (qemu) info pci
    Bus  0, device   0, function 0:
      Host bridge: PCI device dead:beef
        ...
      BAR4: 32 bit memory (not mapped)
      BAR5: I/O (not mapped)

Remove trailing dot which is not used in other commands format.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20240801131449.51328-1-philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: e667485a80ed3f3849ea7421a63fe8ba553cd25e
      
https://github.com/qemu/qemu/commit/e667485a80ed3f3849ea7421a63fe8ba553cd25e
  Author: Wenyu Huang <huangwenyuu@outlook.com>
  Date:   2024-09-11 (Wed, 11 Sep 2024)

  Changed paths:
    M hw/virtio/virtio.c

  Log Message:
  -----------
  virtio: rename virtio_split_packed_update_used_idx

virtio_split_packed_update_used_idx should be
virtio_queue_split_update_used_idx like
virtio_split_packed_update_used_idx.

Signed-off-by: Wenyu Huang <huangwenyuu@outlook.com>
Message-Id: 
<TYBP286MB036536B9015994AA5F3E4495ACB22@TYBP286MB0365.JPNP286.PROD.OUTLOOK.COM>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 663168943d3db6d9b51d3dfa0998848a6e6eda71
      
https://github.com/qemu/qemu/commit/663168943d3db6d9b51d3dfa0998848a6e6eda71
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2024-09-11 (Wed, 11 Sep 2024)

  Changed paths:
    M hw/i386/intel_iommu.c
    M hw/i386/intel_iommu_internal.h

  Log Message:
  -----------
  intel_iommu: Fix invalidation descriptor type field

According to spec, invalidation descriptor type is 7bits which is
concatenation of bits[11:9] and bits[3:0] of invalidation descriptor.

Currently we only pick bits[3:0] as the invalidation type and treat
bits[11:9] as reserved zero. This is not a problem for now as bits[11:9]
is zero for all current invalidation types. But it will break if newer
type occupies bits[11:9].

Fix it by taking bits[11:9] into type and make reserved bits check accurate.

Suggested-by: Clément Mathieu--Drif<clement.mathieu--drif@eviden.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Yi Liu <yi.l.liu@intel.com>
Reviewed-by: Clément Mathieu--Drif<clement.mathieu--drif@eviden.com>
Message-Id: <20240814071321.2621384-2-zhenzhong.duan@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 3b52cea829d873706ff86913ae99b4bd621c20e6
      
https://github.com/qemu/qemu/commit/3b52cea829d873706ff86913ae99b4bd621c20e6
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2024-09-11 (Wed, 11 Sep 2024)

  Changed paths:
    M hw/i386/intel_iommu.c

  Log Message:
  -----------
  intel_iommu: Make PASID-cache and PIOTLB type invalid in legacy mode

In vtd_process_inv_desc(), VTD_INV_DESC_PC and VTD_INV_DESC_PIOTLB are
bypassed without scalable mode check. These two types are not valid
in legacy mode and we should report error.

Fixes: 4a4f219e8a10 ("intel_iommu: add scalable-mode option to make scalable 
mode work")
Suggested-by: Yi Liu <yi.l.liu@intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Clément Mathieu--Drif<clement.mathieu--drif@eviden.com>
Reviewed-by: Yi Liu <yi.l.liu@intel.com>
Message-Id: <20240814071321.2621384-3-zhenzhong.duan@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: ae77a40e3c7f010d1d18a92806246654f92b6f26
      
https://github.com/qemu/qemu/commit/ae77a40e3c7f010d1d18a92806246654f92b6f26
  Author: Ricardo Ribalda <ribalda@chromium.org>
  Date:   2024-09-11 (Wed, 11 Sep 2024)

  Changed paths:
    M tests/qtest/bios-tables-test-allowed-diff.h

  Log Message:
  -----------
  tests/acpi: pc: allow DSDT acpi table changes

Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
Message-Id: <20240814115736.1580337-2-ribalda@chromium.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 99cb2c6c7b3674359c61a40fb17a75516b8e159d
      
https://github.com/qemu/qemu/commit/99cb2c6c7b3674359c61a40fb17a75516b8e159d
  Author: Ricardo Ribalda <ribalda@chromium.org>
  Date:   2024-09-11 (Wed, 11 Sep 2024)

  Changed paths:
    M hw/i386/acpi-build.c

  Log Message:
  -----------
  hw/i386/acpi-build: Return a pre-computed _PRT table

When qemu runs without kvm acceleration the ACPI executions take a great
amount of time. If they take more than the default time (30sec), the
ACPI calls fail and the system might not behave correctly.

Now the _PRT table is computed on the fly. We can drastically reduce the
execution of the _PRT method if we return a pre-computed table.

Without this patch:
[   51.343484] ACPI Error: Aborting method \_SB.PCI0._PRT due to previous error 
(AE_AML_LOOP_TIMEOUT) (20230628/psparse-529)
[   51.527032] ACPI Error: Method execution failed \_SB.PCI0._PRT due to 
previous error (AE_AML_LOOP_TIMEOUT) (20230628/uteval-68)
[   51.530049] virtio-pci 0000:00:02.0: can't derive routing for PCI INT A
[   51.530797] virtio-pci 0000:00:02.0: PCI INT A: no GSI
[   81.922901] ACPI Error: Aborting method \_SB.PCI0._PRT due to previous error 
(AE_AML_LOOP_TIMEOUT) (20230628/psparse-529)
[   82.103534] ACPI Error: Method execution failed \_SB.PCI0._PRT due to 
previous error (AE_AML_LOOP_TIMEOUT) (20230628/uteval-68)
[   82.106088] virtio-pci 0000:00:04.0: can't derive routing for PCI INT A
[   82.106761] virtio-pci 0000:00:04.0: PCI INT A: no GSI
[  112.192568] ACPI Error: Aborting method \_SB.PCI0._PRT due to previous error 
(AE_AML_LOOP_TIMEOUT) (20230628/psparse-529)
[  112.486687] ACPI Error: Method execution failed \_SB.PCI0._PRT due to 
previous error (AE_AML_LOOP_TIMEOUT) (20230628/uteval-68)
[  112.489554] virtio-pci 0000:00:05.0: can't derive routing for PCI INT A
[  112.490027] virtio-pci 0000:00:05.0: PCI INT A: no GSI
[  142.559448] ACPI Error: Aborting method \_SB.PCI0._PRT due to previous error 
(AE_AML_LOOP_TIMEOUT) (20230628/psparse-529)
[  142.718596] ACPI Error: Method execution failed \_SB.PCI0._PRT due to 
previous error (AE_AML_LOOP_TIMEOUT) (20230628/uteval-68)
[  142.722889] virtio-pci 0000:00:06.0: can't derive routing for PCI INT A
[  142.724578] virtio-pci 0000:00:06.0: PCI INT A: no GSI

With this patch:
[   22.938076] ACPI: \_SB_.LNKB: Enabled at IRQ 10
[   24.214002] ACPI: \_SB_.LNKD: Enabled at IRQ 11
[   25.465170] ACPI: \_SB_.LNKA: Enabled at IRQ 10
[   27.944920] ACPI: \_SB_.LNKC: Enabled at IRQ 11

ACPI disassembly:
        Scope (PCI0)
        {
            Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
            {
                Return (Package (0x80)
                {
                    Package (0x04)
                    {
                        0xFFFF,
                        Zero,
                        LNKD,
                        Zero
                    },

                    Package (0x04)
                    {
                        0xFFFF,
                        One,
                        LNKA,
                        Zero
                    },

                    Package (0x04)
                    {
                        0xFFFF,
                        0x02,
                        LNKB,
                        Zero
                    },

                    Package (0x04)
                    {
                        0xFFFF,
                        0x03,
                        LNKC,
                        Zero
                    },

                    Package (0x04)
                    {
                        0x0001FFFF,
                        Zero,
                        LNKS,
                        Zero
                    },
Context: 
https://lore.kernel.org/virtualization/20240417145544.38d7b482@imammedo.users.ipa.redhat.com/T/#t

Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240814115736.1580337-3-ribalda@chromium.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: a6896ebc8ff8dadef391f6fe4f8fd4d38bc7d538
      
https://github.com/qemu/qemu/commit/a6896ebc8ff8dadef391f6fe4f8fd4d38bc7d538
  Author: Ricardo Ribalda <ribalda@chromium.org>
  Date:   2024-09-11 (Wed, 11 Sep 2024)

  Changed paths:
    M tests/data/acpi/x86/pc/DSDT
    M tests/data/acpi/x86/pc/DSDT.acpierst
    M tests/data/acpi/x86/pc/DSDT.acpihmat
    M tests/data/acpi/x86/pc/DSDT.bridge
    M tests/data/acpi/x86/pc/DSDT.cphp
    M tests/data/acpi/x86/pc/DSDT.dimmpxm
    M tests/data/acpi/x86/pc/DSDT.hpbridge
    M tests/data/acpi/x86/pc/DSDT.hpbrroot
    M tests/data/acpi/x86/pc/DSDT.ipmikcs
    M tests/data/acpi/x86/pc/DSDT.memhp
    M tests/data/acpi/x86/pc/DSDT.nohpet
    M tests/data/acpi/x86/pc/DSDT.numamem
    M tests/data/acpi/x86/pc/DSDT.roothp
    M tests/data/acpi/x86/q35/DSDT.cxl
    M tests/data/acpi/x86/q35/DSDT.viot
    M tests/qtest/bios-tables-test-allowed-diff.h

  Log Message:
  -----------
  tests/acpi: pc: update golden masters for DSDT

Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
Message-Id: <20240814115736.1580337-4-ribalda@chromium.org>
Acked-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 6166799f698512ab35e216b4ff4f7156f47923c6
      
https://github.com/qemu/qemu/commit/6166799f698512ab35e216b4ff4f7156f47923c6
  Author: zuoboqun <zuoboqun@baidu.com>
  Date:   2024-09-11 (Wed, 11 Sep 2024)

  Changed paths:
    M hw/net/vhost_net.c
    M hw/virtio/vhost.c
    M include/hw/virtio/vhost.h

  Log Message:
  -----------
  vhost_net: configure all host notifiers in a single MR transaction

This allows the vhost_net device which has multiple virtqueues to batch
the setup of all its host notifiers. This significantly reduces the
vhost_net device starting and stoping time, e.g. the time spend
on enabling notifiers reduce from 630ms to 75ms and the time spend on
disabling notifiers reduce from 441ms to 45ms for a VM with 192 vCPUs
and 15 vhost-user-net devices (64vq per device) in our case.

Signed-off-by: zuoboqun <zuoboqun@baidu.com>
Message-Id: <20240816070835.8309-1-zuoboqun@baidu.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: ffa8a3e3b2e6ff017113b98d500d6a9e05b1560a
      
https://github.com/qemu/qemu/commit/ffa8a3e3b2e6ff017113b98d500d6a9e05b1560a
  Author: Gao Shiyuan <gaoshiyuan@baidu.com>
  Date:   2024-09-11 (Wed, 11 Sep 2024)

  Changed paths:
    M hw/virtio/virtio-pci.c

  Log Message:
  -----------
  virtio-pci: Add lookup subregion of VirtIOPCIRegion MR

Now virtio_address_space_lookup only lookup common/isr/device/notify
MR and exclude their subregions.

When VHOST_USER_PROTOCOL_F_HOST_NOTIFIER enable, the notify MR has
host-notifier subregions and we need use host-notifier MR to
notify the hardware accelerator directly instead of eventfd notify.

Further more, maybe common/isr/device MR also has subregions in
the future, so need memory_region_find for each MR incluing
their subregions.

Add lookup subregion of VirtIOPCIRegion MR instead of only lookup container MR.

Fixes: a93c8d8 ("virtio-pci: Replace modern_as with direct access to 
modern_bar")
Co-developed-by: Zuo Boqun <zuoboqun@baidu.com>
Signed-off-by: Gao Shiyuan <gaoshiyuan@baidu.com>
Signed-off-by: Zuo Boqun <zuoboqun@baidu.com>
Message-Id: <20240903120304.97833-1-gaoshiyuan@baidu.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: d29b7f3dd4f95da7173b3f0fb58a7d4dbb093f92
      
https://github.com/qemu/qemu/commit/d29b7f3dd4f95da7173b3f0fb58a7d4dbb093f92
  Author: peng guo <engguopeng@buaa.edu.cn>
  Date:   2024-09-11 (Wed, 11 Sep 2024)

  Changed paths:
    M hw/cxl/cxl-mailbox-utils.c

  Log Message:
  -----------
  hw/cxl: fix physical address field in get scan media results output

When using the mailbox command get scan media results, the scan media
restart physical address field in the ouput palyload is not 64-byte
aligned.

This patch removed the error source of the restart physical address.

The Scan Media Restart Physical Address is the location from which the
host should restart the Scan Media operation. [5:0] bits are reserved.
Refer to CXL spec r3.1 Table 8-146

Fixes: 89b5cfcc31e6 ("hw/cxl: Add get scan media results cmd support")
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: 
https://lore.kernel.org/linux-cxl/20240819154206.16456-1-engguopeng@buaa.edu.cn/
Signed-off-by: peng guo <engguopeng@buaa.edu.cn>
Message-Id: <20240825102212.3871-1-engguopeng@buaa.edu.cn>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 7fc6611cad3e9627b23ce83e550b668abba6c886
      
https://github.com/qemu/qemu/commit/7fc6611cad3e9627b23ce83e550b668abba6c886
  Author: Volker Rümelin <vr_qemu@t-online.de>
  Date:   2024-09-11 (Wed, 11 Sep 2024)

  Changed paths:
    M hw/audio/trace-events
    M hw/audio/virtio-snd.c

  Log Message:
  -----------
  hw/audio/virtio-sound: fix heap buffer overflow

Currently, the guest may write to the device configuration space,
whereas the virtio sound device specification in chapter 5.14.4
clearly states that the fields in the device configuration space
are driver-read-only.

Remove the set_config function from the virtio_snd class.

This also prevents a heap buffer overflow. See QEMU issue #2296.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2296
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Message-Id: <20240901130112.8242-1-vr_qemu@t-online.de>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 95b717a8154b955de2782305f305b63f357b0576
      
https://github.com/qemu/qemu/commit/95b717a8154b955de2782305f305b63f357b0576
  Author: David Hildenbrand <david@redhat.com>
  Date:   2024-09-11 (Wed, 11 Sep 2024)

  Changed paths:
    M hw/virtio/virtio-mem.c

  Log Message:
  -----------
  virtio-mem: don't warn about THP sizes on a kernel without THP support

If the config directory in sysfs does not exist at all, we are dealing
with a system that does not support THPs. Simply use 1 MiB block size
then, instead of warning "Could not detect THP size, falling back to
..." and falling back to the default THP size.

Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Gavin Shan <gshan@redhat.com>
Cc: Juraj Marcin <jmarcin@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20240910163433.2100295-1-david@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 6e3c2d58e967cde3dadae298e81c5e8eb9fb9080
      
https://github.com/qemu/qemu/commit/6e3c2d58e967cde3dadae298e81c5e8eb9fb9080
  Author: Dominic Prinz <git@dprinz.de>
  Date:   2024-09-11 (Wed, 11 Sep 2024)

  Changed paths:
    M hw/acpi/ich9.c
    A hw/acpi/ich9_timer.c
    M hw/acpi/meson.build
    M hw/i386/pc.c
    M hw/isa/lpc_ich9.c
    M include/hw/acpi/ich9.h
    A include/hw/acpi/ich9_timer.h
    M include/hw/southbridge/ich9.h

  Log Message:
  -----------
  hw/acpi/ich9: Add periodic and swsmi timer

This patch implements the periodic and the swsmi ICH9 chipset timers. They are
especially useful when prototyping UEFI firmware (e.g. with EDK2's OVMF)
using QEMU.

For backwards compatibility, the compat properties "x-smi-swsmi-timer",
and "x-smi-periodic-timer" are introduced.

Additionally, writes to the SMI_STS register are enabled for the
corresponding two bits using a write mask to make future work easier.

Signed-off-by: Dominic Prinz <git@dprinz.de>
Message-Id: 
<1d90ea69e01ab71a0f2ced116801dc78e04f4448.1725991505.git.git@dprinz.de>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: dfbf29c5dfc7a1fa3e52c52d960b3139948481eb
      
https://github.com/qemu/qemu/commit/dfbf29c5dfc7a1fa3e52c52d960b3139948481eb
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-09-12 (Thu, 12 Sep 2024)

  Changed paths:
    M MAINTAINERS
    M accel/kvm/kvm-all.c
    M docs/about/deprecated.rst
    M docs/about/removed-features.rst
    M docs/conf.py
    M docs/meson.build
    M docs/tools/index.rst
    R docs/tools/virtfs-proxy-helper.rst
    M fsdev/meson.build
    M fsdev/qemu-fsdev.c
    M fsdev/qemu-fsdev.h
    R fsdev/virtfs-proxy-helper.c
    R hw/9pfs/9p-proxy.c
    R hw/9pfs/9p-proxy.h
    M hw/9pfs/meson.build
    M hw/arm/Kconfig
    M hw/arm/allwinner-a10.c
    M hw/arm/allwinner-h3.c
    M hw/arm/allwinner-r40.c
    M hw/arm/aspeed_ast2400.c
    M hw/arm/aspeed_soc_common.c
    M hw/arm/kzm.c
    M hw/arm/msf2-soc.c
    M hw/arm/musicpal.c
    M hw/arm/npcm7xx.c
    M hw/arm/pxa2xx.c
    M hw/char/Kconfig
    M hw/char/meson.build
    M hw/char/omap_uart.c
    M hw/char/riscv_htif.c
    M hw/char/serial-isa.c
    A hw/char/serial-mm.c
    M hw/char/serial.c
    M hw/display/Kconfig
    M hw/display/sm501.c
    M hw/hppa/Kconfig
    M hw/hppa/machine.c
    M hw/i386/microvm-dt.c
    M hw/i386/microvm.c
    M hw/i386/pc.c
    M hw/isa/isa-superio.c
    M hw/isa/vt82c686.c
    M hw/loongarch/Kconfig
    M hw/loongarch/virt.c
    M hw/microblaze/Kconfig
    M hw/microblaze/petalogix_ml605_mmu.c
    M hw/mips/Kconfig
    M hw/mips/boston.c
    M hw/mips/jazz.c
    M hw/mips/loongson3_virt.c
    M hw/mips/malta.c
    M hw/mips/mipssim.c
    M hw/openrisc/Kconfig
    M hw/openrisc/openrisc_sim.c
    M hw/openrisc/virt.c
    M hw/ppc/Kconfig
    M hw/ppc/e500.c
    M hw/ppc/pnv.c
    M hw/ppc/ppc405_uc.c
    M hw/ppc/ppc440_bamboo.c
    M hw/ppc/prep.c
    M hw/ppc/sam460ex.c
    M hw/ppc/virtex_ml507.c
    M hw/riscv/Kconfig
    M hw/riscv/sifive_e.c
    M hw/riscv/sifive_u.c
    M hw/riscv/virt.c
    M hw/sparc64/Kconfig
    M hw/sparc64/niagara.c
    M hw/sparc64/sun4u.c
    M hw/xtensa/Kconfig
    M hw/xtensa/xtfpga.c
    M include/hw/arm/aspeed_soc.h
    M include/hw/char/mchp_pfsoc_mmuart.h
    A include/hw/char/serial-isa.h
    A include/hw/char/serial-mm.h
    M include/hw/char/serial.h
    M meson.build
    M meson_options.txt
    M qemu-options.hx
    A scripts/meson-buildoptions.
    M scripts/meson-buildoptions.sh
    M scripts/minikconf.py
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/kvm/kvm.c
    M target/i386/kvm/kvm_i386.h
    M target/i386/kvm/vmsr_energy.c
    M tests/unit/meson.build

  Log Message:
  -----------
  Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging

* pc: Add a description for the i8042 property
* kvm: support for nested FRED
* tests/unit: fix warning when compiling test-nested-aio-poll with LTO
* kvm: refactoring of VM creation
* target/i386: expose IBPB-BRTYPE and SBPB CPUID bits to the guest
* hw/char: clean up serial
* remove virtfs-proxy-helper

# -----BEGIN PGP SIGNATURE-----
#
# iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmbhgz8UHHBib256aW5p
# QHJlZGhhdC5jb20ACgkQv/vSX3jHroOyPwgAh8IOPmXN8pAi3d1ULvL3w6ShhqYg
# rVUROY4KB+N6hZaVV9mi3zero7Cg6yrly69KEqqtEtsjP+LJ0oL/YsKg2UldPYOs
# vx54Fn58Wj21WiclVwqgpmQF1jMM7Jxx9p98CC/CWKka4GacsRiCvQdlSVSmqly1
# C6kSfKFbKYItG7Xx0lmTuVkq4iAi/ToBnqfTQrneurMdISd8VvCEOgChENm7q7qC
# /ZtlWBksjpV9mGtlTiLwRBtlwyCG/17IWhmE/ncNOMKsCrOz1UZDfKpIXyk+XJTu
# AFjoPwFl3uUuDSD7rUTmsmYhCZfGa0viljtPY+gZUnZVMLOJeB06ehzK5g==
# =3AWV
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 11 Sep 2024 12:47:11 BST
# gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:                issuer "pbonzini@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
# gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [full]
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
#      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83

* tag 'for-upstream' of https://gitlab.com/bonzini/qemu:
  minikconf: print error entirely on stderr
  virtio-9p: remove virtfs-proxy-helper
  hw/char: Extract serial-mm
  hw/char/serial.h: Extract serial-isa.h
  hw: Remove unused inclusion of hw/char/serial.h
  target/i386: Expose IBPB-BRTYPE and SBPB CPUID bits to the guest
  kvm: refactor core virtual machine creation into its own function
  kvm/i386: replace identity_base variable with a constant
  kvm/i386: refactor kvm_arch_init and split it into smaller functions
  kvm: replace fprintf with error_report()/printf() in kvm_init()
  kvm/i386: fix return values of is_host_cpu_intel()
  kvm/i386: make kvm_filter_msr() and related definitions private to kvm module
  hw/i386/pc: Add a description for the i8042 property
  tests/unit: remove block layer code from test-nested-aio-poll
  target/i386: Raise the highest index value used for any VMCS encoding
  target/i386: Add VMX control bits for nested FRED support
  target/i386: Delete duplicated macro definition CR4_FRED_MASK

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: efdcacc111f6e2bef56afc36aa817fb25fb1e681
      
https://github.com/qemu/qemu/commit/efdcacc111f6e2bef56afc36aa817fb25fb1e681
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-09-12 (Thu, 12 Sep 2024)

  Changed paths:
    M hw/acpi/ich9.c
    A hw/acpi/ich9_timer.c
    M hw/acpi/meson.build
    M hw/audio/trace-events
    M hw/audio/virtio-snd.c
    M hw/core/irq.c
    M hw/cxl/cxl-mailbox-utils.c
    M hw/display/vhost-user-gpu.c
    M hw/i386/acpi-build.c
    M hw/i386/intel_iommu.c
    M hw/i386/intel_iommu_internal.h
    M hw/i386/pc.c
    M hw/isa/lpc_ich9.c
    M hw/isa/vt82c686.c
    M hw/net/vhost_net.c
    M hw/net/virtio-net.c
    M hw/pci/pci-hmp-cmds.c
    M hw/pci/pci.c
    M hw/virtio/vhost.c
    M hw/virtio/virtio-crypto.c
    M hw/virtio/virtio-mem.c
    M hw/virtio/virtio-pci.c
    M hw/virtio/virtio.c
    M include/hw/acpi/ich9.h
    A include/hw/acpi/ich9_timer.h
    M include/hw/irq.h
    M include/hw/southbridge/ich9.h
    M include/hw/virtio/vhost.h
    M include/hw/virtio/virtio.h
    M tests/data/acpi/x86/pc/DSDT
    M tests/data/acpi/x86/pc/DSDT.acpierst
    M tests/data/acpi/x86/pc/DSDT.acpihmat
    M tests/data/acpi/x86/pc/DSDT.bridge
    M tests/data/acpi/x86/pc/DSDT.cphp
    M tests/data/acpi/x86/pc/DSDT.dimmpxm
    M tests/data/acpi/x86/pc/DSDT.hpbridge
    M tests/data/acpi/x86/pc/DSDT.hpbrroot
    M tests/data/acpi/x86/pc/DSDT.ipmikcs
    M tests/data/acpi/x86/pc/DSDT.memhp
    M tests/data/acpi/x86/pc/DSDT.nohpet
    M tests/data/acpi/x86/pc/DSDT.numamem
    M tests/data/acpi/x86/pc/DSDT.roothp
    M tests/data/acpi/x86/q35/DSDT.cxl
    M tests/data/acpi/x86/q35/DSDT.viot

  Log Message:
  -----------
  Merge tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu 
into staging

virtio,pc,pci: features, fixes, cleanups

i286 acpi speedup by precomputing _PRT by Ricardo Ribalda
vhost_net speedup by using MR transactions by Zuo Boqun
ich9 gained support for periodic and swsmi timer by Dominic Prinz

Fixes, cleanups all over the place.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

# -----BEGIN PGP SIGNATURE-----
#
# iQFDBAABCAAtFiEEXQn9CHHI+FuUyooNKB8NuNKNVGkFAmbhoCUPHG1zdEByZWRo
# YXQuY29tAAoJECgfDbjSjVRptpUH/iR5AmJFpvAItqlPOvJiYDEch46C73tyrSws
# Kk/1EbGSL7mFFD5sfdSSV4Rw8CQBsmM/Dt5VDkJKsWnOLjkBQ2CYH0MYHktnrKcJ
# LlSk32HnY5p1DsXnJhgm5M7St8T3mV/oFdJCJAFgCmpx5uT8IRLrKETN8+30OaiY
# xo35xAKOAS296+xsWeVubKkMq7H4y2tdZLE/22gb8rlA8d96BJIeVLQ3y3IjeUPR
# 24q6c7zpObzGhYNZ/PzAKOn+YcVsV/lLAzKRZJTzTUPyG24BcjJTyyr/zNSYAgfk
# lLXzIZID3GThBmrCAiDZ1z6sfo3MRg2wNS/FBXtK6fPIuFxed+8=
# =ySRy
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 11 Sep 2024 14:50:29 BST
# gpg:                using RSA key 5D09FD0871C8F85B94CA8A0D281F0DB8D28D5469
# gpg:                issuer "mst@redhat.com"
# gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" [full]
# gpg:                 aka "Michael S. Tsirkin <mst@redhat.com>" [full]
# Primary key fingerprint: 0270 606B 6F3C DF3D 0B17  0970 C350 3912 AFBE 8E67
#      Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA  8A0D 281F 0DB8 D28D 5469

* tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu:
  hw/acpi/ich9: Add periodic and swsmi timer
  virtio-mem: don't warn about THP sizes on a kernel without THP support
  hw/audio/virtio-sound: fix heap buffer overflow
  hw/cxl: fix physical address field in get scan media results output
  virtio-pci: Add lookup subregion of VirtIOPCIRegion MR
  vhost_net: configure all host notifiers in a single MR transaction
  tests/acpi: pc: update golden masters for DSDT
  hw/i386/acpi-build: Return a pre-computed _PRT table
  tests/acpi: pc: allow DSDT acpi table changes
  intel_iommu: Make PASID-cache and PIOTLB type invalid in legacy mode
  intel_iommu: Fix invalidation descriptor type field
  virtio: rename virtio_split_packed_update_used_idx
  hw/pci/pci-hmp-cmds: Avoid displaying bogus size in 'info pci'
  pci: don't skip function 0 occupancy verification for devfn auto assign
  hw/isa/vt82c686.c: Embed i8259 irq in device state instead of allocating
  hw: Move declaration of IRQState to header and add init function
  virtio: Always reset vhost devices
  virtio: Allow .get_vhost() without vhost_started

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/4b7ea3307445...efdcacc111f6

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]