qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 981b81: virtio_net: Modify virtio_net_get_con


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 981b81: virtio_net: Modify virtio_net_get_config to early ...
Date: Fri, 06 Jan 2023 06:00:22 -0800

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 981b81143c84de2d59e9a9cdbdc049fc2e270d39
      
https://github.com/qemu/qemu/commit/981b81143c84de2d59e9a9cdbdc049fc2e270d39
  Author: Eugenio Pérez <eperezma@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

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

  Log Message:
  -----------
  virtio_net: Modify virtio_net_get_config to early return

Next patches introduce more code on vhost-vdpa branch, with already have
too much indentation.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20221221115015.1400889-2-eperezma@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: e4bf29f2c7e6132aacae81854369d93299f4d94e
      
https://github.com/qemu/qemu/commit/e4bf29f2c7e6132aacae81854369d93299f4d94e
  Author: Eugenio Pérez <eperezma@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

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

  Log Message:
  -----------
  virtio_net: copy VIRTIO_NET_S_ANNOUNCE if device model has it

Status part of the emulated feature. It will follow device model, so we
must copy it as long as NIC device model has it set.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Message-Id: <20221221115015.1400889-3-eperezma@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>


  Commit: b8c7c9edcabba40282410ba4b6bfd04354641a40
      
https://github.com/qemu/qemu/commit/b8c7c9edcabba40282410ba4b6bfd04354641a40
  Author: Eugenio Pérez <eperezma@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M net/vhost-vdpa.c

  Log Message:
  -----------
  vdpa: handle VIRTIO_NET_CTRL_ANNOUNCE in vhost_vdpa_net_handle_ctrl_avail

Since this capability is emulated by qemu shadowed CVQ cannot forward it
to the device. Process all that command within qemu.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Message-Id: <20221221115015.1400889-4-eperezma@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>


  Commit: 82f2fb9037f1174612978a21d16c05356176ea3f
      
https://github.com/qemu/qemu/commit/82f2fb9037f1174612978a21d16c05356176ea3f
  Author: Eugenio Pérez <eperezma@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M net/vhost-vdpa.c

  Log Message:
  -----------
  vdpa: do not handle VIRTIO_NET_F_GUEST_ANNOUNCE in vhost-vdpa

So qemu emulates it even in case the device does not support it.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20221221115015.1400889-5-eperezma@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: d5068709b4d1d81bc471abc6212429f7e5880490
      
https://github.com/qemu/qemu/commit/d5068709b4d1d81bc471abc6212429f7e5880490
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/acpi/Kconfig
    M hw/acpi/meson.build
    M hw/i2c/meson.build
    M hw/isa/Kconfig

  Log Message:
  -----------
  hw/acpi/Kconfig: Rename ACPI_X86_ICH to ACPI_ICH9

Although the ICH9 ACPI controller may currently be tied to x86 it
doesn't have to. Furthermore, the source files this configuration switch
manages contain a '9', so this name fits more.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20221216130355.41667-2-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 31288438f77371526b7afe9bdeaa43ecb5c7eb19
      
https://github.com/qemu/qemu/commit/31288438f77371526b7afe9bdeaa43ecb5c7eb19
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/acpi/Kconfig
    M hw/isa/Kconfig

  Log Message:
  -----------
  hw/acpi/Kconfig: Add missing dependencies to ACPI_ICH9

ich9_lpc_realize() uses apm_init() and ich9_smbus_realize() uses
pm_smbus_init(), so both APM and ACPI_SMBUS are provided by the device
models managed by ACPI_ICH9.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20221216130355.41667-3-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: b3d0beaced786016b5099a6a77591b57ce604a0d
      
https://github.com/qemu/qemu/commit/b3d0beaced786016b5099a6a77591b57ce604a0d
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/acpi/Kconfig
    M hw/i386/Kconfig

  Log Message:
  -----------
  hw/acpi/Kconfig: Do not needlessly build TYPE_PIIX4_PM in non-PC/Malta 
machines

TYPE_PIIX4_PM is only used in machines where PIIX chipsets are used
which is currently PC and Malta. There is no point building it for the
other ACPI_X86 machines.

Note that this also removes unneeded ACPI_PIIX4 from PEGASOS2.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Message-Id: <20221216130355.41667-4-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu>


  Commit: 1ea0e15a863a90d4a55a3e4d5928680aa1685275
      
https://github.com/qemu/qemu/commit/1ea0e15a863a90d4a55a3e4d5928680aa1685275
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/acpi/Kconfig

  Log Message:
  -----------
  hw/acpi/Kconfig: Add missing dependencies to ACPI_PIIX4

piix4_pm_realize() uses apm_init() and pm_smbus_init(), so both APM and
ACPI_SMBUS are provided by the device model managed by ACPI_PIIX4.

The ACPIREGS are also provided by ACPI_PIIX4, so needs to select ACPI.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Message-Id: <20221216130355.41667-5-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 2ed8865c7d63dd6b7b79985a38c84c28357cfa62
      
https://github.com/qemu/qemu/commit/2ed8865c7d63dd6b7b79985a38c84c28357cfa62
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/isa/Kconfig

  Log Message:
  -----------
  hw/isa/Kconfig: Add missing dependency to VT82C686

The ACPIREGS are provided by TYPE_VIA_PM, so needs to select ACPI.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Message-Id: <20221216130355.41667-6-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 4afbd66e6711adac154f8a00a96d5c85582ad4d7
      
https://github.com/qemu/qemu/commit/4afbd66e6711adac154f8a00a96d5c85582ad4d7
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M configs/devices/mips-softmmu/common.mak
    M hw/i386/Kconfig

  Log Message:
  -----------
  i386, mips: Resolve redundant ACPI and APM dependencies

Now that all ACPI controllers select the ACPI and APM dependencies
themselves, these explicit dependencies became redundant. Remove them.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Message-Id: <20221216130355.41667-7-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: e5cdbb761e84f67e89c9ed321b9dc1b29730c976
      
https://github.com/qemu/qemu/commit/e5cdbb761e84f67e89c9ed321b9dc1b29730c976
  Author: Bernhard Beschow <shentey@gmail.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/ppc/Kconfig

  Log Message:
  -----------
  hw/ppc/Kconfig: Remove unused dependencies from PEGASOS2

Removes the following dependencies from ppc-softmmu:
- CONFIG_ACPI_CPU_HOTPLUG
- CONFIG_ACPI_CXL
- CONFIG_ACPI_HMAT
- CONFIG_ACPI_MEMORY_HOTPLUG
- CONFIG_ACPI_NVDIMM
- CONFIG_ACPI_PCIHP
- CONFIG_ACPI_X86
- CONFIG_MEM_DEVICE

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Message-Id: <20221216130355.41667-8-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 09debcf875399f020be277d8127b5d55fb0137c4
      
https://github.com/qemu/qemu/commit/09debcf875399f020be277d8127b5d55fb0137c4
  Author: Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M include/net/vhost-user.h
    M net/vhost-user.c

  Log Message:
  -----------
  vhost-user: Refactor vhost acked features saving

Abstract vhost acked features saving into
vhost_user_save_acked_features, export it as util function.

Signed-off-by: Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
Signed-off-by: Guoyi Tu <tugy@chinatelecom.cn>
Message-Id: 
<50dc9b09b0635e3052551efcc1046c2a85332fcb.1671627406.git.huangy81@chinatelecom.cn>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: a62fe7d985b90b86b788f25458d2be499a71e26b
      
https://github.com/qemu/qemu/commit/a62fe7d985b90b86b788f25458d2be499a71e26b
  Author: Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M net/vhost-user.c

  Log Message:
  -----------
  vhost-user: Refactor the chr_closed_bh

Use vhost_user_save_acked_features to implemente acked features
saving.

Signed-off-by: Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
Signed-off-by: Guoyi Tu <tugy@chinatelecom.cn>
Message-Id: 
<6699ee88687b62fb8152fe021e576cd2f468d7ca.1671627406.git.huangy81@chinatelecom.cn>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 7ed64aed5de106e1195c8ab94b5f76b4a1b369bd
      
https://github.com/qemu/qemu/commit/7ed64aed5de106e1195c8ab94b5f76b4a1b369bd
  Author: Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

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

  Log Message:
  -----------
  vhost-user: Fix the virtio features negotiation flaw

This patch aims to fix unexpected negotiation features for
vhost-user netdev interface.

When openvswitch reconnect Qemu after an unexpected disconnection
and Qemu therefore start the vhost_dev, acked_features field in
vhost_dev is initialized with value fetched from acked_features
field in NetVhostUserState, which should be up-to-date at that
moment but Qemu could not make it actually during the time window
of virtio features negotiation.

So we save the acked_features right after being configured by
guest virtio driver so it can be used to restore acked_features
field in vhost_dev correctly.

Signed-off-by: Hyman Huang(黄勇) <huangy81@chinatelecom.cn>
Signed-off-by: Guoyi Tu <tugy@chinatelecom.cn>
Signed-off-by: Liuxiangdong <liuxiangdong5@huawei.com>
Message-Id: 
<b9f8cf5561a79ea65ea38960e5a5e6d3707eef0a.1671627406.git.huangy81@chinatelecom.cn>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 3f491f6ee3a7bebddd85b3d2342a246bc14d7900
      
https://github.com/qemu/qemu/commit/3f491f6ee3a7bebddd85b3d2342a246bc14d7900
  Author: Cindy Lu <lulu@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

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

  Log Message:
  -----------
  virtio: introduce macro VIRTIO_CONFIG_IRQ_IDX

To support configure interrupt for vhost-vdpa
Introduce VIRTIO_CONFIG_IRQ_IDX -1 as configure interrupt's queue index,
Then we can reuse the functions guest_notifier_mask and guest_notifier_pending.
Add the check of queue index in these drivers, if the driver does not support
configure interrupt, the function will just return

Signed-off-by: Cindy Lu <lulu@redhat.com>
Message-Id: <20221222070451.936503-2-lulu@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: b54ce5c9251b23f4049066e5c1a7254ad5e1cb92
      
https://github.com/qemu/qemu/commit/b54ce5c9251b23f4049066e5c1a7254ad5e1cb92
  Author: Cindy Lu <lulu@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

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

  Log Message:
  -----------
  virtio-pci: decouple notifier from interrupt process

To reuse the notifier process. We add the virtio_pci_get_notifier
to get the notifier and vector. The INPUT for this function is IDX,
The OUTPUT is the notifier and the vector

Signed-off-by: Cindy Lu <lulu@redhat.com>
Message-Id: <20221222070451.936503-3-lulu@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 1d0a09fa51af32cb47b76511477429ec0caa38de
      
https://github.com/qemu/qemu/commit/1d0a09fa51af32cb47b76511477429ec0caa38de
  Author: Cindy Lu <lulu@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

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

  Log Message:
  -----------
  virtio-pci: decouple the single vector from the interrupt process

To reuse the interrupt process in configure interrupt
Need to decouple the single vector from the interrupt process.
We add new function kvm_virtio_pci_vector_use_one and _release_one.
These functions are used for the single vector, the whole process will
finish in the loop with vq number.

Signed-off-by: Cindy Lu <lulu@redhat.com>
Message-Id: <20221222070451.936503-4-lulu@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: f5458b1691029f9e288f7985b872431fbb9905ed
      
https://github.com/qemu/qemu/commit/f5458b1691029f9e288f7985b872431fbb9905ed
  Author: Cindy Lu <lulu@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M include/hw/virtio/vhost-backend.h

  Log Message:
  -----------
  vhost: introduce new VhostOps vhost_set_config_call

This patch introduces new VhostOps vhost_set_config_call.
This function allows the qemu to set the config
event fd to kernel driver.

Signed-off-by: Cindy Lu <lulu@redhat.com>
Message-Id: <20221222070451.936503-5-lulu@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 57a4bdfab1e5abc6a164dd927b15aa8c9c6fc3cb
      
https://github.com/qemu/qemu/commit/57a4bdfab1e5abc6a164dd927b15aa8c9c6fc3cb
  Author: Cindy Lu <lulu@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/virtio/trace-events
    M hw/virtio/vhost-vdpa.c

  Log Message:
  -----------
  vhost-vdpa: add support for config interrupt

Add new call back function in vhost-vdpa, The function
vhost_set_config_call can set the event fd to kernel.
This function will be called in the vhost_dev_start
and vhost_dev_stop

Signed-off-by: Cindy Lu <lulu@redhat.com>
Message-Id: <20221222070451.936503-6-lulu@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 231260e2b9a37633aaf270938b422379b809c5aa
      
https://github.com/qemu/qemu/commit/231260e2b9a37633aaf270938b422379b809c5aa
  Author: Cindy Lu <lulu@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/virtio/virtio.c
    M include/hw/virtio/virtio.h

  Log Message:
  -----------
  virtio: add support for configure interrupt

Add the functions to support the configure interrupt in virtio
The function virtio_config_guest_notifier_read will notify the
guest if there is an configure interrupt.
The function virtio_config_set_guest_notifier_fd_handler is
to set the fd hander for the notifier

Signed-off-by: Cindy Lu <lulu@redhat.com>
Message-Id: <20221222070451.936503-7-lulu@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: f9195417d0b8a4410ee0e3a90a6befc9401ef422
      
https://github.com/qemu/qemu/commit/f9195417d0b8a4410ee0e3a90a6befc9401ef422
  Author: Cindy Lu <lulu@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

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

  Log Message:
  -----------
  vhost: add support for configure interrupt

Add functions to support configure interrupt.
The configure interrupt process will start in vhost_dev_start
and stop in vhost_dev_stop.

Also add the functions to support vhost_config_pending and
vhost_config_mask.

Signed-off-by: Cindy Lu <lulu@redhat.com>
Message-Id: <20221222070451.936503-8-lulu@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 3726323b5dabf94fb1d51571f7fee212fc5bab62
      
https://github.com/qemu/qemu/commit/3726323b5dabf94fb1d51571f7fee212fc5bab62
  Author: Cindy Lu <lulu@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

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

  Log Message:
  -----------
  virtio-net: add support for configure interrupt

Add functions to support configure interrupt in virtio_net
Add the functions to support vhost_net_config_pending
and vhost_net_config_mask.

Signed-off-by: Cindy Lu <lulu@redhat.com>
Message-Id: <20221222070451.936503-9-lulu@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: e7997cd16398484e70cc058934db2cd42e534265
      
https://github.com/qemu/qemu/commit/e7997cd16398484e70cc058934db2cd42e534265
  Author: Cindy Lu <lulu@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

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

  Log Message:
  -----------
  virtio-mmio: add support for configure interrupt

Add configure interrupt support in virtio-mmio bus.
add function to set configure guest notifier.

Signed-off-by: Cindy Lu <lulu@redhat.com>
Message-Id: <20221222070451.936503-10-lulu@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: d559afdf8c959c9523c6a5bf00532a8c84fb0366
      
https://github.com/qemu/qemu/commit/d559afdf8c959c9523c6a5bf00532a8c84fb0366
  Author: Cindy Lu <lulu@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

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

  Log Message:
  -----------
  virtio-pci: add support for configure interrupt

Add process to handle the configure interrupt, The function's
logic is the same with vq interrupt.Add extra process to check
the configure interrupt

Signed-off-by: Cindy Lu <lulu@redhat.com>
Message-Id: <20221222070451.936503-11-lulu@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: d855c362c2d73e541999004a21bc8c5e84932832
      
https://github.com/qemu/qemu/commit/d855c362c2d73e541999004a21bc8c5e84932832
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/virtio/virtio.c

  Log Message:
  -----------
  hw/virtio: Rename virtio_device_find() -> qmp_find_virtio_device()

To emphasize this function is QMP related, rename it.

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


  Commit: d5212c6a547870e9add6c336178b083ff3ba49ef
      
https://github.com/qemu/qemu/commit/d5212c6a547870e9add6c336178b083ff3ba49ef
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/virtio/virtio-qmp.c
    M hw/virtio/virtio-qmp.h
    M hw/virtio/virtio.c

  Log Message:
  -----------
  hw/virtio: Extract QMP QOM-specific functions to virtio-qmp.c

virtio.c is big enough, extract more QMP related code to virtio-qmp.c.
To do so, expose qmp_find_virtio_device() and declar virtio_list in
the internal virtio-qmp.h header.

Note we have to leave qmp_x_query_virtio_queue_status() and
qmp_x_query_virtio_queue_element(), because they access VirtQueue
internal fields, and VirtQueue is only declared within virtio.c.

Suggested-by: Jonah Palmer <jonah.palmer@oracle.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20221222080005.27616-3-philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 18c8a02f059101c6b9fe07fe70a219679760f71b
      
https://github.com/qemu/qemu/commit/18c8a02f059101c6b9fe07fe70a219679760f71b
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/alpha/alpha_sys.h
    M hw/alpha/pci.c
    M hw/alpha/typhoon.c
    M hw/i386/acpi-build.c
    M hw/pci-bridge/i82801b11.c
    M hw/rdma/rdma_utils.c
    M hw/rdma/rdma_utils.h
    M hw/rdma/vmw/pvrdma.h
    M hw/scsi/virtio-scsi.c
    M hw/usb/hcd-ehci.h
    M hw/xen/xen_pt.h
    M include/hw/cxl/cxl.h
    M include/hw/cxl/cxl_cdat.h
    M include/hw/cxl/cxl_device.h
    M include/hw/cxl/cxl_pci.h
    M include/hw/i386/ich9.h
    M include/hw/i386/x86-iommu.h
    M include/hw/isa/vt82c686.h
    M include/hw/pci-host/designware.h
    M include/hw/pci-host/i440fx.h
    M include/hw/pci-host/ls7a.h
    M include/hw/pci-host/pnv_phb3.h
    M include/hw/pci-host/pnv_phb4.h
    M include/hw/pci-host/xilinx-pcie.h
    M include/hw/pci/pcie.h
    M include/hw/virtio/virtio-scsi.h

  Log Message:
  -----------
  include/hw/pci: Break inclusion loop pci_bridge.h and cxl.h

hw/pci/pci_bridge.h and hw/cxl/cxl.h include each other.

Fortunately, breaking the loop is merely a matter of deleting
unnecessary includes from headers, and adding them back in places
where they are now missing.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221222100330.380143-2-armbru@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: ecb08859d8590efae1b7e4e6ed90cb7a59eb4b75
      
https://github.com/qemu/qemu/commit/ecb08859d8590efae1b7e4e6ed90cb7a59eb4b75
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/pci-bridge/pci_expander_bridge.c
    M include/hw/cxl/cxl.h
    M include/hw/pci/pci_bridge.h

  Log Message:
  -----------
  include/hw/cxl: Move typedef PXBDev to cxl.h, and put it to use

hw/cxl/cxl.h uses the PXBDev structure tag instead of the typedef
name.  The typedef name is defined in hw/pci/pci_bridge.h.  Its
inclusion was dropped in the previous commit to break an inclusion
loop.

Move the typedef to hw/cxl/cxl.h, and use it there.  Delete an extra
typedef in hw/pci-bridge/pci_expander_bridge.c.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221222100330.380143-3-armbru@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 9f0cebe42c7519f0df7067b6c7e999c22bd34031
      
https://github.com/qemu/qemu/commit/9f0cebe42c7519f0df7067b6c7e999c22bd34031
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M include/hw/cxl/cxl_component.h
    M include/hw/cxl/cxl_device.h

  Log Message:
  -----------
  include/hw/cxl: Include hw/cxl/*.h where needed

hw/cxl/cxl_component.h needs CDATObject from hw/cxl/cxl_cdat.h.

hw/cxl/cxl_device.h needs CXLComponentState from
hw/cxl/cxl_component.h.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20221222100330.380143-4-armbru@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: bc48ff4efb39919cca7bfa707761b95ef874cd87
      
https://github.com/qemu/qemu/commit/bc48ff4efb39919cca7bfa707761b95ef874cd87
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M include/hw/pci/pci.h

  Log Message:
  -----------
  include/hw/pci: Clean up a few things checkpatch.pl would flag

Fix a few style violations so that checkpatch.pl won't complain when I
move this code.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20221222100330.380143-5-armbru@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 9f4e9ac49c355b8a4b4f05de21e7d0023205008b
      
https://github.com/qemu/qemu/commit/9f4e9ac49c355b8a4b4f05de21e7d0023205008b
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/acpi/erst.c
    M hw/audio/ac97.c
    M hw/audio/es1370.c
    M hw/audio/via-ac97.c
    M hw/char/serial-pci-multi.c
    M hw/char/serial-pci.c
    M hw/core/qdev-properties-system.c
    M hw/display/ati_int.h
    M hw/display/bochs-display.c
    M hw/display/cirrus_vga.c
    M hw/display/qxl.h
    M hw/display/sm501.c
    M hw/display/vga-pci.c
    M hw/display/vmware_vga.c
    M hw/i386/xen/xen_pvdevice.c
    M hw/ide/ahci_internal.h
    M hw/ipack/tpci200.c
    M hw/ipmi/pci_ipmi_bt.c
    M hw/ipmi/pci_ipmi_kcs.c
    M hw/isa/i82378.c
    M hw/mips/gt64xxx_pci.c
    M hw/misc/pci-testdev.c
    M hw/misc/pvpanic-pci.c
    M hw/net/can/can_kvaser_pci.c
    M hw/net/can/can_mioe3680_pci.c
    M hw/net/can/can_pcm3680_pci.c
    M hw/net/can/ctucan_pci.c
    M hw/net/e1000.c
    M hw/net/e1000x_common.c
    M hw/net/eepro100.c
    M hw/net/ne2000-pci.c
    M hw/net/net_tx_pkt.c
    M hw/net/pcnet-pci.c
    M hw/net/rocker/rocker.c
    M hw/net/rocker/rocker_desc.c
    M hw/net/rtl8139.c
    M hw/net/sungem.c
    M hw/net/sunhme.c
    M hw/net/tulip.c
    M hw/net/virtio-net.c
    M hw/net/vmxnet3_defs.h
    M hw/nvme/nvme.h
    M hw/pci-host/bonito.c
    M hw/pci-host/dino.c
    M hw/pci-host/grackle.c
    M hw/pci-host/mv64361.c
    M hw/pci-host/ppce500.c
    M hw/pci-host/raven.c
    M hw/pci-host/sh_pci.c
    M hw/pci-host/uninorth.c
    M hw/pci-host/versatile.c
    M hw/pci/pci-hmp-cmds.c
    M hw/pci/pcie_host.c
    M hw/pci/pcie_sriov.c
    M hw/pci/slotid_cap.c
    M hw/ppc/ppc440_pcix.c
    M hw/ppc/ppc4xx_pci.c
    M hw/ppc/spapr_pci_vfio.c
    M hw/rdma/rdma_utils.c
    M hw/rdma/vmw/pvrdma.h
    M hw/s390x/s390-pci-inst.c
    M hw/scsi/esp-pci.c
    M hw/scsi/lsi53c895a.c
    M hw/scsi/mptsas.h
    M hw/smbios/smbios.c
    M hw/usb/hcd-ehci.h
    M hw/usb/hcd-ohci-pci.c
    M hw/usb/hcd-uhci.h
    M hw/usb/hcd-xhci-pci.h
    M hw/vfio/pci.h
    M hw/watchdog/wdt_i6300esb.c
    M include/hw/acpi/piix4.h
    M include/hw/arm/allwinner-a10.h
    M include/hw/cxl/cxl_device.h
    M include/hw/ide/pci.h
    M include/hw/misc/macio/macio.h
    M include/hw/pci-host/gpex.h
    M include/hw/pci-host/i440fx.h
    M include/hw/pci-host/q35.h
    M include/hw/pci-host/sabre.h
    M include/hw/pci/msi.h
    M include/hw/pci/pci.h
    M include/hw/pci/pci_bridge.h
    A include/hw/pci/pci_device.h
    M include/hw/pci/pcie_port.h
    M include/hw/pci/shpc.h
    M include/hw/remote/iohub.h
    M include/hw/remote/proxy.h
    M include/hw/sd/sdhci.h
    M include/hw/southbridge/piix.h
    M include/hw/xen/xen_common.h
    M tests/qtest/fuzz/generic_fuzz.c
    M ui/util.c

  Log Message:
  -----------
  include/hw/pci: Split pci_device.h off pci.h

PCIDeviceClass and PCIDevice are defined in pci.h.  Many users of the
header don't actually need them.  Similar structs live in their own
headers: PCIBusClass and PCIBus in pci_bus.h, PCIBridge in
pci_bridge.h, PCIHostBridgeClass and PCIHostState in pci_host.h,
PCIExpressHost in pcie_host.h, and PCIERootPortClass, PCIEPort, and
PCIESlot in pcie_port.h.

Move PCIDeviceClass and PCIDeviceClass to new pci_device.h, along with
the code that needs them.  Adjust include directives.

This also enables the next commit.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221222100330.380143-6-armbru@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 4d1ef4418d4df7a8efaf3e7e26a834276e100033
      
https://github.com/qemu/qemu/commit/4d1ef4418d4df7a8efaf3e7e26a834276e100033
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M include/hw/pci/pcie_sriov.h

  Log Message:
  -----------
  include/hw/pci: Include hw/pci/pci.h where needed

hw/pci/pcie_sriov.h needs PCI_NUM_REGIONS.  Without the previous
commit, this would close an inclusion loop: hw/pci/pci.h used to
include hw/pci/pcie.h for PCIExpressDevice, which includes
pcie_sriov.h for PCIESriovPF, which now includes hw/pci/pci.h for
PCI_NUM_REGIONS.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20221222100330.380143-7-armbru@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: b134958665faab3f93430d290ad6baec294f509f
      
https://github.com/qemu/qemu/commit/b134958665faab3f93430d290ad6baec294f509f
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M include/hw/cxl/cxl_pci.h

  Log Message:
  -----------
  include/hw/cxl: Break inclusion loop cxl_pci.h and cxl_cdat_h

hw/cxl/cxl_pci.h and hw/cxl/cxl_cdat.h include each other.  The former
doesn't actually need the latter, so drop that inclusion to break the
loop.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221222100330.380143-8-armbru@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: c21ff8bb96bb3fa89f3c796e3d4b23a678ee4d8c
      
https://github.com/qemu/qemu/commit/c21ff8bb96bb3fa89f3c796e3d4b23a678ee4d8c
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/virtio/virtio-qmp.h
    M hw/virtio/virtio.c
    M include/hw/virtio/virtio.h

  Log Message:
  -----------
  include/hw/virtio: Break inclusion loop

hw/virtio/virtio.h and hw/virtio/vhost.h include each other.  The
former doesn't actually need the latter, so drop that inclusion to
break the loop.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20221222120813.727830-2-armbru@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Edgar E. Iglesias <edgar@zeroasic.com>


  Commit: bbf62a990e6ad4ccce7d3b14d4e95c0361177afd
      
https://github.com/qemu/qemu/commit/bbf62a990e6ad4ccce7d3b14d4e95c0361177afd
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M include/exec/plugin-gen.h
    M include/hw/acpi/erst.h
    M include/hw/char/cmsdk-apb-uart.h
    M include/hw/char/goldfish_tty.h
    M include/hw/char/xilinx_uartlite.h
    M include/hw/cris/etraxfs.h
    M include/hw/display/macfb.h
    M include/hw/dma/sifive_pdma.h
    M include/hw/i386/ioapic_internal.h
    M include/hw/i386/sgx-epc.h
    M include/hw/intc/goldfish_pic.h
    M include/hw/intc/loongarch_pch_msi.h
    M include/hw/intc/loongarch_pch_pic.h
    M include/hw/intc/nios2_vic.h
    M include/hw/misc/mchp_pfsoc_dmc.h
    M include/hw/misc/mchp_pfsoc_ioscb.h
    M include/hw/misc/mchp_pfsoc_sysreg.h
    M include/hw/misc/pvpanic.h
    M include/hw/misc/sifive_e_prci.h
    M include/hw/misc/sifive_u_otp.h
    M include/hw/misc/sifive_u_prci.h
    M include/hw/misc/virt_ctrl.h
    M include/hw/misc/xlnx-versal-pmc-iou-slcr.h
    M include/hw/net/lasi_82596.h
    M include/hw/net/xlnx-zynqmp-can.h
    M include/hw/ppc/pnv_psi.h
    M include/hw/riscv/boot_opensbi.h
    M include/hw/riscv/microchip_pfsoc.h
    M include/hw/riscv/numa.h
    M include/hw/riscv/sifive_u.h
    M include/hw/riscv/spike.h
    M include/hw/riscv/virt.h
    M include/hw/ssi/sifive_spi.h
    M include/hw/timer/sse-timer.h
    M include/hw/usb/hcd-dwc3.h
    M include/hw/usb/hcd-musb.h
    M include/hw/usb/xlnx-usb-subsystem.h
    M include/hw/usb/xlnx-versal-usb2-ctrl-regs.h
    M include/hw/virtio/virtio-mmio.h
    M include/qemu/plugin-memory.h
    M include/sysemu/dirtyrate.h
    M include/sysemu/dump.h
    M include/user/syscall-trace.h

  Log Message:
  -----------
  include: Include headers where needed

A number of headers neglect to include everything they need.  They
compile only if the headers they need are already included from
elsewhere.  Fix that.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20221222120813.727830-3-armbru@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 9dd124d72d72ecab077166e6d97ccb3c5b799e3c
      
https://github.com/qemu/qemu/commit/9dd124d72d72ecab077166e6d97ccb3c5b799e3c
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M bsd-user/i386/signal.c
    M bsd-user/qemu.h
    M crypto/block-luks-priv.h
    M include/hw/cxl/cxl_host.h
    M include/hw/input/pl050.h
    M include/hw/tricore/triboard.h
    M include/qemu/userfaultfd.h
    M net/vmnet_int.h
    M qga/cutils.c
    M qga/cutils.h
    M target/hexagon/hex_arch_types.h
    M target/hexagon/mmvec/macros.h
    M target/riscv/pmu.h

  Log Message:
  -----------
  include: Don't include qemu/osdep.h

docs/devel/style.rst mandates:

    The "qemu/osdep.h" header contains preprocessor macros that affect
    the behavior of core system headers like <stdint.h>.  It must be
    the first include so that core system headers included by external
    libraries get the preprocessor macros that QEMU depends on.

    Do not include "qemu/osdep.h" from header files since the .c file
    will have already included it.

A few violations have crept in.  Fix them.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20221222120813.727830-4-armbru@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: b94747a45691c3cfb8b8669c1492cc192a42bb06
      
https://github.com/qemu/qemu/commit/b94747a45691c3cfb8b8669c1492cc192a42bb06
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M docs/devel/style.rst

  Log Message:
  -----------
  docs/devel: Rules on #include in headers

Rules for headers were proposed a long time ago, and generally liked:

    Message-ID: <87h9g8j57d.fsf@blackfin.pond.sub.org>
    https://lists.nongnu.org/archive/html/qemu-devel/2016-03/msg03345.html

Wortk them into docs/devel/style.rst.

Suggested-by: Bernhard Beschow <shentey@gmail.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221222120813.727830-5-armbru@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Bernhard Beschow <shentey@gmail.com>


  Commit: e00e53832a8876c18727d0ce09449f02fac96e92
      
https://github.com/qemu/qemu/commit/e00e53832a8876c18727d0ce09449f02fac96e92
  Author: Longpeng <longpeng2@huawei.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/virtio/vdpa-dev.c
    M hw/virtio/vhost-vdpa.c
    M include/hw/virtio/vhost-vdpa.h
    M net/vhost-vdpa.c

  Log Message:
  -----------
  vdpa-dev: get iova range explicitly

In commit a585fad26b ("vdpa: request iova_range only once") we remove
GET_IOVA_RANGE form vhost_vdpa_init, the generic vdpa device will start
without iova_range populated, so the device won't work. Let's call
GET_IOVA_RANGE ioctl explicitly.

Fixes: a585fad26b2e6ccc ("vdpa: request iova_range only once")
Signed-off-by: Longpeng <longpeng2@huawei.com>
Message-Id: <20221224114848.3062-2-longpeng2@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>


  Commit: 56facd41a417ca3b6a85fe2c4d00a76cdf35262e
      
https://github.com/qemu/qemu/commit/56facd41a417ca3b6a85fe2c4d00a76cdf35262e
  Author: Longpeng <longpeng2@huawei.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M net/vhost-vdpa.c

  Log Message:
  -----------
  vdpa: harden the error path if get_iova_range failed

We should stop if the GET_IOVA_RANGE ioctl failed.

Signed-off-by: Longpeng <longpeng2@huawei.com>
Message-Id: <20221224114848.3062-3-longpeng2@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>


  Commit: 86a3353c1827ba741a9c79cdbaea6ced6a3c4feb
      
https://github.com/qemu/qemu/commit/86a3353c1827ba741a9c79cdbaea6ced6a3c4feb
  Author: Longpeng <longpeng2@huawei.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/virtio/vhost.c

  Log Message:
  -----------
  vhost: simplify vhost_dev_enable_notifiers

Simplify the error path in vhost_dev_enable_notifiers by using
vhost_dev_disable_notifiers directly.

Signed-off-by: Longpeng <longpeng2@huawei.com>
Message-Id: <20221227072015.3134-2-longpeng2@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 82fc7b02a05fca1517fbaca8a93bafa9ac7e942a
      
https://github.com/qemu/qemu/commit/82fc7b02a05fca1517fbaca8a93bafa9ac7e942a
  Author: Longpeng <longpeng2@huawei.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/virtio/vhost.c

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

This allows the vhost device to batch the setup of all its host notifiers.
This significantly reduces the device starting time, e.g. the time spend
on enabling notifiers reduce from 376ms to 9.1ms for a VM with 64 vCPUs
and 3 vhost-vDPA generic devices (vdpa_sim_blk, 64vq per device)

Signed-off-by: Longpeng <longpeng2@huawei.com>
Message-Id: <20221227072015.3134-3-longpeng2@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 70b21a8fda417bb8bfa7bdc02811c3182be8777c
      
https://github.com/qemu/qemu/commit/70b21a8fda417bb8bfa7bdc02811c3182be8777c
  Author: Longpeng <longpeng2@huawei.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/virtio/vhost-vdpa.c

  Log Message:
  -----------
  vdpa: commit all host notifier MRs in a single MR transaction

This allows the vhost-vdpa device to batch the setup of all its MRs of
host notifiers.

This significantly reduces the device starting time, e.g. the time spend
on setup the host notifier MRs reduce from 423ms to 32ms for a VM with
64 vCPUs and 3 vhost-vDPA generic devices (vdpa_sim_blk, 64vq per device).

Signed-off-by: Longpeng <longpeng2@huawei.com>
Message-Id: <20221227072015.3134-4-longpeng2@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: a5d76c7fa8ce4f96f552e6d5a980e973497576b7
      
https://github.com/qemu/qemu/commit/a5d76c7fa8ce4f96f552e6d5a980e973497576b7
  Author: leixiang <leixiang@kylinos.cn>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

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

  Log Message:
  -----------
  virtio-pci: fix proxy->vector_irqfd leak in virtio_pci_set_guest_notifiers

proxy->vector_irqfd did not free when kvm_virtio_pci_vector_use or
msix_set_vector_notifiers failed in virtio_pci_set_guest_notifiers.

Fixes: 7d37d351

Signed-off-by: Lei Xiang <leixiang@kylinos.cn>
Tested-by: Zeng Chi <zengchi@kylinos.cn>
Suggested-by: Xie Ming <xieming@kylinos.cn>
Message-Id: <20221227081604.806415-1-leixiang@kylinos.cn>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: f28c418be18cf4892abcac46fdcb6c171eeaa138
      
https://github.com/qemu/qemu/commit/f28c418be18cf4892abcac46fdcb6c171eeaa138
  Author: Yicong Yang <yangyicong@hisilicon.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

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

  Log Message:
  -----------
  tests: virt: Allow changes to PPTT test table

Allow changes to test/data/acpi/virt/PPTT*, prepare to change the
building policy of the cluster topology.

Reviewed-by: Yanan Wang <wangyanan55@huawei.com>
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Message-Id: <20221229065513.55652-2-yangyicong@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: fc492b6320766fb85204ccd18132e075e5a66851
      
https://github.com/qemu/qemu/commit/fc492b6320766fb85204ccd18132e075e5a66851
  Author: Yicong Yang <yangyicong@hisilicon.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/acpi/aml-build.c
    M hw/core/machine-smp.c
    M include/hw/boards.h
    M qemu-options.hx

  Log Message:
  -----------
  hw/acpi/aml-build: Only generate cluster node in PPTT when specified

Currently we'll always generate a cluster node no matter user has
specified '-smp clusters=X' or not. Cluster is an optional level
and will participant the building of Linux scheduling domains and
only appears on a few platforms. It's unncessary to always build
it when it cannot reflect the real topology on platforms having no
cluster implementation and to avoid affecting the linux scheduling
domains in the VM. So only generate the cluster topology in ACPI
PPTT when the user has specified it explicitly in -smp.

Tested qemu-system-aarch64 with `-smp 8` and linux 6.1-rc1, without
this patch:
estuary:/sys/devices/system/cpu/cpu0/topology$ cat cluster_*
ff      # cluster_cpus
0-7     # cluster_cpus_list
56      # cluster_id

with this patch:
estuary:/sys/devices/system/cpu/cpu0/topology$ cat cluster_*
ff      # cluster_cpus
0-7     # cluster_cpus_list
36      # cluster_id, with no cluster node kernel will make it to
          physical package id

Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Yanan Wang <wangyanan55@huawei.com>
Tested-by: Yanan Wang <wangyanan55@huawei.com>
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Message-Id: <20221229065513.55652-3-yangyicong@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: c8dfaad9b795cd7d246b18328d9ffec50c7e4ef9
      
https://github.com/qemu/qemu/commit/c8dfaad9b795cd7d246b18328d9ffec50c7e4ef9
  Author: Yicong Yang <yangyicong@hisilicon.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M tests/data/acpi/virt/PPTT
    M tests/data/acpi/virt/PPTT.acpihmatvirt
    M tests/qtest/bios-tables-test-allowed-diff.h

  Log Message:
  -----------
  tests: virt: Update expected ACPI tables for virt test

Update the ACPI tables according to the acpi aml_build change, also
empty bios-tables-test-allowed-diff.h.

The disassembled differences between actual and expected PPTT:

  /*
   * Intel ACPI Component Architecture
   * AML/ASL+ Disassembler version 20180105 (64-bit version)
   * Copyright (c) 2000 - 2018 Intel Corporation
   *
 - * Disassembly of tests/data/acpi/virt/PPTT, Tue Nov  1 09:29:12 2022
 + * Disassembly of /tmp/aml-DIIGV1, Tue Nov  1 09:29:12 2022
   *
   * ACPI Data Table [PPTT]
   *
   * Format: [HexOffset DecimalOffset ByteLength]  FieldName : FieldValue
   */

  [000h 0000   4]                    Signature : "PPTT"    [Processor 
Properties Topology Table]
 -[004h 0004   4]                 Table Length : 00000060
 +[004h 0004   4]                 Table Length : 0000004C
  [008h 0008   1]                     Revision : 02
 -[009h 0009   1]                     Checksum : 48
 +[009h 0009   1]                     Checksum : A8
  [00Ah 0010   6]                       Oem ID : "BOCHS "
  [010h 0016   8]                 Oem Table ID : "BXPC    "
  [018h 0024   4]                 Oem Revision : 00000001
  [01Ch 0028   4]              Asl Compiler ID : "BXPC"
  [020h 0032   4]        Asl Compiler Revision : 00000001

  [024h 0036   1]                Subtable Type : 00 [Processor Hierarchy Node]
  [025h 0037   1]                       Length : 14
  [026h 0038   2]                     Reserved : 0000
  [028h 0040   4]        Flags (decoded below) : 00000001
                              Physical package : 1
                       ACPI Processor ID valid : 0
  [02Ch 0044   4]                       Parent : 00000000
  [030h 0048   4]            ACPI Processor ID : 00000000
  [034h 0052   4]      Private Resource Number : 00000000

  [038h 0056   1]                Subtable Type : 00 [Processor Hierarchy Node]
  [039h 0057   1]                       Length : 14
  [03Ah 0058   2]                     Reserved : 0000
 -[03Ch 0060   4]        Flags (decoded below) : 00000000
 +[03Ch 0060   4]        Flags (decoded below) : 0000000A
                              Physical package : 0
 -                     ACPI Processor ID valid : 0
 +                     ACPI Processor ID valid : 1
  [040h 0064   4]                       Parent : 00000024
  [044h 0068   4]            ACPI Processor ID : 00000000
  [048h 0072   4]      Private Resource Number : 00000000

 -[04Ch 0076   1]                Subtable Type : 00 [Processor Hierarchy Node]
 -[04Dh 0077   1]                       Length : 14
 -[04Eh 0078   2]                     Reserved : 0000
 -[050h 0080   4]        Flags (decoded below) : 0000000A
 -                            Physical package : 0
 -                     ACPI Processor ID valid : 1
 -[054h 0084   4]                       Parent : 00000038
 -[058h 0088   4]            ACPI Processor ID : 00000000
 -[05Ch 0092   4]      Private Resource Number : 00000000
 -
 -Raw Table Data: Length 96 (0x60)
 +Raw Table Data: Length 76 (0x4C)

 -  0000: 50 50 54 54 60 00 00 00 02 48 42 4F 43 48 53 20  // PPTT`....HBOCHS
 +  0000: 50 50 54 54 4C 00 00 00 02 A8 42 4F 43 48 53 20  // PPTTL.....BOCHS
    0010: 42 58 50 43 20 20 20 20 01 00 00 00 42 58 50 43  // BXPC    ....BXPC
    0020: 01 00 00 00 00 14 00 00 01 00 00 00 00 00 00 00  // ................
 -  0030: 00 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00  // ................
 -  0040: 24 00 00 00 00 00 00 00 00 00 00 00 00 14 00 00  // $...............
 -  0050: 0A 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00  // ....8...........
 +  0030: 00 00 00 00 00 00 00 00 00 14 00 00 0A 00 00 00  // ................
 +  0040: 24 00 00 00 00 00 00 00 00 00 00 00              // $...........

PPTT.acpihmatvirt is also updated:
  /*
   * Intel ACPI Component Architecture
   * AML/ASL+ Disassembler version 20180105 (64-bit version)
   * Copyright (c) 2000 - 2018 Intel Corporation
   *
 - * Disassembly of tests/data/acpi/virt/PPTT.acpihmatvirt, Wed Dec 28 15:36:06 
2022
 + * Disassembly of /tmp/aml-IPKJX1, Wed Dec 28 15:36:06 2022
   *
   * ACPI Data Table [PPTT]
   *
   * Format: [HexOffset DecimalOffset ByteLength]  FieldName : FieldValue
   */

  [000h 0000   4]                    Signature : "PPTT"    [Processor 
Properties Topology Table]
 -[004h 0004   4]                 Table Length : 000000C4
 +[004h 0004   4]                 Table Length : 0000009C
  [008h 0008   1]                     Revision : 02
 -[009h 0009   1]                     Checksum : 9E
 +[009h 0009   1]                     Checksum : FE
  [00Ah 0010   6]                       Oem ID : "BOCHS "
  [010h 0016   8]                 Oem Table ID : "BXPC    "
  [018h 0024   4]                 Oem Revision : 00000001
  [01Ch 0028   4]              Asl Compiler ID : "BXPC"
  [020h 0032   4]        Asl Compiler Revision : 00000001

  [024h 0036   1]                Subtable Type : 00 [Processor Hierarchy Node]
  [025h 0037   1]                       Length : 14
  [026h 0038   2]                     Reserved : 0000
  [028h 0040   4]        Flags (decoded below) : 00000001
                              Physical package : 1
                       ACPI Processor ID valid : 0
  [02Ch 0044   4]                       Parent : 00000000
  [030h 0048   4]            ACPI Processor ID : 00000000
  [034h 0052   4]      Private Resource Number : 00000000

  [038h 0056   1]                Subtable Type : 00 [Processor Hierarchy Node]
  [039h 0057   1]                       Length : 14
  [03Ah 0058   2]                     Reserved : 0000
 -[03Ch 0060   4]        Flags (decoded below) : 00000000
 +[03Ch 0060   4]        Flags (decoded below) : 0000000A
                              Physical package : 0
 -                     ACPI Processor ID valid : 0
 +                     ACPI Processor ID valid : 1
  [040h 0064   4]                       Parent : 00000024
  [044h 0068   4]            ACPI Processor ID : 00000000
  [048h 0072   4]      Private Resource Number : 00000000

  [04Ch 0076   1]                Subtable Type : 00 [Processor Hierarchy Node]
  [04Dh 0077   1]                       Length : 14
  [04Eh 0078   2]                     Reserved : 0000
  [050h 0080   4]        Flags (decoded below) : 0000000A
                              Physical package : 0
                       ACPI Processor ID valid : 1
 -[054h 0084   4]                       Parent : 00000038
 -[058h 0088   4]            ACPI Processor ID : 00000000
 +[054h 0084   4]                       Parent : 00000024
 +[058h 0088   4]            ACPI Processor ID : 00000001
  [05Ch 0092   4]      Private Resource Number : 00000000

  [060h 0096   1]                Subtable Type : 00 [Processor Hierarchy Node]
  [061h 0097   1]                       Length : 14
  [062h 0098   2]                     Reserved : 0000
 -[064h 0100   4]        Flags (decoded below) : 0000000A
 -                            Physical package : 0
 -                     ACPI Processor ID valid : 1
 -[068h 0104   4]                       Parent : 00000038
 +[064h 0100   4]        Flags (decoded below) : 00000001
 +                            Physical package : 1
 +                     ACPI Processor ID valid : 0
 +[068h 0104   4]                       Parent : 00000000
  [06Ch 0108   4]            ACPI Processor ID : 00000001
  [070h 0112   4]      Private Resource Number : 00000000

  [074h 0116   1]                Subtable Type : 00 [Processor Hierarchy Node]
  [075h 0117   1]                       Length : 14
  [076h 0118   2]                     Reserved : 0000
 -[078h 0120   4]        Flags (decoded below) : 00000001
 -                            Physical package : 1
 -                     ACPI Processor ID valid : 0
 -[07Ch 0124   4]                       Parent : 00000000
 -[080h 0128   4]            ACPI Processor ID : 00000001
 +[078h 0120   4]        Flags (decoded below) : 0000000A
 +                            Physical package : 0
 +                     ACPI Processor ID valid : 1
 +[07Ch 0124   4]                       Parent : 00000060
 +[080h 0128   4]            ACPI Processor ID : 00000002
  [084h 0132   4]      Private Resource Number : 00000000

  [088h 0136   1]                Subtable Type : 00 [Processor Hierarchy Node]
  [089h 0137   1]                       Length : 14
  [08Ah 0138   2]                     Reserved : 0000
 -[08Ch 0140   4]        Flags (decoded below) : 00000000
 -                            Physical package : 0
 -                     ACPI Processor ID valid : 0
 -[090h 0144   4]                       Parent : 00000074
 -[094h 0148   4]            ACPI Processor ID : 00000000
 -[098h 0152   4]      Private Resource Number : 00000000
 -
 -[09Ch 0156   1]                Subtable Type : 00 [Processor Hierarchy Node]
 -[09Dh 0157   1]                       Length : 14
 -[09Eh 0158   2]                     Reserved : 0000
 -[0A0h 0160   4]        Flags (decoded below) : 0000000A
 -                            Physical package : 0
 -                     ACPI Processor ID valid : 1
 -[0A4h 0164   4]                       Parent : 00000088
 -[0A8h 0168   4]            ACPI Processor ID : 00000002
 -[0ACh 0172   4]      Private Resource Number : 00000000
 -
 -[0B0h 0176   1]                Subtable Type : 00 [Processor Hierarchy Node]
 -[0B1h 0177   1]                       Length : 14
 -[0B2h 0178   2]                     Reserved : 0000
 -[0B4h 0180   4]        Flags (decoded below) : 0000000A
 +[08Ch 0140   4]        Flags (decoded below) : 0000000A
                              Physical package : 0
                       ACPI Processor ID valid : 1
 -[0B8h 0184   4]                       Parent : 00000088
 -[0BCh 0188   4]            ACPI Processor ID : 00000003
 -[0C0h 0192   4]      Private Resource Number : 00000000
 +[090h 0144   4]                       Parent : 00000060
 +[094h 0148   4]            ACPI Processor ID : 00000003
 +[098h 0152   4]      Private Resource Number : 00000000

 -Raw Table Data: Length 196 (0xC4)
 +Raw Table Data: Length 156 (0x9C)

 -  0000: 50 50 54 54 C4 00 00 00 02 9E 42 4F 43 48 53 20  // PPTT......BOCHS
 +  0000: 50 50 54 54 9C 00 00 00 02 FE 42 4F 43 48 53 20  // PPTT......BOCHS
    0010: 42 58 50 43 20 20 20 20 01 00 00 00 42 58 50 43  // BXPC    ....BXPC
    0020: 01 00 00 00 00 14 00 00 01 00 00 00 00 00 00 00  // ................
 -  0030: 00 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00  // ................
 +  0030: 00 00 00 00 00 00 00 00 00 14 00 00 0A 00 00 00  // ................
    0040: 24 00 00 00 00 00 00 00 00 00 00 00 00 14 00 00  // $...............
 -  0050: 0A 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00  // ....8...........
 -  0060: 00 14 00 00 0A 00 00 00 38 00 00 00 01 00 00 00  // ........8.......
 -  0070: 00 00 00 00 00 14 00 00 01 00 00 00 00 00 00 00  // ................
 -  0080: 01 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00  // ................
 -  0090: 74 00 00 00 00 00 00 00 00 00 00 00 00 14 00 00  // t...............
 -  00A0: 0A 00 00 00 88 00 00 00 02 00 00 00 00 00 00 00  // ................
 -  00B0: 00 14 00 00 0A 00 00 00 88 00 00 00 03 00 00 00  // ................
 -  00C0: 00 00 00 00                                      // ....
 +  0050: 0A 00 00 00 24 00 00 00 01 00 00 00 00 00 00 00  // ....$...........
 +  0060: 00 14 00 00 01 00 00 00 00 00 00 00 01 00 00 00  // ................
 +  0070: 00 00 00 00 00 14 00 00 0A 00 00 00 60 00 00 00  // ............`...
 +  0080: 02 00 00 00 00 00 00 00 00 14 00 00 0A 00 00 00  // ................
 +  0090: 60 00 00 00 03 00 00 00 00 00 00 00              // `...........

Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Yanan Wang <wangyanan55@huawei.com>
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Message-Id: <20221229065513.55652-4-yangyicong@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 15e52586173a62c0846ea6cbf318160cad966c0c
      
https://github.com/qemu/qemu/commit/15e52586173a62c0846ea6cbf318160cad966c0c
  Author: Yicong Yang <yangyicong@hisilicon.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    A tests/data/acpi/virt/APIC.topology
    A tests/data/acpi/virt/DSDT.topology
    A tests/data/acpi/virt/PPTT.topology
    M tests/qtest/bios-tables-test-allowed-diff.h

  Log Message:
  -----------
  tests: acpi: Add and whitelist *.topology blobs

Add and whitelist *.topology blobs, prepares for the aarch64's ACPI
topology building test.

Reviewed-by: Yanan Wang <wangyanan55@huawei.com>
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Message-Id: <20221229065513.55652-5-yangyicong@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: ed4abf294a92621df4ba667000e4ee0a055fcb08
      
https://github.com/qemu/qemu/commit/ed4abf294a92621df4ba667000e4ee0a055fcb08
  Author: Yicong Yang <yangyicong@hisilicon.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M tests/qtest/bios-tables-test.c

  Log Message:
  -----------
  tests: acpi: aarch64: Add topology test for aarch64

Add test for aarch64's ACPI topology building for all the supported
levels.

Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Yanan Wang <wangyanan55@huawei.com>
Tested-by: Yanan Wang <wangyanan55@huawei.com>
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Message-Id: <20221229065513.55652-6-yangyicong@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 7d33fceb31e6d198a4cc169614f5c7c36a92f19a
      
https://github.com/qemu/qemu/commit/7d33fceb31e6d198a4cc169614f5c7c36a92f19a
  Author: Yicong Yang <yangyicong@hisilicon.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M tests/data/acpi/virt/APIC.topology
    M tests/data/acpi/virt/DSDT.topology
    M tests/data/acpi/virt/PPTT.topology
    M tests/qtest/bios-tables-test-allowed-diff.h

  Log Message:
  -----------
  tests: acpi: aarch64: Add *.topology tables

Add *.topology tables for the aarch64's topology test and empty
bios-tables-test-allowed-diff.h

The disassembled differences between actual and expected
PPTT (the table which we actually care about):

 +/*
 + * Intel ACPI Component Architecture
 + * AML/ASL+ Disassembler version 20180105 (64-bit version)
 + * Copyright (c) 2000 - 2018 Intel Corporation
 + *
 + * Disassembly of /tmp/aml-WUN4U1, Tue Nov  1 09:51:52 2022
 + *
 + * ACPI Data Table [PPTT]
 + *
 + * Format: [HexOffset DecimalOffset ByteLength]  FieldName : FieldValue
 + */
 +
 +[000h 0000   4]                    Signature : "PPTT"    [Processor 
Properties Topology Table]
 +[004h 0004   4]                 Table Length : 00000150
 +[008h 0008   1]                     Revision : 02
 +[009h 0009   1]                     Checksum : 7C
 +[00Ah 0010   6]                       Oem ID : "BOCHS "
 +[010h 0016   8]                 Oem Table ID : "BXPC    "
 +[018h 0024   4]                 Oem Revision : 00000001
 +[01Ch 0028   4]              Asl Compiler ID : "BXPC"
 +[020h 0032   4]        Asl Compiler Revision : 00000001
 +
 +
 +[024h 0036   1]                Subtable Type : 00 [Processor Hierarchy Node]
 +[025h 0037   1]                       Length : 14
 +[026h 0038   2]                     Reserved : 0000
 +[028h 0040   4]        Flags (decoded below) : 00000001
 +                            Physical package : 1
 +                     ACPI Processor ID valid : 0
 +[02Ch 0044   4]                       Parent : 00000000
 +[030h 0048   4]            ACPI Processor ID : 00000000
 +[034h 0052   4]      Private Resource Number : 00000000
 +
 +[038h 0056   1]                Subtable Type : 00 [Processor Hierarchy Node]
 +[039h 0057   1]                       Length : 14
 +[03Ah 0058   2]                     Reserved : 0000
 +[03Ch 0060   4]        Flags (decoded below) : 00000000
 +                            Physical package : 0
 +                     ACPI Processor ID valid : 0
 +[040h 0064   4]                       Parent : 00000024
 +[044h 0068   4]            ACPI Processor ID : 00000000
 +[048h 0072   4]      Private Resource Number : 00000000
 +
 +[04Ch 0076   1]                Subtable Type : 00 [Processor Hierarchy Node]
 +[04Dh 0077   1]                       Length : 14
 +[04Eh 0078   2]                     Reserved : 0000
 +[050h 0080   4]        Flags (decoded below) : 00000000
 +                            Physical package : 0
 +                     ACPI Processor ID valid : 0
 +[054h 0084   4]                       Parent : 00000038
 +[058h 0088   4]            ACPI Processor ID : 00000000
 +[05Ch 0092   4]      Private Resource Number : 00000000
 +
 +[060h 0096   1]                Subtable Type : 00 [Processor Hierarchy Node]
 +[061h 0097   1]                       Length : 14
 +[062h 0098   2]                     Reserved : 0000
 +[064h 0100   4]        Flags (decoded below) : 0000000E
 +                            Physical package : 0
 +                     ACPI Processor ID valid : 1
 +[068h 0104   4]                       Parent : 0000004C
 +[06Ch 0108   4]            ACPI Processor ID : 00000000
 +[070h 0112   4]      Private Resource Number : 00000000
 +
 +[074h 0116   1]                Subtable Type : 00 [Processor Hierarchy Node]
 +[075h 0117   1]                       Length : 14
 +[076h 0118   2]                     Reserved : 0000
 +[078h 0120   4]        Flags (decoded below) : 0000000E
 +                            Physical package : 0
 +                     ACPI Processor ID valid : 1
 +[07Ch 0124   4]                       Parent : 0000004C
 +[080h 0128   4]            ACPI Processor ID : 00000001
 +[084h 0132   4]      Private Resource Number : 00000000
 +
 +[088h 0136   1]                Subtable Type : 00 [Processor Hierarchy Node]
 +[089h 0137   1]                       Length : 14
 +[08Ah 0138   2]                     Reserved : 0000
 +[08Ch 0140   4]        Flags (decoded below) : 00000000
 +                            Physical package : 0
 +                     ACPI Processor ID valid : 0
 +[090h 0144   4]                       Parent : 00000038
 +[094h 0148   4]            ACPI Processor ID : 00000001
 +[098h 0152   4]      Private Resource Number : 00000000
 +
 +[09Ch 0156   1]                Subtable Type : 00 [Processor Hierarchy Node]
 +[09Dh 0157   1]                       Length : 14
 +[09Eh 0158   2]                     Reserved : 0000
 +[0A0h 0160   4]        Flags (decoded below) : 0000000E
 +                            Physical package : 0
 +                     ACPI Processor ID valid : 1
 +[0A4h 0164   4]                       Parent : 00000088
 +[0A8h 0168   4]            ACPI Processor ID : 00000002
 +[0ACh 0172   4]      Private Resource Number : 00000000
 +
 +[0B0h 0176   1]                Subtable Type : 00 [Processor Hierarchy Node]
 +[0B1h 0177   1]                       Length : 14
 +[0B2h 0178   2]                     Reserved : 0000
 +[0B4h 0180   4]        Flags (decoded below) : 0000000E
 +                            Physical package : 0
 +                     ACPI Processor ID valid : 1
 +[0B8h 0184   4]                       Parent : 00000088
 +[0BCh 0188   4]            ACPI Processor ID : 00000003
 +[0C0h 0192   4]      Private Resource Number : 00000000
 +
 +[0C4h 0196   1]                Subtable Type : 00 [Processor Hierarchy Node]
 +[0C5h 0197   1]                       Length : 14
 +[0C6h 0198   2]                     Reserved : 0000
 +[0C8h 0200   4]        Flags (decoded below) : 00000000
 +                            Physical package : 0
 +                     ACPI Processor ID valid : 0
 +[0CCh 0204   4]                       Parent : 00000024
 +[0D0h 0208   4]            ACPI Processor ID : 00000001
 +[0D4h 0212   4]      Private Resource Number : 00000000
 +
 +[0D8h 0216   1]                Subtable Type : 00 [Processor Hierarchy Node]
 +[0D9h 0217   1]                       Length : 14
 +[0DAh 0218   2]                     Reserved : 0000
 +[0DCh 0220   4]        Flags (decoded below) : 00000000
 +                            Physical package : 0
 +                     ACPI Processor ID valid : 0
 +[0E0h 0224   4]                       Parent : 000000C4
 +[0E4h 0228   4]            ACPI Processor ID : 00000000
 +[0E8h 0232   4]      Private Resource Number : 00000000
 +
 +[0ECh 0236   1]                Subtable Type : 00 [Processor Hierarchy Node]
 +[0EDh 0237   1]                       Length : 14
 +[0EEh 0238   2]                     Reserved : 0000
 +[0F0h 0240   4]        Flags (decoded below) : 0000000E
 +                            Physical package : 0
 +                     ACPI Processor ID valid : 1
 +[0F4h 0244   4]                       Parent : 000000D8
 +[0F8h 0248   4]            ACPI Processor ID : 00000004
 +[0FCh 0252   4]      Private Resource Number : 00000000
 +
 +[100h 0256   1]                Subtable Type : 00 [Processor Hierarchy Node]
 +[101h 0257   1]                       Length : 14
 +[102h 0258   2]                     Reserved : 0000
 +[104h 0260   4]        Flags (decoded below) : 0000000E
 +                            Physical package : 0
 +                     ACPI Processor ID valid : 1
 +[108h 0264   4]                       Parent : 000000D8
 +[10Ch 0268   4]            ACPI Processor ID : 00000005
 +[110h 0272   4]      Private Resource Number : 00000000
 +
 +[114h 0276   1]                Subtable Type : 00 [Processor Hierarchy Node]
 +[115h 0277   1]                       Length : 14
 +[116h 0278   2]                     Reserved : 0000
 +[118h 0280   4]        Flags (decoded below) : 00000000
 +                            Physical package : 0
 +                     ACPI Processor ID valid : 0
 +[11Ch 0284   4]                       Parent : 000000C4
 +[120h 0288   4]            ACPI Processor ID : 00000001
 +[124h 0292   4]      Private Resource Number : 00000000
 +
 +[128h 0296   1]                Subtable Type : 00 [Processor Hierarchy Node]
 +[129h 0297   1]                       Length : 14
 +[12Ah 0298   2]                     Reserved : 0000
 +[12Ch 0300   4]        Flags (decoded below) : 0000000E
 +                            Physical package : 0
 +                     ACPI Processor ID valid : 1
 +[130h 0304   4]                       Parent : 00000114
 +[134h 0308   4]            ACPI Processor ID : 00000006
 +[138h 0312   4]      Private Resource Number : 00000000
 +
 +[13Ch 0316   1]                Subtable Type : 00 [Processor Hierarchy Node]
 +[13Dh 0317   1]                       Length : 14
 +[13Eh 0318   2]                     Reserved : 0000
 +[140h 0320   4]        Flags (decoded below) : 0000000E
 +                            Physical package : 0
 +                     ACPI Processor ID valid : 1
 +[144h 0324   4]                       Parent : 00000114
 +[148h 0328   4]            ACPI Processor ID : 00000007
 +[14Ch 0332   4]      Private Resource Number : 00000000
 +
 +Raw Table Data: Length 336 (0x150)
 +
 +  0000: 50 50 54 54 50 01 00 00 02 7C 42 4F 43 48 53 20  // PPTTP....|BOCHS
 +  0010: 42 58 50 43 20 20 20 20 01 00 00 00 42 58 50 43  // BXPC    ....BXPC
 +  0020: 01 00 00 00 00 14 00 00 01 00 00 00 00 00 00 00  // ................
 +  0030: 00 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00  // ................
 +  0040: 24 00 00 00 00 00 00 00 00 00 00 00 00 14 00 00  // $...............
 +  0050: 00 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00  // ....8...........
 +  0060: 00 14 00 00 0E 00 00 00 4C 00 00 00 00 00 00 00  // ........L.......
 +  0070: 00 00 00 00 00 14 00 00 0E 00 00 00 4C 00 00 00  // ............L...
 +  0080: 01 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00  // ................
 +  0090: 38 00 00 00 01 00 00 00 00 00 00 00 00 14 00 00  // 8...............
 +  00A0: 0E 00 00 00 88 00 00 00 02 00 00 00 00 00 00 00  // ................
 +  00B0: 00 14 00 00 0E 00 00 00 88 00 00 00 03 00 00 00  // ................
 +  00C0: 00 00 00 00 00 14 00 00 00 00 00 00 24 00 00 00  // ............$...
 +  00D0: 01 00 00 00 00 00 00 00 00 14 00 00 00 00 00 00  // ................
 +  00E0: C4 00 00 00 00 00 00 00 00 00 00 00 00 14 00 00  // ................
 +  00F0: 0E 00 00 00 D8 00 00 00 04 00 00 00 00 00 00 00  // ................
 +  0100: 00 14 00 00 0E 00 00 00 D8 00 00 00 05 00 00 00  // ................
 +  0110: 00 00 00 00 00 14 00 00 00 00 00 00 C4 00 00 00  // ................
 +  0120: 01 00 00 00 00 00 00 00 00 14 00 00 0E 00 00 00  // ................
 +  0130: 14 01 00 00 06 00 00 00 00 00 00 00 00 14 00 00  // ................
 +  0140: 0E 00 00 00 14 01 00 00 07 00 00 00 00 00 00 00  // ................

Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Yanan Wang <wangyanan55@huawei.com>
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Message-Id: <20221229065513.55652-7-yangyicong@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 91cd6d089221b4037cd26afdf0f37b16ede8ea9f
      
https://github.com/qemu/qemu/commit/91cd6d089221b4037cd26afdf0f37b16ede8ea9f
  Author: Laszlo Ersek <lersek@redhat.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/acpi/cpu_hotplug.c

  Log Message:
  -----------
  acpi: cpuhp: fix guest-visible maximum access size to the legacy reg block

The modern ACPI CPU hotplug interface was introduced in the following
series (aa1dd39ca307..679dd1a957df), released in v2.7.0:

  1  abd49bc2ed2f docs: update ACPI CPU hotplug spec with new protocol
  2  16bcab97eb9f pc: piix4/ich9: add 'cpu-hotplug-legacy' property
  3  5e1b5d93887b acpi: cpuhp: add CPU devices AML with _STA method
  4  ac35f13ba8f8 pc: acpi: introduce AcpiDeviceIfClass.madt_cpu hook
  5  d2238cb6781d acpi: cpuhp: implement hot-add parts of CPU hotplug
                  interface
  6  8872c25a26cc acpi: cpuhp: implement hot-remove parts of CPU hotplug
                  interface
  7  76623d00ae57 acpi: cpuhp: add cpu._OST handling
  8  679dd1a957df pc: use new CPU hotplug interface since 2.7 machine type

Before patch#1, "docs/specs/acpi_cpu_hotplug.txt" only specified 1-byte
accesses for the hotplug register block.  Patch#1 preserved the same
restriction for the legacy register block, but:

- it specified DWORD accesses for some of the modern registers,

- in particular, the switch from the legacy block to the modern block
  would require a DWORD write to the *legacy* block.

The latter functionality was then implemented in cpu_status_write()
[hw/acpi/cpu_hotplug.c], in patch#8.

Unfortunately, all DWORD accesses depended on a dormant bug: the one
introduced in earlier commit a014ed07bd5a ("memory: accept mismatching
sizes in memory_region_access_valid", 2013-05-29); first released in
v1.6.0.  Due to commit a014ed07bd5a, the DWORD accesses to the *legacy*
CPU hotplug register block would work in spite of the above series *not*
relaxing "valid.max_access_size = 1" in "hw/acpi/cpu_hotplug.c":

> static const MemoryRegionOps AcpiCpuHotplug_ops = {
>     .read = cpu_status_read,
>     .write = cpu_status_write,
>     .endianness = DEVICE_LITTLE_ENDIAN,
>     .valid = {
>         .min_access_size = 1,
>         .max_access_size = 1,
>     },
> };

Later, in commits e6d0c3ce6895 ("acpi: cpuhp: introduce 'Command data 2'
field", 2020-01-22) and ae340aa3d256 ("acpi: cpuhp: spec: add typical
usecases", 2020-01-22), first released in v5.0.0, the modern CPU hotplug
interface (including the documentation) was extended with another DWORD
*read* access, namely to the "Command data 2" register, which would be
important for the guest to confirm whether it managed to switch the
register block from legacy to modern.

This functionality too silently depended on the bug from commit
a014ed07bd5a.

In commit 5d971f9e6725 ('memory: Revert "memory: accept mismatching sizes
in memory_region_access_valid"', 2020-06-26), first released in v5.1.0,
the bug from commit a014ed07bd5a was fixed (the commit was reverted).
That swiftly exposed the bug in "AcpiCpuHotplug_ops", still present from
the v2.7.0 series quoted at the top -- namely the fact that
"valid.max_access_size = 1" didn't match what the guest was supposed to
do, according to the spec ("docs/specs/acpi_cpu_hotplug.txt").

The symptom is that the "modern interface negotiation protocol"
described in commit ae340aa3d256:

> +      Use following steps to detect and enable modern CPU hotplug interface:
> +        1. Store 0x0 to the 'CPU selector' register,
> +           attempting to switch to modern mode
> +        2. Store 0x0 to the 'CPU selector' register,
> +           to ensure valid selector value
> +        3. Store 0x0 to the 'Command field' register,
> +        4. Read the 'Command data 2' register.
> +           If read value is 0x0, the modern interface is enabled.
> +           Otherwise legacy or no CPU hotplug interface available

falls apart for the guest: steps 1 and 2 are lost, because they are DWORD
writes; so no switching happens.  Step 3 (a single-byte write) is not
lost, but it has no effect; see the condition in cpu_status_write() in
patch#8.  And step 4 *misleads* the guest into thinking that the switch
worked: the DWORD read is lost again -- it returns zero to the guest
without ever reaching the device model, so the guest never learns the
switch didn't work.

This means that guest behavior centered on the "Command data 2" register
worked *only* in the v5.0.0 release; it got effectively regressed in
v5.1.0.

To make things *even more* complicated, the breakage was (and remains, as
of today) visible with TCG acceleration only.  Commit 5d971f9e6725 makes
no difference with KVM acceleration -- the DWORD accesses still work,
despite "valid.max_access_size = 1".

As commit 5d971f9e6725 suggests, fix the problem by raising
"valid.max_access_size" to 4 -- the spec now clearly instructs the guest
to perform DWORD accesses to the legacy register block too, for enabling
(and verifying!) the modern block.  In order to keep compatibility for the
device model implementation though, set "impl.max_access_size = 1", so
that wide accesses be split before they reach the legacy read/write
handlers, like they always have been on KVM, and like they were on TCG
before 5d971f9e6725 (v5.1.0).

Tested with:

- OVMF IA32 + qemu-system-i386, CPU hotplug/hot-unplug with SMM,
  intermixed with ACPI S3 suspend/resume, using KVM accel
  (regression-test);

- OVMF IA32X64 + qemu-system-x86_64, CPU hotplug/hot-unplug with SMM,
  intermixed with ACPI S3 suspend/resume, using KVM accel
  (regression-test);

- OVMF IA32 + qemu-system-i386, SMM enabled, using TCG accel; verified the
  register block switch and the present/possible CPU counting through the
  modern hotplug interface, during OVMF boot (bugfix test);

- I do not have any testcase (guest payload) for regression-testing CPU
  hotplug through the *legacy* CPU hotplug register block.

Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Ani Sinha <ani@anisinha.ca>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Philippe Mathieu-Daudé <philmd@linaro.org>
Cc: qemu-stable@nongnu.org
Ref: "IO port write width clamping differs between TCG and KVM"
Link: 
http://mid.mail-archive.com/aaedee84-d3ed-a4f9-21e7-d221a28d1683@redhat.com
Link: https://lists.gnu.org/archive/html/qemu-devel/2023-01/msg00199.html
Reported-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20230105161804.82486-1-lersek@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 1df76fab679e9a673b71531925fe12ceb89eaecb
      
https://github.com/qemu/qemu/commit/1df76fab679e9a673b71531925fe12ceb89eaecb
  Author: Dongli Zhang <dongli.zhang@oracle.com>
  Date:   2023-01-05 (Thu, 05 Jan 2023)

  Changed paths:
    M hw/scsi/vhost-scsi-common.c

  Log Message:
  -----------
  vhost-scsi: fix memleak of vsc->inflight

This is below memleak detected when to quit the qemu-system-x86_64 (with
vhost-scsi-pci).

(qemu) quit

=================================================================
==15568==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 40 byte(s) in 1 object(s) allocated from:
    #0 0x7f00aec57917 in __interceptor_calloc (/lib64/libasan.so.6+0xb4917)
    #1 0x7f00ada0d7b5 in g_malloc0 (/lib64/libglib-2.0.so.0+0x517b5)
    #2 0x5648ffd38bac in vhost_scsi_start ../hw/scsi/vhost-scsi.c:92
    #3 0x5648ffd38d52 in vhost_scsi_set_status ../hw/scsi/vhost-scsi.c:131
    #4 0x5648ffda340e in virtio_set_status ../hw/virtio/virtio.c:2036
    #5 0x5648ff8de281 in virtio_ioport_write ../hw/virtio/virtio-pci.c:431
    #6 0x5648ff8deb29 in virtio_pci_config_write ../hw/virtio/virtio-pci.c:576
    #7 0x5648ffe5c0c2 in memory_region_write_accessor ../softmmu/memory.c:493
    #8 0x5648ffe5c424 in access_with_adjusted_size ../softmmu/memory.c:555
    #9 0x5648ffe6428f in memory_region_dispatch_write ../softmmu/memory.c:1515
    #10 0x5648ffe8613d in flatview_write_continue ../softmmu/physmem.c:2825
    #11 0x5648ffe86490 in flatview_write ../softmmu/physmem.c:2867
    #12 0x5648ffe86d9f in address_space_write ../softmmu/physmem.c:2963
    #13 0x5648ffe86e57 in address_space_rw ../softmmu/physmem.c:2973
    #14 0x5648fffbfb3d in kvm_handle_io ../accel/kvm/kvm-all.c:2639
    #15 0x5648fffc0e0d in kvm_cpu_exec ../accel/kvm/kvm-all.c:2890
    #16 0x5648fffc90a7 in kvm_vcpu_thread_fn ../accel/kvm/kvm-accel-ops.c:51
    #17 0x56490042400a in qemu_thread_start ../util/qemu-thread-posix.c:505
    #18 0x7f00ac3b6ea4 in start_thread (/lib64/libpthread.so.0+0x7ea4)

Free the vsc->inflight at the 'stop' path.

Fixes: b82526c7ee ("vhost-scsi: support inflight io track")
Cc: Joe Jin <joe.jin@oracle.com>
Cc: Li Feng <fengli@smartx.com>
Signed-off-by: Dongli Zhang <dongli.zhang@oracle.com>
Message-Id: <20230104160433.21353-1-dongli.zhang@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>


  Commit: 6cb90477cebf84244f60c72575006873e3ad3dcb
      
https://github.com/qemu/qemu/commit/6cb90477cebf84244f60c72575006873e3ad3dcb
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2023-01-06 (Fri, 06 Jan 2023)

  Changed paths:
    M bsd-user/i386/signal.c
    M bsd-user/qemu.h
    M configs/devices/mips-softmmu/common.mak
    M crypto/block-luks-priv.h
    M docs/devel/style.rst
    M hw/acpi/Kconfig
    M hw/acpi/aml-build.c
    M hw/acpi/cpu_hotplug.c
    M hw/acpi/erst.c
    M hw/acpi/meson.build
    M hw/alpha/alpha_sys.h
    M hw/alpha/pci.c
    M hw/alpha/typhoon.c
    M hw/audio/ac97.c
    M hw/audio/es1370.c
    M hw/audio/via-ac97.c
    M hw/char/serial-pci-multi.c
    M hw/char/serial-pci.c
    M hw/core/machine-smp.c
    M hw/core/qdev-properties-system.c
    M hw/display/ati_int.h
    M hw/display/bochs-display.c
    M hw/display/cirrus_vga.c
    M hw/display/qxl.h
    M hw/display/sm501.c
    M hw/display/vga-pci.c
    M hw/display/vhost-user-gpu.c
    M hw/display/vmware_vga.c
    M hw/i2c/meson.build
    M hw/i386/Kconfig
    M hw/i386/acpi-build.c
    M hw/i386/xen/xen_pvdevice.c
    M hw/ide/ahci_internal.h
    M hw/ipack/tpci200.c
    M hw/ipmi/pci_ipmi_bt.c
    M hw/ipmi/pci_ipmi_kcs.c
    M hw/isa/Kconfig
    M hw/isa/i82378.c
    M hw/mips/gt64xxx_pci.c
    M hw/misc/pci-testdev.c
    M hw/misc/pvpanic-pci.c
    M hw/net/can/can_kvaser_pci.c
    M hw/net/can/can_mioe3680_pci.c
    M hw/net/can/can_pcm3680_pci.c
    M hw/net/can/ctucan_pci.c
    M hw/net/e1000.c
    M hw/net/e1000x_common.c
    M hw/net/eepro100.c
    M hw/net/ne2000-pci.c
    M hw/net/net_tx_pkt.c
    M hw/net/pcnet-pci.c
    M hw/net/rocker/rocker.c
    M hw/net/rocker/rocker_desc.c
    M hw/net/rtl8139.c
    M hw/net/sungem.c
    M hw/net/sunhme.c
    M hw/net/tulip.c
    M hw/net/vhost_net-stub.c
    M hw/net/vhost_net.c
    M hw/net/virtio-net.c
    M hw/net/vmxnet3_defs.h
    M hw/nvme/nvme.h
    M hw/pci-bridge/i82801b11.c
    M hw/pci-bridge/pci_expander_bridge.c
    M hw/pci-host/bonito.c
    M hw/pci-host/dino.c
    M hw/pci-host/grackle.c
    M hw/pci-host/mv64361.c
    M hw/pci-host/ppce500.c
    M hw/pci-host/raven.c
    M hw/pci-host/sh_pci.c
    M hw/pci-host/uninorth.c
    M hw/pci-host/versatile.c
    M hw/pci/pci-hmp-cmds.c
    M hw/pci/pcie_host.c
    M hw/pci/pcie_sriov.c
    M hw/pci/slotid_cap.c
    M hw/ppc/Kconfig
    M hw/ppc/ppc440_pcix.c
    M hw/ppc/ppc4xx_pci.c
    M hw/ppc/spapr_pci_vfio.c
    M hw/rdma/rdma_utils.c
    M hw/rdma/rdma_utils.h
    M hw/rdma/vmw/pvrdma.h
    M hw/s390x/s390-pci-inst.c
    M hw/scsi/esp-pci.c
    M hw/scsi/lsi53c895a.c
    M hw/scsi/mptsas.h
    M hw/scsi/vhost-scsi-common.c
    M hw/scsi/virtio-scsi.c
    M hw/smbios/smbios.c
    M hw/usb/hcd-ehci.h
    M hw/usb/hcd-ohci-pci.c
    M hw/usb/hcd-uhci.h
    M hw/usb/hcd-xhci-pci.h
    M hw/vfio/pci.h
    M hw/virtio/trace-events
    M hw/virtio/vdpa-dev.c
    M hw/virtio/vhost-user-fs.c
    M hw/virtio/vhost-user-gpio.c
    M hw/virtio/vhost-vdpa.c
    M hw/virtio/vhost-vsock-common.c
    M hw/virtio/vhost.c
    M hw/virtio/virtio-crypto.c
    M hw/virtio/virtio-mmio.c
    M hw/virtio/virtio-pci.c
    M hw/virtio/virtio-qmp.c
    M hw/virtio/virtio-qmp.h
    M hw/virtio/virtio.c
    M hw/watchdog/wdt_i6300esb.c
    M hw/xen/xen_pt.h
    M include/exec/plugin-gen.h
    M include/hw/acpi/erst.h
    M include/hw/acpi/piix4.h
    M include/hw/arm/allwinner-a10.h
    M include/hw/boards.h
    M include/hw/char/cmsdk-apb-uart.h
    M include/hw/char/goldfish_tty.h
    M include/hw/char/xilinx_uartlite.h
    M include/hw/cris/etraxfs.h
    M include/hw/cxl/cxl.h
    M include/hw/cxl/cxl_cdat.h
    M include/hw/cxl/cxl_component.h
    M include/hw/cxl/cxl_device.h
    M include/hw/cxl/cxl_host.h
    M include/hw/cxl/cxl_pci.h
    M include/hw/display/macfb.h
    M include/hw/dma/sifive_pdma.h
    M include/hw/i386/ich9.h
    M include/hw/i386/ioapic_internal.h
    M include/hw/i386/sgx-epc.h
    M include/hw/i386/x86-iommu.h
    M include/hw/ide/pci.h
    M include/hw/input/pl050.h
    M include/hw/intc/goldfish_pic.h
    M include/hw/intc/loongarch_pch_msi.h
    M include/hw/intc/loongarch_pch_pic.h
    M include/hw/intc/nios2_vic.h
    M include/hw/isa/vt82c686.h
    M include/hw/misc/macio/macio.h
    M include/hw/misc/mchp_pfsoc_dmc.h
    M include/hw/misc/mchp_pfsoc_ioscb.h
    M include/hw/misc/mchp_pfsoc_sysreg.h
    M include/hw/misc/pvpanic.h
    M include/hw/misc/sifive_e_prci.h
    M include/hw/misc/sifive_u_otp.h
    M include/hw/misc/sifive_u_prci.h
    M include/hw/misc/virt_ctrl.h
    M include/hw/misc/xlnx-versal-pmc-iou-slcr.h
    M include/hw/net/lasi_82596.h
    M include/hw/net/xlnx-zynqmp-can.h
    M include/hw/pci-host/designware.h
    M include/hw/pci-host/gpex.h
    M include/hw/pci-host/i440fx.h
    M include/hw/pci-host/ls7a.h
    M include/hw/pci-host/pnv_phb3.h
    M include/hw/pci-host/pnv_phb4.h
    M include/hw/pci-host/q35.h
    M include/hw/pci-host/sabre.h
    M include/hw/pci-host/xilinx-pcie.h
    M include/hw/pci/msi.h
    M include/hw/pci/pci.h
    M include/hw/pci/pci_bridge.h
    A include/hw/pci/pci_device.h
    M include/hw/pci/pcie.h
    M include/hw/pci/pcie_port.h
    M include/hw/pci/pcie_sriov.h
    M include/hw/pci/shpc.h
    M include/hw/ppc/pnv_psi.h
    M include/hw/remote/iohub.h
    M include/hw/remote/proxy.h
    M include/hw/riscv/boot_opensbi.h
    M include/hw/riscv/microchip_pfsoc.h
    M include/hw/riscv/numa.h
    M include/hw/riscv/sifive_u.h
    M include/hw/riscv/spike.h
    M include/hw/riscv/virt.h
    M include/hw/sd/sdhci.h
    M include/hw/southbridge/piix.h
    M include/hw/ssi/sifive_spi.h
    M include/hw/timer/sse-timer.h
    M include/hw/tricore/triboard.h
    M include/hw/usb/hcd-dwc3.h
    M include/hw/usb/hcd-musb.h
    M include/hw/usb/xlnx-usb-subsystem.h
    M include/hw/usb/xlnx-versal-usb2-ctrl-regs.h
    M include/hw/virtio/vhost-backend.h
    M include/hw/virtio/vhost-vdpa.h
    M include/hw/virtio/vhost.h
    M include/hw/virtio/virtio-mmio.h
    M include/hw/virtio/virtio-pci.h
    M include/hw/virtio/virtio-scsi.h
    M include/hw/virtio/virtio.h
    M include/hw/xen/xen_common.h
    M include/net/vhost-user.h
    M include/net/vhost_net.h
    M include/qemu/plugin-memory.h
    M include/qemu/userfaultfd.h
    M include/sysemu/dirtyrate.h
    M include/sysemu/dump.h
    M include/user/syscall-trace.h
    M net/vhost-user.c
    M net/vhost-vdpa.c
    M net/vmnet_int.h
    M qemu-options.hx
    M qga/cutils.c
    M qga/cutils.h
    M target/hexagon/hex_arch_types.h
    M target/hexagon/mmvec/macros.h
    M target/riscv/pmu.h
    A tests/data/acpi/virt/APIC.topology
    A tests/data/acpi/virt/DSDT.topology
    M tests/data/acpi/virt/PPTT
    M tests/data/acpi/virt/PPTT.acpihmatvirt
    A tests/data/acpi/virt/PPTT.topology
    M tests/qtest/bios-tables-test.c
    M tests/qtest/fuzz/generic_fuzz.c
    M ui/util.c

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

virtio,pc,pci: features, cleanups, fixes

mostly vhost-vdpa:
    guest announce feature emulation when using shadow virtqueue
    support for configure interrupt
    startup speed ups

an acpi change to only generate cluster node in PPTT when specified for arm

misc fixes, cleanups

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

# gpg: Signature made Thu 05 Jan 2023 21:52:32 GMT
# 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: (51 
commits)
  vhost-scsi: fix memleak of vsc->inflight
  acpi: cpuhp: fix guest-visible maximum access size to the legacy reg block
  tests: acpi: aarch64: Add *.topology tables
  tests: acpi: aarch64: Add topology test for aarch64
  tests: acpi: Add and whitelist *.topology blobs
  tests: virt: Update expected ACPI tables for virt test
  hw/acpi/aml-build: Only generate cluster node in PPTT when specified
  tests: virt: Allow changes to PPTT test table
  virtio-pci: fix proxy->vector_irqfd leak in virtio_pci_set_guest_notifiers
  vdpa: commit all host notifier MRs in a single MR transaction
  vhost: configure all host notifiers in a single MR transaction
  vhost: simplify vhost_dev_enable_notifiers
  vdpa: harden the error path if get_iova_range failed
  vdpa-dev: get iova range explicitly
  docs/devel: Rules on #include in headers
  include: Don't include qemu/osdep.h
  include: Include headers where needed
  include/hw/virtio: Break inclusion loop
  include/hw/cxl: Break inclusion loop cxl_pci.h and cxl_cdat_h
  include/hw/pci: Include hw/pci/pci.h where needed
  ...

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


Compare: https://github.com/qemu/qemu/compare/171033e8dbac...6cb90477cebf



reply via email to

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