[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 51d59a: vhost: dirty log should be per backen
From: |
Richard Henderson |
Subject: |
[Qemu-commits] [qemu/qemu] 51d59a: vhost: dirty log should be per backend type |
Date: |
Thu, 04 Jul 2024 09:13:16 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 51d59a64eed6c2cd2d2f991f44ffbe21eb33c733
https://github.com/qemu/qemu/commit/51d59a64eed6c2cd2d2f991f44ffbe21eb33c733
Author: Si-Wei Liu <si-wei.liu@oracle.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/virtio/vhost.c
Log Message:
-----------
vhost: dirty log should be per backend type
There could be a mix of both vhost-user and vhost-kernel clients
in the same QEMU process, where separate vhost loggers for the
specific vhost type have to be used. Make the vhost logger per
backend type, and have them properly reference counted.
Suggested-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Si-Wei Liu <si-wei.liu@oracle.com>
Message-Id: <1710448055-11709-1-git-send-email-si-wei.liu@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: c5cd7e5f230afb56891e3826fbb60f9e2b6c086a
https://github.com/qemu/qemu/commit/c5cd7e5f230afb56891e3826fbb60f9e2b6c086a
Author: Si-Wei Liu <si-wei.liu@oracle.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/virtio/vhost.c
M include/hw/virtio/vhost.h
Log Message:
-----------
vhost: Perform memory section dirty scans once per iteration
On setups with one or more virtio-net devices with vhost on,
dirty tracking iteration increases cost the bigger the number
amount of queues are set up e.g. on idle guests migration the
following is observed with virtio-net with vhost=on:
48 queues -> 78.11% [.] vhost_dev_sync_region.isra.13
8 queues -> 40.50% [.] vhost_dev_sync_region.isra.13
1 queue -> 6.89% [.] vhost_dev_sync_region.isra.13
2 devices, 1 queue -> 18.60% [.] vhost_dev_sync_region.isra.14
With high memory rates the symptom is lack of convergence as soon
as it has a vhost device with a sufficiently high number of queues,
the sufficient number of vhost devices.
On every migration iteration (every 100msecs) it will redundantly
query the *shared log* the number of queues configured with vhost
that exist in the guest. For the virtqueue data, this is necessary,
but not for the memory sections which are the same. So essentially
we end up scanning the dirty log too often.
To fix that, select a vhost device responsible for scanning the
log with regards to memory sections dirty tracking. It is selected
when we enable the logger (during migration) and cleared when we
disable the logger. If the vhost logger device goes away for some
reason, the logger will be re-selected from the rest of vhost
devices.
After making mem-section logger a singleton instance, constant cost
of 7%-9% (like the 1 queue report) will be seen, no matter how many
queues or how many vhost devices are configured:
48 queues -> 8.71% [.] vhost_dev_sync_region.isra.13
2 devices, 8 queues -> 7.97% [.] vhost_dev_sync_region.isra.14
Co-developed-by: Joao Martins <joao.m.martins@oracle.com>
Signed-off-by: Joao Martins <joao.m.martins@oracle.com>
Signed-off-by: Si-Wei Liu <si-wei.liu@oracle.com>
Message-Id: <1710448055-11709-2-git-send-email-si-wei.liu@oracle.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: 9d5a807c4cb56837f11be9a9250f854fab951290
https://github.com/qemu/qemu/commit/9d5a807c4cb56837f11be9a9250f854fab951290
Author: Stefano Garzarella <sgarzare@redhat.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M net/vhost-vdpa.c
Log Message:
-----------
vhost-vdpa: check vhost_vdpa_set_vring_ready() return value
vhost_vdpa_set_vring_ready() could already fail, but if Linux's
patch [1] will be merged, it may fail with more chance if
userspace does not activate virtqueues before DRIVER_OK when
VHOST_BACKEND_F_ENABLE_AFTER_DRIVER_OK is not negotiated.
So better check its return value anyway.
[1]
https://lore.kernel.org/virtualization/20240206145154.118044-1-sgarzare@redhat.com/T/#u
Acked-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20240322092315.31885-1-sgarzare@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: cf39b82860b63589460d8797dd70ae3c1647ccca
https://github.com/qemu/qemu/commit/cf39b82860b63589460d8797dd70ae3c1647ccca
Author: Jonah Palmer <jonah.palmer@oracle.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/virtio/virtio-pci.c
M hw/virtio/virtio.c
M include/hw/virtio/virtio.h
Log Message:
-----------
virtio/virtio-pci: Handle extra notification data
Add support to virtio-pci devices for handling the extra data sent
from the driver to the device when the VIRTIO_F_NOTIFICATION_DATA
transport feature has been negotiated.
The extra data that's passed to the virtio-pci device when this
feature is enabled varies depending on the device's virtqueue
layout.
In a split virtqueue layout, this data includes:
- upper 16 bits: shadow_avail_idx
- lower 16 bits: virtqueue index
In a packed virtqueue layout, this data includes:
- upper 16 bits: 1-bit wrap counter & 15-bit shadow_avail_idx
- lower 16 bits: virtqueue index
Signed-off-by: Jonah Palmer <jonah.palmer@oracle.com>
Message-Id: <20240315165557.26942-2-jonah.palmer@oracle.com>
Reviewed-by: Eugenio Pérez <eperezma@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 78378f450a723eed34156259ca2861a0c5ca77cf
https://github.com/qemu/qemu/commit/78378f450a723eed34156259ca2861a0c5ca77cf
Author: Jonah Palmer <jonah.palmer@oracle.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/virtio/virtio.c
Log Message:
-----------
virtio: Prevent creation of device using notification-data with ioeventfd
Prevent the realization of a virtio device that attempts to use the
VIRTIO_F_NOTIFICATION_DATA transport feature without disabling
ioeventfd.
Due to ioeventfd not being able to carry the extra data associated with
this feature, having both enabled is a functional mismatch and therefore
Qemu should not continue the device's realization process.
Although the device does not yet know if the feature will be
successfully negotiated, many devices using this feature wont actually
work without this extra data and would fail FEATURES_OK anyway.
If ioeventfd is able to work with the extra notification data in the
future, this compatibility check can be removed.
Signed-off-by: Jonah Palmer <jonah.palmer@oracle.com>
Message-Id: <20240315165557.26942-3-jonah.palmer@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 54869366be60af2eb52cffaedad73ba1f4247e15
https://github.com/qemu/qemu/commit/54869366be60af2eb52cffaedad73ba1f4247e15
Author: Jonah Palmer <jonah.palmer@oracle.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/virtio/virtio-mmio.c
Log Message:
-----------
virtio-mmio: Handle extra notification data
Add support to virtio-mmio devices for handling the extra data sent from
the driver to the device when the VIRTIO_F_NOTIFICATION_DATA transport
feature has been negotiated.
The extra data that's passed to the virtio-mmio device when this feature
is enabled varies depending on the device's virtqueue layout.
The data passed to the virtio-mmio device is in the same format as the
data passed to virtio-pci devices.
Signed-off-by: Jonah Palmer <jonah.palmer@oracle.com>
Message-Id: <20240315165557.26942-4-jonah.palmer@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 594b543a4a75d08f47e5ea92c96a89502a3eab72
https://github.com/qemu/qemu/commit/594b543a4a75d08f47e5ea92c96a89502a3eab72
Author: Jonah Palmer <jonah.palmer@oracle.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/s390x/s390-virtio-ccw.c
Log Message:
-----------
virtio-ccw: Handle extra notification data
Add support to virtio-ccw devices for handling the extra data sent from
the driver to the device when the VIRTIO_F_NOTIFICATION_DATA transport
feature has been negotiated.
The extra data that's passed to the virtio-ccw device when this feature
is enabled varies depending on the device's virtqueue layout.
That data passed to the virtio-ccw device is in the same format as the
data passed to virtio-pci devices.
Signed-off-by: Jonah Palmer <jonah.palmer@oracle.com>
Message-Id: <20240315165557.26942-5-jonah.palmer@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: b937fa896321fb7b6d7f2205edb5490e0e5d6c69
https://github.com/qemu/qemu/commit/b937fa896321fb7b6d7f2205edb5490e0e5d6c69
Author: Jonah Palmer <jonah.palmer@oracle.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/block/vhost-user-blk.c
M hw/net/vhost_net.c
M hw/scsi/vhost-scsi.c
M hw/scsi/vhost-user-scsi.c
M hw/virtio/vhost-user-fs.c
M hw/virtio/vhost-user-vsock.c
M net/vhost-vdpa.c
Log Message:
-----------
vhost/vhost-user: Add VIRTIO_F_NOTIFICATION_DATA to vhost feature bits
Add support for the VIRTIO_F_NOTIFICATION_DATA feature across a variety
of vhost devices.
The inclusion of VIRTIO_F_NOTIFICATION_DATA in the feature bits arrays
for these devices ensures that the backend is capable of offering and
providing support for this feature, and that it can be disabled if the
backend does not support it.
Tested-by: Lei Yang <leiyang@redhat.com>
Reviewed-by: Eugenio Pérez <eperezma@redhat.com>
Signed-off-by: Jonah Palmer <jonah.palmer@oracle.com>
Message-Id: <20240315165557.26942-6-jonah.palmer@oracle.com>
Acked-by: Srujana Challa <schalla@marvell.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 5093bee0fa8a6c9712c96653da3a79bc37a4e45d
https://github.com/qemu/qemu/commit/5093bee0fa8a6c9712c96653da3a79bc37a4e45d
Author: Christian Pötzsch <christian.poetzsch@kernkonzept.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M subprojects/libvhost-user/libvhost-user.c
Log Message:
-----------
Fix vhost user assertion when sending more than one fd
If the client sends more than one region this assert triggers. The
reason is that two fd's are 8 bytes and VHOST_MEMORY_BASELINE_NREGIONS
is exactly 8.
The assert is wrong because it should not test for the size of the fd
array, but for the numbers of regions.
Signed-off-by: Christian Pötzsch <christian.poetzsch@kernkonzept.com>
Message-Id: <20240426083313.3081272-1-christian.poetzsch@kernkonzept.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: a0eebd790ca4f90fc1e3662cb38542ccc21963bf
https://github.com/qemu/qemu/commit/a0eebd790ca4f90fc1e3662cb38542ccc21963bf
Author: Halil Pasic <pasic@linux.ibm.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/virtio/vhost-vsock-common.c
Log Message:
-----------
vhost-vsock: add VIRTIO_F_RING_PACKED to feature_bits
Not having VIRTIO_F_RING_PACKED in feature_bits[] is a problem when the
vhost-vsock device does not offer the feature bit VIRTIO_F_RING_PACKED
but the in QEMU device is configured to try to use the packed layout
(the virtio property "packed" is on).
As of today, the Linux kernel vhost-vsock device does not support the
packed queue layout (as vhost does not support packed), and does not
offer VIRTIO_F_RING_PACKED. Thus when for example a vhost-vsock-ccw is
used with packed=on, VIRTIO_F_RING_PACKED ends up being negotiated,
despite the fact that the device does not actually support it, and
one gets to keep the pieces.
Fixes: 74b3e46630 ("virtio: add property to enable packed virtqueue")
Reported-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
Message-Id: <20240429113334.2454197-1-pasic@linux.ibm.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 33abfea239592a706e98269b01c0096249612ea4
https://github.com/qemu/qemu/commit/33abfea239592a706e98269b01c0096249612ea4
Author: Wafer <wafer@jaguarmicro.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/virtio/virtio.c
Log Message:
-----------
hw/virtio: Fix obtain the buffer id from the last descriptor
The virtio-1.3 specification
<https://docs.oasis-open.org/virtio/virtio/v1.3/virtio-v1.3.html> writes:
2.8.6 Next Flag: Descriptor Chaining
Buffer ID is included in the last descriptor in the list.
If the feature (_F_INDIRECT_DESC) has been negotiated, install only
one descriptor in the virtqueue.
Therefor the buffer id should be obtained from the first descriptor.
In descriptor chaining scenarios, the buffer id should be obtained
from the last descriptor.
Fixes: 86044b24e8 ("virtio: basic packed virtqueue support")
Signed-off-by: Wafer <wafer@jaguarmicro.com>
Reviewed-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20240510072753.26158-2-wafer@jaguarmicro.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 84b58169e40f5c7428db6f0b229e01213068aa21
https://github.com/qemu/qemu/commit/84b58169e40f5c7428db6f0b229e01213068aa21
Author: Jiqian Chen <Jiqian.Chen@amd.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/virtio/virtio-pci.c
Log Message:
-----------
virtio-pci: only reset pm state during resetting
Fix bug imported by 27ce0f3afc9dd ("fix Power Management Control Register for
PCI Express virtio devices"
After this change, observe that QEMU may erroneously clear the power status of
the device,
or may erroneously clear non writable registers, such as NO_SOFT_RESET, etc.
Only state of PM_CTRL is writable.
Only when flag VIRTIO_PCI_FLAG_INIT_PM is set, need to reset state.
Fixes: 27ce0f3afc9dd ("fix Power Management Control Register for PCI Express
virtio devices"
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Message-Id: <20240515073526.17297-2-Jiqian.Chen@amd.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 80c8a26de5f1b7d67d4594957c0d82a0c47626be
https://github.com/qemu/qemu/commit/80c8a26de5f1b7d67d4594957c0d82a0c47626be
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/display/vhost-user-gpu.c
Log Message:
-----------
vhost-user-gpu: fix import of DMABUF
When using vhost-user-gpu with GL, qemu -display gtk doesn't show output
and prints: qemu: eglCreateImageKHR failed
Since commit 9ac06df8b ("virtio-gpu-udmabuf: correct naming of
QemuDmaBuf size properties"), egl_dmabuf_import_texture() uses
backing_{width,height} for the texture dimension.
Fixes: 9ac06df8b ("virtio-gpu-udmabuf: correct naming of QemuDmaBuf size
properties")
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20240515105237.1074116-1-marcandre.lureau@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 9569fe0aacbe6c7752935c9ede427ca1e8aafe51
https://github.com/qemu/qemu/commit/9569fe0aacbe6c7752935c9ede427ca1e8aafe51
Author: Li Feng <fengli@smartx.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/block/vhost-user-blk.c
M hw/scsi/vhost-user-scsi.c
M hw/virtio/vhost-user-base.c
M hw/virtio/vhost-user.c
M include/hw/virtio/vhost-user.h
Log Message:
-----------
Revert "vhost-user: fix lost reconnect"
This reverts commit f02a4b8e6431598612466f76aac64ab492849abf.
Since the current patch cannot completely fix the lost reconnect
problem, there is a scenario that is not considered:
- When the virtio-blk driver is removed from the guest os,
s->connected has no chance to be set to false, resulting in
subsequent reconnection not being executed.
The next patch will completely fix this issue with a better approach.
Signed-off-by: Li Feng <fengli@smartx.com>
Message-Id: <20240516025753.130171-2-fengli@smartx.com>
Reviewed-by: Raphael Norwitz <raphael@enfabrica.net>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 6eaf0e612b415877d1c411b95bed2ecb53b546bb
https://github.com/qemu/qemu/commit/6eaf0e612b415877d1c411b95bed2ecb53b546bb
Author: Li Feng <fengli@smartx.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/block/vhost-user-blk.c
M hw/scsi/vhost-user-scsi.c
M hw/virtio/vhost-user-base.c
M hw/virtio/vhost-user.c
Log Message:
-----------
vhost-user: fix lost reconnect again
When the vhost-user is reconnecting to the backend, and if the vhost-user fails
at the get_features in vhost_dev_init(), then the reconnect will fail
and it will not be retriggered forever.
The reason is:
When the vhost-user fail at get_features, the vhost_dev_cleanup will be called
immediately.
vhost_dev_cleanup calls 'memset(hdev, 0, sizeof(struct vhost_dev))'.
The reconnect path is:
vhost_user_blk_event
vhost_user_async_close(.. vhost_user_blk_disconnect ..)
qemu_chr_fe_set_handlers <----- clear the notifier callback
schedule vhost_user_async_close_bh
The vhost->vdev is null, so the vhost_user_blk_disconnect will not be
called, then the event fd callback will not be reinstalled.
We need to ensure that even if vhost_dev_init initialization fails, the event
handler still needs to be reinstalled when s->connected is false.
All vhost-user devices have this issue, including vhost-user-blk/scsi.
Fixes: 71e076a07d ("hw/virtio: generalise CHR_EVENT_CLOSED handling")
Signed-off-by: Li Feng <fengli@smartx.com>
Message-Id: <20240516025753.130171-3-fengli@smartx.com>
Reviewed-by: Raphael Norwitz <raphael@enfabrica.net>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 05b70ceba033759d44c6d3d9b24118cd9fc9d616
https://github.com/qemu/qemu/commit/05b70ceba033759d44c6d3d9b24118cd9fc9d616
Author: Gregory Price <gourry.memverge@gmail.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/cxl/cxl-mailbox-utils.c
M include/hw/cxl/cxl_device.h
Log Message:
-----------
hw/cxl/mailbox: change CCI cmd set structure to be a member, not a reference
This allows devices to have fully customized CCIs, along with complex
devices where wrapper devices can override or add additional CCI
commands without having to replicate full command structures or
pollute a base device with every command that might ever be used.
Signed-off-by: Gregory Price <gregory.price@memverge.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Fan Ni <fan.ni@samsung.com>
Message-Id: <20240523174651.1089554-2-nifan.cxl@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 67adb7979b6c1151a906d99f19fccf1e789316b1
https://github.com/qemu/qemu/commit/67adb7979b6c1151a906d99f19fccf1e789316b1
Author: Gregory Price <gourry.memverge@gmail.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/cxl/cxl-mailbox-utils.c
M include/hw/cxl/cxl_device.h
Log Message:
-----------
hw/cxl/mailbox: interface to add CCI commands to an existing CCI
This enables wrapper devices to customize the base device's CCI
(for example, with custom commands outside the specification)
without the need to change the base device.
The also enabled the base device to dispatch those commands without
requiring additional driver support.
Heavily edited by Jonathan Cameron to increase code reuse
Signed-off-by: Gregory Price <gregory.price@memverge.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Fan Ni <fan.ni@samsung.com>
Message-Id: <20240523174651.1089554-3-nifan.cxl@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 7a21e5dedbbcec11ebab7a53186085f09a53f9e7
https://github.com/qemu/qemu/commit/7a21e5dedbbcec11ebab7a53186085f09a53f9e7
Author: Fan Ni <fan.ni@samsung.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/cxl/cxl-mailbox-utils.c
Log Message:
-----------
hw/cxl/cxl-mailbox-utils: Add dc_event_log_size field to output payload of
identify memory device command
Based on CXL spec r3.1 Table 8-127 (Identify Memory Device Output
Payload), dynamic capacity event log size should be part of
output of the Identify command.
Add dc_event_log_size to the output payload for the host to get the info.
Reviewed-by: Gregory Price <gregory.price@memverge.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Fan Ni <fan.ni@samsung.com>
Message-Id: <20240523174651.1089554-4-nifan.cxl@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 0f0f140b100392fd938eb6933752155ea68b26a8
https://github.com/qemu/qemu/commit/0f0f140b100392fd938eb6933752155ea68b26a8
Author: Fan Ni <fan.ni@samsung.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/cxl/cxl-mailbox-utils.c
M include/hw/cxl/cxl_device.h
Log Message:
-----------
hw/cxl/cxl-mailbox-utils: Add dynamic capacity region representative and
mailbox command support
Per cxl spec r3.1, add dynamic capacity (DC) region representative based on
Table 8-165 and extend the cxl type3 device definition to include DC region
information. Also, based on info in 8.2.9.9.9.1, add 'Get Dynamic Capacity
Configuration' mailbox support.
Note: we store region decode length as byte-wise length on the device, which
should be divided by 256 * MiB before being returned to the host
for "Get Dynamic Capacity Configuration" mailbox command per
specification.
Reviewed-by: Gregory Price <gregory.price@memverge.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Fan Ni <fan.ni@samsung.com>
Message-Id: <20240523174651.1089554-5-nifan.cxl@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 25851080772387ae33d6ee94250b3a31bf719e5c
https://github.com/qemu/qemu/commit/25851080772387ae33d6ee94250b3a31bf719e5c
Author: Fan Ni <fan.ni@samsung.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/cxl/cxl-mailbox-utils.c
M hw/mem/cxl_type3.c
M include/hw/cxl/cxl_device.h
Log Message:
-----------
include/hw/cxl/cxl_device: Rename mem_size as static_mem_size for type3
memory devices
Rename mem_size as static_mem_size for type3 memdev to cover static RAM and
pmem capacity, preparing for the introduction of dynamic capacity to support
dynamic capacity devices.
Reviewed-by: Gregory Price <gregory.price@memverge.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Fan Ni <fan.ni@samsung.com>
Message-Id: <20240523174651.1089554-6-nifan.cxl@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: f4fd91af3ae3b80c795ff5f3e0c1001b14ceb761
https://github.com/qemu/qemu/commit/f4fd91af3ae3b80c795ff5f3e0c1001b14ceb761
Author: Fan Ni <fan.ni@samsung.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/mem/cxl_type3.c
Log Message:
-----------
hw/mem/cxl_type3: Add support to create DC regions to type3 memory devices
With the change, when setting up memory for type3 memory device, we can
create DC regions.
A property 'num-dc-regions' is added to ct3_props to allow users to pass the
number of DC regions to create. To make it easier, other region parameters
like region base, length, and block size are hard coded. If needed,
these parameters can be added easily.
With the change, we can create DC regions with proper kernel side
support like below:
region=$(cat /sys/bus/cxl/devices/decoder0.0/create_dc_region)
echo $region > /sys/bus/cxl/devices/decoder0.0/create_dc_region
echo 256 > /sys/bus/cxl/devices/$region/interleave_granularity
echo 1 > /sys/bus/cxl/devices/$region/interleave_ways
echo "dc0" >/sys/bus/cxl/devices/decoder2.0/mode
echo 0x40000000 >/sys/bus/cxl/devices/decoder2.0/dpa_size
echo 0x40000000 > /sys/bus/cxl/devices/$region/size
echo "decoder2.0" > /sys/bus/cxl/devices/$region/target0
echo 1 > /sys/bus/cxl/devices/$region/commit
echo $region > /sys/bus/cxl/drivers/cxl_region/bind
Reviewed-by: Gregory Price <gregory.price@memverge.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Fan Ni <fan.ni@samsung.com>
Message-Id: <20240523174651.1089554-7-nifan.cxl@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Li Zhijian <lizhijian@fujitsu.com>
Commit: 69e4fb569dc1602bfeef5b8c58de5f40cd5d756e
https://github.com/qemu/qemu/commit/69e4fb569dc1602bfeef5b8c58de5f40cd5d756e
Author: Fan Ni <fan.ni@samsung.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/mem/cxl_type3.c
Log Message:
-----------
hw/mem/cxl-type3: Refactor ct3_build_cdat_entries_for_mr to take mr size
instead of mr as argument
The function ct3_build_cdat_entries_for_mr only uses size of the passed
memory region argument, refactor the function definition to make the passed
arguments more specific.
Reviewed-by: Gregory Price <gregory.price@memverge.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Fan Ni <fan.ni@samsung.com>
Message-Id: <20240523174651.1089554-8-nifan.cxl@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 90de94612bb568117e038c6ce9edd35d17d239f9
https://github.com/qemu/qemu/commit/90de94612bb568117e038c6ce9edd35d17d239f9
Author: Fan Ni <fan.ni@samsung.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/cxl/cxl-mailbox-utils.c
M hw/mem/cxl_type3.c
M include/hw/cxl/cxl_device.h
Log Message:
-----------
hw/mem/cxl_type3: Add host backend and address space handling for DC regions
Add (file/memory backed) host backend for DCD. All the dynamic capacity
regions will share a single, large enough host backend. Set up address
space for DC regions to support read/write operations to dynamic capacity
for DCD.
With the change, the following support is added:
1. Add a new property to type3 device "volatile-dc-memdev" to point to host
memory backend for dynamic capacity. Currently, all DC regions share one
host backend;
2. Add namespace for dynamic capacity for read/write support;
3. Create cdat entries for each dynamic capacity region.
Reviewed-by: Gregory Price <gregory.price@memverge.com>
Signed-off-by: Fan Ni <fan.ni@samsung.com>
Message-Id: <20240523174651.1089554-9-nifan.cxl@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 1c9221f19e62e448a9ca71a2d5c8a369102a0c38
https://github.com/qemu/qemu/commit/1c9221f19e62e448a9ca71a2d5c8a369102a0c38
Author: Fan Ni <fan.ni@samsung.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/cxl/cxl-mailbox-utils.c
M hw/mem/cxl_type3.c
M include/hw/cxl/cxl_device.h
Log Message:
-----------
hw/mem/cxl_type3: Add DC extent list representative and get DC extent list
mailbox support
Add dynamic capacity extent list representative to the definition of
CXLType3Dev and implement get DC extent list mailbox command per
CXL.spec.3.1:.8.2.9.9.9.2.
Tested-by: Svetly Todorov <svetly.todorov@memverge.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Fan Ni <fan.ni@samsung.com>
Message-Id: <20240523174651.1089554-10-nifan.cxl@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 16fd1b1216a2895a7995345ad6630151954c43a3
https://github.com/qemu/qemu/commit/16fd1b1216a2895a7995345ad6630151954c43a3
Author: Fan Ni <fan.ni@samsung.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/cxl/cxl-mailbox-utils.c
M hw/mem/cxl_type3.c
M include/hw/cxl/cxl_device.h
Log Message:
-----------
hw/cxl/cxl-mailbox-utils: Add mailbox commands to support add/release dynamic
capacity response
Per CXL spec 3.1, two mailbox commands are implemented:
Add Dynamic Capacity Response (Opcode 4802h) 8.2.9.9.9.3, and
Release Dynamic Capacity (Opcode 4803h) 8.2.9.9.9.4.
For the process of the above two commands, we use two-pass approach.
Pass 1: Check whether the input payload is valid or not; if not, skip
Pass 2 and return mailbox process error.
Pass 2: Do the real work--add or release extents, respectively.
Tested-by: Svetly Todorov <svetly.todorov@memverge.com>
Reviewed-by: Gregory Price <gregory.price@memverge.com>
Signed-off-by: Fan Ni <fan.ni@samsung.com>
Message-Id: <20240523174651.1089554-11-nifan.cxl@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: d0b9b28a5b9f1e3d22b508f4f05d903a4b443e38
https://github.com/qemu/qemu/commit/d0b9b28a5b9f1e3d22b508f4f05d903a4b443e38
Author: Fan Ni <fan.ni@samsung.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/cxl/cxl-mailbox-utils.c
M hw/mem/cxl_type3.c
M hw/mem/cxl_type3_stubs.c
M include/hw/cxl/cxl_device.h
M include/hw/cxl/cxl_events.h
M qapi/cxl.json
Log Message:
-----------
hw/cxl/events: Add qmp interfaces to add/release dynamic capacity extents
To simulate FM functionalities for initiating Dynamic Capacity Add
(Opcode 5604h) and Dynamic Capacity Release (Opcode 5605h) as in CXL spec
r3.1 7.6.7.6.5 and 7.6.7.6.6, we implemented two QMP interfaces to issue
add/release dynamic capacity extents requests.
With the change, we allow to release an extent only when its DPA range
is contained by a single accepted extent in the device. That is to say,
extent superset release is not supported yet.
1. Add dynamic capacity extents:
For example, the command to add two continuous extents (each 128MiB long)
to region 0 (starting at DPA offset 0) looks like below:
{ "execute": "qmp_capabilities" }
{ "execute": "cxl-add-dynamic-capacity",
"arguments": {
"path": "/machine/peripheral/cxl-dcd0",
"host-id": 0,
"selection-policy": "prescriptive",
"region": 0,
"extents": [
{
"offset": 0,
"len": 134217728
},
{
"offset": 134217728,
"len": 134217728
}
]
}
}
2. Release dynamic capacity extents:
For example, the command to release an extent of size 128MiB from region 0
(DPA offset 128MiB) looks like below:
{ "execute": "cxl-release-dynamic-capacity",
"arguments": {
"path": "/machine/peripheral/cxl-dcd0",
"host-id": 0,
"removal-policy":"prescriptive",
"region": 0,
"extents": [
{
"offset": 134217728,
"len": 134217728
}
]
}
}
Tested-by: Svetly Todorov <svetly.todorov@memverge.com>
Reviewed-by: Gregory Price <gregory.price@memverge.com>
Signed-off-by: Fan Ni <fan.ni@samsung.com>
Message-Id: <20240523174651.1089554-12-nifan.cxl@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: e4180db4e63b904183374c6e7ec07f66aa0decde
https://github.com/qemu/qemu/commit/e4180db4e63b904183374c6e7ec07f66aa0decde
Author: Fan Ni <fan.ni@samsung.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/cxl/cxl-mailbox-utils.c
M hw/mem/cxl_type3.c
M include/hw/cxl/cxl_device.h
Log Message:
-----------
hw/mem/cxl_type3: Add DPA range validation for accesses to DC regions
All DPA ranges in the DC regions are invalid to access until an extent
covering the range has been successfully accepted by the host. A bitmap
is added to each region to record whether a DC block in the region has
been backed by a DC extent. Each bit in the bitmap represents a DC block.
When a DC extent is accepted, all the bits representing the blocks in the
extent are set, which will be cleared when the extent is released.
Tested-by: Svetly Todorov <svetly.todorov@memverge.com>
Reviewed-by: Gregory Price <gregory.price@memverge.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Fan Ni <fan.ni@samsung.com>
Message-Id: <20240523174651.1089554-13-nifan.cxl@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 3083f018b59fd35b9ee993715694f967c49afeb1
https://github.com/qemu/qemu/commit/3083f018b59fd35b9ee993715694f967c49afeb1
Author: Fan Ni <fan.ni@samsung.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/cxl/cxl-mailbox-utils.c
Log Message:
-----------
hw/cxl/cxl-mailbox-utils: Add superset extent release mailbox support
With the change, we extend the extent release mailbox command processing
to allow more flexible release. As long as the DPA range of the extent to
release is covered by accepted extent(s) in the device, the release can be
performed.
Tested-by: Svetly Todorov <svetly.todorov@memverge.com>
Reviewed-by: Gregory Price <gregory.price@memverge.com>
Signed-off-by: Fan Ni <fan.ni@samsung.com>
Message-Id: <20240523174651.1089554-14-nifan.cxl@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: c51dca04281f9be6eacdad8fc8f9c7ddc87dcf3c
https://github.com/qemu/qemu/commit/c51dca04281f9be6eacdad8fc8f9c7ddc87dcf3c
Author: Fan Ni <fan.ni@samsung.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/mem/cxl_type3.c
Log Message:
-----------
hw/mem/cxl_type3: Allow to release extent superset in QMP interface
Before the change, the QMP interface used for add/release DC extents
only allows to release an extent whose DPA range is contained by a single
accepted extent in the device.
With the change, we relax the constraints. As long as the DPA range of
the extent is covered by accepted extents, we allow the release.
Tested-by: Svetly Todorov <svetly.todorov@memverge.com>
Reviewed-by: Gregory Price <gregory.price@memverge.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Fan Ni <fan.ni@samsung.com>
Message-Id: <20240523174651.1089554-15-nifan.cxl@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: c5614ee3f2775534871914c02be4b5a61b71ed40
https://github.com/qemu/qemu/commit/c5614ee3f2775534871914c02be4b5a61b71ed40
Author: Thomas Weißschuh <thomas@t-8ch.de>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M include/standard-headers/linux/ethtool.h
M include/standard-headers/linux/pci_regs.h
M include/standard-headers/linux/virtio_bt.h
M include/standard-headers/linux/virtio_mem.h
M include/standard-headers/linux/virtio_net.h
M include/standard-headers/misc/pvpanic.h
M linux-headers/asm-generic/unistd.h
M linux-headers/asm-mips/unistd_n32.h
M linux-headers/asm-mips/unistd_n64.h
M linux-headers/asm-mips/unistd_o32.h
M linux-headers/asm-powerpc/unistd_32.h
M linux-headers/asm-powerpc/unistd_64.h
M linux-headers/asm-s390/unistd_32.h
M linux-headers/asm-s390/unistd_64.h
M linux-headers/asm-x86/unistd_32.h
M linux-headers/asm-x86/unistd_64.h
M linux-headers/asm-x86/unistd_x32.h
M linux-headers/linux/kvm.h
M linux-headers/linux/stddef.h
Log Message:
-----------
linux-headers: update to 6.10-rc1
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Message-Id: <20240527-pvpanic-shutdown-v8-2-5a28ec02558b@t-8ch.de>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 9b13640da3f94c0fbacbae6d23bd91febfa44588
https://github.com/qemu/qemu/commit/9b13640da3f94c0fbacbae6d23bd91febfa44588
Author: Thomas Weißschuh <thomas@t-8ch.de>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/misc/pvpanic-isa.c
M hw/misc/pvpanic-pci.c
M hw/misc/pvpanic.c
M include/hw/misc/pvpanic.h
Log Message:
-----------
hw/misc/pvpanic: centralize definition of supported events
The different components of pvpanic duplicate the list of supported
events. Move it to the shared header file to minimize changes when new
events are added.
MST: tweak: keep header included in pvpanic.c to avoid header
dependency, rebase.
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Message-Id: <20240527-pvpanic-shutdown-v8-3-5a28ec02558b@t-8ch.de>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 462dc749c110fe8e41ae0fb554b9bc2f2671e973
https://github.com/qemu/qemu/commit/462dc749c110fe8e41ae0fb554b9bc2f2671e973
Author: Thomas Weißschuh <thomas@t-8ch.de>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M tests/qtest/pvpanic-pci-test.c
M tests/qtest/pvpanic-test.c
Log Message:
-----------
tests/qtest/pvpanic: use centralized definition of supported events
Avoid the necessity to update all tests when new events are added
to the device.
Acked-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Message-Id: <20240527-pvpanic-shutdown-v8-4-5a28ec02558b@t-8ch.de>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 6269086b0179e3d70750672174ed7fbd29ac7eaa
https://github.com/qemu/qemu/commit/6269086b0179e3d70750672174ed7fbd29ac7eaa
Author: Thomas Weißschuh <thomas@t-8ch.de>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/misc/pvpanic.c
M include/hw/misc/pvpanic.h
M include/sysemu/runstate.h
M system/runstate.c
Log Message:
-----------
hw/misc/pvpanic: add support for normal shutdowns
Shutdown requests are normally hardware dependent.
By extending pvpanic to also handle shutdown requests, guests can
submit such requests with an easily implementable and cross-platform
mechanism.
Acked-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Message-Id: <20240527-pvpanic-shutdown-v8-5-5a28ec02558b@t-8ch.de>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 8db1f7be788b23f8eca189fe4546298ed387e9cb
https://github.com/qemu/qemu/commit/8db1f7be788b23f8eca189fe4546298ed387e9cb
Author: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M qapi/run-state.json
M system/runstate.c
Log Message:
-----------
pvpanic: Emit GUEST_PVSHUTDOWN QMP event on pvpanic shutdown signal
Emit a QMP event on receiving a PVPANIC_SHUTDOWN event. Even though a typical
SHUTDOWN event will be sent, it will be indistinguishable from a shutdown
originating from other cases (e.g. KVM exit due to KVM_SYSTEM_EVENT_SHUTDOWN)
that also issue the guest-shutdown cause.
A management layer application can detect the new GUEST_PVSHUTDOWN event to
determine if the guest is using the pvpanic interface to request shutdowns.
Signed-off-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>
Message-Id: <20240527-pvpanic-shutdown-v8-6-5a28ec02558b@t-8ch.de>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: b279c3c88da3e8a301e4436fcdf233c0838ed4bc
https://github.com/qemu/qemu/commit/b279c3c88da3e8a301e4436fcdf233c0838ed4bc
Author: Thomas Weißschuh <thomas@t-8ch.de>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M tests/qtest/pvpanic-pci-test.c
M tests/qtest/pvpanic-test.c
Log Message:
-----------
tests/qtest/pvpanic: add tests for pvshutdown event
Validate that a shutdown via the pvpanic device emits the correct
QMP events.
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20240527-pvpanic-shutdown-v8-7-5a28ec02558b@t-8ch.de>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 0c0cc13d319cf7b876f327fa1c5cc1866ad868cc
https://github.com/qemu/qemu/commit/0c0cc13d319cf7b876f327fa1c5cc1866ad868cc
Author: Thomas Weißschuh <thomas@t-8ch.de>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M docs/specs/pvpanic.rst
Log Message:
-----------
Revert "docs/specs/pvpanic: mark shutdown event as not implemented"
The missing functionality has been implemented now.
This reverts commit e739d1935c461d0668057e9dbba9d06f728d29ec.
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Message-Id: <20240527-pvpanic-shutdown-v8-8-5a28ec02558b@t-8ch.de>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: a113d041e8d0b152d72a7c2bf47dd09aabf9ade2
https://github.com/qemu/qemu/commit/a113d041e8d0b152d72a7c2bf47dd09aabf9ade2
Author: Cindy Lu <lulu@redhat.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/virtio/virtio-pci.c
Log Message:
-----------
virtio-pci: Fix the failure process in kvm_virtio_pci_vector_use_one()
In function kvm_virtio_pci_vector_use_one(), the function will only use
the irqfd/vector for itself. Therefore, in the undo label, the failing
process is incorrect.
To fix this, we can just remove this label.
Fixes: f9a09ca3ea ("vhost: add support for configure interrupt")
Cc: qemu-stable@nongnu.org
Signed-off-by: Cindy Lu <lulu@redhat.com>
Message-Id: <20240528084840.194538-1-lulu@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: e6c9c9e7f46a9ecaf1d90a68595915d65cd9d72d
https://github.com/qemu/qemu/commit/e6c9c9e7f46a9ecaf1d90a68595915d65cd9d72d
Author: Ira Weiny <ira.weiny@intel.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/mem/cxl_type3.c
Log Message:
-----------
hw/cxl: Fix read from bogus memory
Peter and coverity report:
We've passed '&data' to address_space_write(), which means "read
from the address on the stack where the function argument 'data'
lives", so instead of writing 64 bytes of data to the guest ,
we'll write 64 bytes which start with a host pointer value and
then continue with whatever happens to be on the host stack
after that.
Indeed the intention was to write 64 bytes of data at the address given.
Fix the parameter to address_space_write().
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Link:
https://lore.kernel.org/all/CAFEAcA-u4sytGwTKsb__Y+_+0O2-WwARntm3x8WNhvL1WfHOBg@mail.gmail.com/
Fixes: 6bda41a69bdc ("hw/cxl: Add clear poison mailbox command support.")
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Message-Id: <20240531-fix-poison-set-cacheline-v1-1-e3bc7e8f1158@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Commit: 5d98e18823af6d5230fca8098a7ee966aaedeb29
https://github.com/qemu/qemu/commit/5d98e18823af6d5230fca8098a7ee966aaedeb29
Author: Jiqian Chen <Jiqian.Chen@amd.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/core/machine.c
M hw/virtio/virtio-pci.c
M include/hw/virtio/virtio-pci.h
Log Message:
-----------
virtio-pci: implement No_Soft_Reset bit
In current code, when guest does S3, virtio-gpu are reset due to the
bit No_Soft_Reset is not set. After resetting, the display resources
of virtio-gpu are destroyed, then the display can't come back and only
show blank after resuming.
Implement No_Soft_Reset bit of PCI_PM_CTRL register, then guest can check
this bit, if this bit is set, the devices resetting will not be done, and
then the display can work after resuming.
No_Soft_Reset bit is implemented for all virtio devices, and was tested
only on virtio-gpu device. Set it false by default for safety.
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Message-Id: <20240606102205.114671-3-Jiqian.Chen@amd.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: f72fc16910c8f44edf052f52672e0e63bbbc773c
https://github.com/qemu/qemu/commit/f72fc16910c8f44edf052f52672e0e63bbbc773c
Author: Yuxue Liu <yuxue.liu@jaguarmicro.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M tests/qtest/vhost-user-test.c
Log Message:
-----------
vhost-user-test: no set non-blocking for cal fd less than 0.
In the scenario where vhost-user sets eventfd to -1,
qemu_chr_fe_get_msgfds retrieves fd as -1. When vhost_user_read
receives, it does not perform blocking operations on the descriptor
with fd=-1, so non-blocking operations should not be performed here
either.This is a normal use case. Calling g_unix_set_fd_nonblocking
at this point will cause the test to interrupt.
When vhost_user_write sets the call fd to -1, it sets the number of
fds to 0, so the fds obtained by qemu_chr_fe_get_msgfds will also
be 0.
Signed-off-by: Yuxue Liu <yuxue.liu@jaguarmicro.com>
Message-Id: <20240411073555.1357-1-yuxue.liu@jaguarmicro.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: e05ee2994a9c188fc49a9ddf70b79ed7f1808e2f
https://github.com/qemu/qemu/commit/e05ee2994a9c188fc49a9ddf70b79ed7f1808e2f
Author: Zhao Liu <zhao1.liu@intel.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/intc/apic_common.c
Log Message:
-----------
i386/apic: Add hint on boot failure because of disabling x2APIC
Currently, the Q35 supports up to 4096 vCPUs (since v9.0), but for TCG
cases, if x2APIC is not actively enabled to boot more than 255 vCPUs (
e.g., qemu-system-i386 -M pc-q35-9.0 -smp 666), the following error is
reported:
Unexpected error in apic_common_set_id() at ../hw/intc/apic_common.c:449:
qemu-system-i386: APIC ID 255 requires x2APIC feature in CPU
Aborted (core dumped)
This error can be resolved by setting x2apic=on in -cpu. In order to
better help users deal with this scenario, add the error hint to
instruct users on how to enable the x2apic feature. Then, the error
report becomes the following:
Unexpected error in apic_common_set_id() at ../hw/intc/apic_common.c:448:
qemu-system-i386: APIC ID 255 requires x2APIC feature in CPU
Try x2apic=on in -cpu.
Aborted (core dumped)
Note since @errp is &error_abort, error_append_hint() can't be applied
on @errp. And in order to separate the exact error message from the
(perhaps effectively) hint, adding a hint via error_append_hint() is
also necessary. Therefore, introduce @local_error in
apic_common_set_id() to handle both the error message and the error
hint.
Suggested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Message-Id: <20240606140858.2157106-1-zhao1.liu@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 25b8a0f40c7f408442c5fd4da195fce9997cfb78
https://github.com/qemu/qemu/commit/25b8a0f40c7f408442c5fd4da195fce9997cfb78
Author: Akihiko Odaki <akihiko.odaki@daynix.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/virtio/vhost-user-base.c
Log Message:
-----------
hw/virtio: Free vqs after vhost_dev_cleanup()
This fixes LeakSanitizer warnings.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20240627-san-v2-7-750bb0946dbd@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 704391f94a5494f10b886ba79c157363a79b1239
https://github.com/qemu/qemu/commit/704391f94a5494f10b886ba79c157363a79b1239
Author: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/virtio/virtio-iommu.c
Log Message:
-----------
virtio-iommu: add error check before assert
A fuzzer case discovered by Zheyu Ma causes an assert failure.
Add a check before the assert, and respond with an error before moving
on to the next queue element.
To reproduce the failure:
cat << EOF | \
qemu-system-x86_64 \
-display none -machine accel=qtest -m 512M -machine q35 -nodefaults \
-device virtio-iommu -qtest stdio
outl 0xcf8 0x80000804
outw 0xcfc 0x06
outl 0xcf8 0x80000820
outl 0xcfc 0xe0004000
write 0x10000e 0x1 0x01
write 0xe0004020 0x4 0x00001000
write 0xe0004028 0x4 0x00101000
write 0xe000401c 0x1 0x01
write 0x106000 0x1 0x05
write 0x100001 0x1 0x60
write 0x100002 0x1 0x10
write 0x100009 0x1 0x04
write 0x10000c 0x1 0x01
write 0x100018 0x1 0x04
write 0x10001c 0x1 0x02
write 0x101003 0x1 0x01
write 0xe0007001 0x1 0x00
EOF
Reported-by: Zheyu Ma <zheyuma97@gmail.com>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2359
Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Message-Id: <20240613-fuzz-2359-fix-v2-manos.pitsidianakis@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 7c211eb078c42146ee9a441cc028fbc4c378ef5a
https://github.com/qemu/qemu/commit/7c211eb078c42146ee9a441cc028fbc4c378ef5a
Author: BillXiang <xiangwencheng@dayudpu.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/virtio/vhost-user.c
Log Message:
-----------
vhost-user: Skip unnecessary duplicated VHOST_USER_SET_LOG_BASE requests
The VHOST_USER_SET_LOG_BASE requests should be categorized into
non-vring specific messages, and should be sent only once.
If send more than once, dpdk will munmap old log_addr which may has been used
and cause segmentation fault.
Signed-off-by: BillXiang <xiangwencheng@dayudpu.com>
Message-Id: <20240613065150.3100-1-xiangwencheng@dayudpu.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: d4f471eb7e562c2cc398448a1c1e7ee838ec30bd
https://github.com/qemu/qemu/commit/d4f471eb7e562c2cc398448a1c1e7ee838ec30bd
Author: Dmitry Frolov <frolov@swemel.ru>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M hw/net/virtio-net.c
Log Message:
-----------
hw/net/virtio-net.c: fix crash in iov_copy()
A crash found while fuzzing device virtio-net-socket-check-used.
Assertion "offset == 0" in iov_copy() fails if less than guest_hdr_len bytes
were transmited.
Signed-off-by: Dmitry Frolov <frolov@swemel.ru>
Message-Id: <20240613143529.602591-2-frolov@swemel.ru>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 0aa7f10c7af222a32e49e38df8383e394a0aa5c3
https://github.com/qemu/qemu/commit/0aa7f10c7af222a32e49e38df8383e394a0aa5c3
Author: Stefano Garzarella <sgarzare@redhat.com>
Date: 2024-07-02 (Tue, 02 Jul 2024)
Changed paths:
M qapi/qom.json
Log Message:
-----------
qapi: clarify that the default is backend dependent
The default value of the @share option of the @MemoryBackendProperties
really depends on the backend type, so let's document the default
values in the same place where we define the option to avoid
dispersing the information.
Cc: David Hildenbrand <david@redhat.com>
Suggested-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20240618100043.144657-2-sgarzare@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 516dfbb783484959cf33f051864f2e44cbed45ca
https://github.com/qemu/qemu/commit/516dfbb783484959cf33f051864f2e44cbed45ca
Author: Stefano Garzarella <sgarzare@redhat.com>
Date: 2024-07-02 (Tue, 02 Jul 2024)
Changed paths:
M subprojects/libvhost-user/libvhost-user.c
Log Message:
-----------
libvhost-user: set msg.msg_control to NULL when it is empty
On some OS (e.g. macOS) sendmsg() returns -1 (errno EINVAL) if
the `struct msghdr` has the field `msg_controllen` set to 0, but
`msg_control` is not NULL.
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20240618100043.144657-3-sgarzare@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 92b58bc7e9086e489295040d408118a81c47b31d
https://github.com/qemu/qemu/commit/92b58bc7e9086e489295040d408118a81c47b31d
Author: Stefano Garzarella <sgarzare@redhat.com>
Date: 2024-07-02 (Tue, 02 Jul 2024)
Changed paths:
M subprojects/libvhost-user/libvhost-user.c
Log Message:
-----------
libvhost-user: fail vu_message_write() if sendmsg() is failing
In vu_message_write() we use sendmsg() to send the message header,
then a write() to send the payload.
If sendmsg() fails we should avoid sending the payload, since we
were unable to send the header.
Discovered before fixing the issue with the previous patch, where
sendmsg() failed on macOS due to wrong parameters, but the frontend
still sent the payload which the backend incorrectly interpreted
as a wrong header.
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20240618100043.144657-4-sgarzare@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: ebdede644bbf5744f91dbe0d39742f17b03c4e10
https://github.com/qemu/qemu/commit/ebdede644bbf5744f91dbe0d39742f17b03c4e10
Author: Stefano Garzarella <sgarzare@redhat.com>
Date: 2024-07-02 (Tue, 02 Jul 2024)
Changed paths:
M subprojects/libvhost-user/libvhost-user.c
Log Message:
-----------
libvhost-user: mask F_INFLIGHT_SHMFD if memfd is not supported
libvhost-user will panic when receiving VHOST_USER_GET_INFLIGHT_FD
message if MFD_ALLOW_SEALING is not defined, since it's not able
to create a memfd.
VHOST_USER_GET_INFLIGHT_FD is used only if
VHOST_USER_PROTOCOL_F_INFLIGHT_SHMFD is negotiated. So, let's mask
that feature if the backend is not able to properly handle these
messages.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20240618100043.144657-5-sgarzare@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 4c58843e5d3192c67394b28a3330144ea56eefac
https://github.com/qemu/qemu/commit/4c58843e5d3192c67394b28a3330144ea56eefac
Author: Stefano Garzarella <sgarzare@redhat.com>
Date: 2024-07-02 (Tue, 02 Jul 2024)
Changed paths:
M util/vhost-user-server.c
Log Message:
-----------
vhost-user-server: do not set memory fd non-blocking
In vhost-user-server we set all fd received from the other peer
in non-blocking mode. For some of them (e.g. memfd, shm_open, etc.)
it's not really needed, because we don't use these fd with blocking
operations, but only to map memory.
In addition, in some systems this operation can fail (e.g. in macOS
setting an fd returned by shm_open() non-blocking fails with errno
= ENOTTY).
So, let's avoid setting fd non-blocking for those messages that we
know carry memory fd (e.g. VHOST_USER_ADD_MEM_REG,
VHOST_USER_SET_MEM_TABLE).
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20240618100043.144657-6-sgarzare@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 03582094da1ea7ce978cec58008c81f7458ee8dd
https://github.com/qemu/qemu/commit/03582094da1ea7ce978cec58008c81f7458ee8dd
Author: Stefano Garzarella <sgarzare@redhat.com>
Date: 2024-07-02 (Tue, 02 Jul 2024)
Changed paths:
M contrib/vhost-user-blk/vhost-user-blk.c
Log Message:
-----------
contrib/vhost-user-blk: fix bind() using the right size of the address
On macOS passing `-s /tmp/vhost.socket` parameter to the vhost-user-blk
application, the bind was done on `/tmp/vhost.socke` pathname,
missing the last character.
This sounds like one of the portability problems described in the
unix(7) manpage:
Pathname sockets
When binding a socket to a pathname, a few rules should
be observed for maximum portability and ease of coding:
• The pathname in sun_path should be null-terminated.
• The length of the pathname, including the terminating
null byte, should not exceed the size of sun_path.
• The addrlen argument that describes the enclosing
sockaddr_un structure should have a value of at least:
offsetof(struct sockaddr_un, sun_path) +
strlen(addr.sun_path)+1
or, more simply, addrlen can be specified as
sizeof(struct sockaddr_un).
So let's follow the last advice and simplify the code as well.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20240618100440.145664-1-sgarzare@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 5ab04420c3de11ae4a573b08b53584a2a0c5dd00
https://github.com/qemu/qemu/commit/5ab04420c3de11ae4a573b08b53584a2a0c5dd00
Author: Stefano Garzarella <sgarzare@redhat.com>
Date: 2024-07-02 (Tue, 02 Jul 2024)
Changed paths:
M contrib/vhost-user-blk/vhost-user-blk.c
M contrib/vhost-user-input/main.c
Log Message:
-----------
contrib/vhost-user-*: use QEMU bswap helper functions
Let's replace the calls to le*toh() and htole*() with qemu/bswap.h
helpers to make the code more portable.
Suggested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20240618100447.145697-1-sgarzare@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 4e647fa08586a5ada74cf6d3ae1cdf3a027202cb
https://github.com/qemu/qemu/commit/4e647fa08586a5ada74cf6d3ae1cdf3a027202cb
Author: Stefano Garzarella <sgarzare@redhat.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
A backends/hostmem-shm.c
M backends/meson.build
M docs/system/devices/vhost-user.rst
M qapi/qom.json
M qemu-options.hx
Log Message:
-----------
hostmem: add a new memory backend based on POSIX shm_open()
shm_open() creates and opens a new POSIX shared memory object.
A POSIX shared memory object allows creating memory backend with an
associated file descriptor that can be shared with external processes
(e.g. vhost-user).
The new `memory-backend-shm` can be used as an alternative when
`memory-backend-memfd` is not available (Linux only), since shm_open()
should be provided by any POSIX-compliant operating system.
This backend mimics memfd, allocating memory that is practically
anonymous. In theory shm_open() requires a name, but this is allocated
for a short time interval and shm_unlink() is called right after
shm_open(). After that, only fd is shared with external processes
(e.g., vhost-user) as if it were associated with anonymous memory.
In the future we may also allow the user to specify the name to be
passed to shm_open(), but for now we keep the backend simple, mimicking
anonymous memory such as memfd.
Acked-by: David Hildenbrand <david@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com> (QAPI schema)
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20240618100519.145853-1-sgarzare@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: e349062727c7b35ac4c9bd08c534f64f571389fe
https://github.com/qemu/qemu/commit/e349062727c7b35ac4c9bd08c534f64f571389fe
Author: Stefano Garzarella <sgarzare@redhat.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M tests/qtest/vhost-user-blk-test.c
Log Message:
-----------
tests/qtest/vhost-user-blk-test: use memory-backend-shm
`memory-backend-memfd` is available only on Linux while the new
`memory-backend-shm` can be used on any POSIX-compliant operating
system. Let's use it so we can run the test in multiple environments.
Since we are here, let`s remove `share=on` which is the default for shm
(and also for memfd).
Acked-by: Thomas Huth <thuth@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20240618100527.145883-1-sgarzare@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 0173ce4b2bb4f159f4a6d54e14adbe35f826a848
https://github.com/qemu/qemu/commit/0173ce4b2bb4f159f4a6d54e14adbe35f826a848
Author: Stefano Garzarella <sgarzare@redhat.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M tests/qtest/vhost-user-test.c
Log Message:
-----------
tests/qtest/vhost-user-test: add a test case for memory-backend-shm
`memory-backend-shm` can be used with vhost-user devices, so let's
add a new test case for it.
Acked-by: Thomas Huth <thuth@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20240618100534.145917-1-sgarzare@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: d72479b11797c28893e1e3fc565497a9cae5ca16
https://github.com/qemu/qemu/commit/d72479b11797c28893e1e3fc565497a9cae5ca16
Author: Thomas Huth <thuth@redhat.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M include/hw/virtio/virtio.h
Log Message:
-----------
hw/virtio: Fix the de-initialization of vhost-user devices
The unrealize functions of the various vhost-user devices are
calling the corresponding vhost_*_set_status() functions with a
status of 0 to shut down the device correctly.
Now these vhost_*_set_status() functions all follow this scheme:
bool should_start = virtio_device_should_start(vdev, status);
if (vhost_dev_is_started(&vvc->vhost_dev) == should_start) {
return;
}
if (should_start) {
/* ... do the initialization stuff ... */
} else {
/* ... do the cleanup stuff ... */
}
The problem here is virtio_device_should_start(vdev, 0) currently
always returns "true" since it internally only looks at vdev->started
instead of looking at the "status" parameter. Thus once the device
got started once, virtio_device_should_start() always returns true
and thus the vhost_*_set_status() functions return early, without
ever doing any clean-up when being called with status == 0. This
causes e.g. problems when trying to hot-plug and hot-unplug a vhost
user devices multiple times since the de-initialization step is
completely skipped during the unplug operation.
This bug has been introduced in commit 9f6bcfd99f ("hw/virtio: move
vm_running check to virtio_device_started") which replaced
should_start = status & VIRTIO_CONFIG_S_DRIVER_OK;
with
should_start = virtio_device_started(vdev, status);
which later got replaced by virtio_device_should_start(). This blocked
the possibility to set should_start to false in case the status flag
VIRTIO_CONFIG_S_DRIVER_OK was not set.
Fix it by adjusting the virtio_device_should_start() function to
only consider the status flag instead of vdev->started. Since this
function is only used in the various vhost_*_set_status() functions
for exactly the same purpose, it should be fine to fix it in this
central place there without any risk to change the behavior of other
code.
Fixes: 9f6bcfd99f ("hw/virtio: move vm_running check to virtio_device_started")
Buglink: https://issues.redhat.com/browse/RHEL-40708
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20240618121958.88673-1-thuth@redhat.com>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: e9fd827711ed47edfe8cf23036a56e5a83f2bfda
https://github.com/qemu/qemu/commit/e9fd827711ed47edfe8cf23036a56e5a83f2bfda
Author: Nicolin Chen <nicolinc@nvidia.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M hw/arm/virt-acpi-build.c
Log Message:
-----------
hw/arm/virt-acpi-build: Drop local iort_node_offset
Both the other two callers of build_iort_id_mapping() just directly pass
in the IORT_NODE_OFFSET macro. Keeping a "const uint32_t" local variable
storing the same value doesn't have any gain.
Simplify this by replacing the only place using this local variable with
the macro directly.
Signed-off-by: Nicolin Chen <nicolinc@nvidia.com>
Message-Id: <20240619001708.926511-1-nicolinc@nvidia.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 93c76555d842b5d84b95f66abecb6b19545338d9
https://github.com/qemu/qemu/commit/93c76555d842b5d84b95f66abecb6b19545338d9
Author: David Woodhouse <dwmw2@infradead.org>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M hw/i386/e820_memory_layout.c
M hw/i386/e820_memory_layout.h
M hw/i386/fw_cfg.c
M hw/i386/fw_cfg.h
M hw/i386/microvm.c
M hw/i386/pc.c
M target/i386/kvm/kvm.c
M target/i386/kvm/xen-emu.c
Log Message:
-----------
hw/i386/fw_cfg: Add etc/e820 to fw_cfg late
In e820_add_entry() the e820_table is reallocated with g_renew() to make
space for a new entry. However, fw_cfg_arch_create() just uses the
existing e820_table pointer. This leads to a use-after-free if anything
adds a new entry after fw_cfg is set up.
Shift the addition of the etc/e820 file to the machine done notifier, via
a new fw_cfg_add_e820() function.
Also make e820_table private and use an e820_get_table() accessor function
for it, which sets a flag that will trigger an assert() for any *later*
attempts to add to the table.
Make e820_add_entry() return void, as most callers don't check for error
anyway.
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Message-Id: <a2708734f004b224f33d3b4824e9a5a262431568.camel@infradead.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 5786827f47a0721bb997ad3f653d2b843ba3fd76
https://github.com/qemu/qemu/commit/5786827f47a0721bb997ad3f653d2b843ba3fd76
Author: Nicolin Chen <nicolinc@nvidia.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M hw/arm/virt-acpi-build.c
Log Message:
-----------
hw/arm/virt-acpi-build: Fix id_count in build_iort_id_mapping
It's observed that Linux kernel booting with the VM reports a "conflicting
mapping for input ID" FW_BUG.
The IORT doc defines "Number of IDs" to be "the number of IDs in the range
minus one", while virt-acpi-build.c simply stores the number of IDs in the
id_count without the "minus one". Meanwhile, some of the callers pass in a
0xFFFF following the spec. So, this is a mismatch between the function and
its callers.
Fix build_iort_id_mapping() by internally subtracting one from the pass-in
@id_count. Accordingly make sure that all existing callers pass in a value
without the "minus one", i.e. change all 0xFFFFs to 0x10000s.
Also, add a few lines of comments to highlight this change along with the
referencing document for this build_iort_id_mapping().
Fixes: 42e0f050e3a5 ("hw/arm/virt-acpi-build: Add IORT support to bypass
SMMUv3")
Suggested-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Nicolin Chen <nicolinc@nvidia.com>
Message-Id: <20240619201243.936819-1-nicolinc@nvidia.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: b05ff4086f79cdc59c4adcfd278259792a8bb714
https://github.com/qemu/qemu/commit/b05ff4086f79cdc59c4adcfd278259792a8bb714
Author: Sunil V L <sunilvl@ventanamicro.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M tests/uefi-test-tools/UefiTestToolsPkg/UefiTestToolsPkg.dsc
Log Message:
-----------
uefi-test-tools/UefiTestToolsPkg: Add RISC-V support
Enable building the test application for RISC-V with appropriate
dependencies updated.
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Acked-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20240625150839.1358279-3-sunilvl@ventanamicro.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: ad8560fa29fc18acda2e8cfc1fdd87f6c6cca122
https://github.com/qemu/qemu/commit/ad8560fa29fc18acda2e8cfc1fdd87f6c6cca122
Author: Sunil V L <sunilvl@ventanamicro.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M tests/uefi-test-tools/Makefile
A tests/uefi-test-tools/uefi-test-build.config
Log Message:
-----------
uefi-test-tools: Add support for python based build script
edk2-funcs.sh which is used in this Makefile, was removed in the commit
c28a2891f3 ("edk2: update build script"). It is replaced with a python
based script. So, update the Makefile and add the configuration file as
required to support the python based build script.
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20240625150839.1358279-4-sunilvl@ventanamicro.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 2f95279aa8c3ced9607eb5959c20d2995ecd980b
https://github.com/qemu/qemu/commit/2f95279aa8c3ced9607eb5959c20d2995ecd980b
Author: Sunil V L <sunilvl@ventanamicro.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
A tests/data/uefi-boot-images/bios-tables-test.riscv64.iso.qcow2
M tests/uefi-test-tools/uefi-test-build.config
Log Message:
-----------
tests/data/uefi-boot-images: Add RISC-V ISO image
To test ACPI tables, edk2 needs to be booted with a disk image having
EFI partition. This image is created using UefiTestToolsPkg.
The image is generated using tests/uefi-test-tools source.
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Message-Id: <20240625150839.1358279-5-sunilvl@ventanamicro.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 2fd69da2640188ca869a2d81385d13dd4662e65c
https://github.com/qemu/qemu/commit/2fd69da2640188ca869a2d81385d13dd4662e65c
Author: Sunil V L <sunilvl@ventanamicro.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M tests/qtest/bios-tables-test.c
Log Message:
-----------
qtest: bios-tables-test: Rename aarch64 tests with aarch64 in them
Existing AARCH64 virt test functions do not have AARCH64 in their name.
To add RISC-V virt related test cases, better to rename existing
functions to indicate they are ARM only.
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20240625150839.1358279-6-sunilvl@ventanamicro.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: c9ad3decca13cd0f01ef16dba7a3d44abb096964
https://github.com/qemu/qemu/commit/c9ad3decca13cd0f01ef16dba7a3d44abb096964
Author: Sunil V L <sunilvl@ventanamicro.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M tests/qtest/bios-tables-test.c
Log Message:
-----------
tests/qtest/bios-tables-test.c: Add support for arch in path
Since machine name can be common for multiple architectures (ex: virt),
add "arch" in the path to search for expected AML files. Since the AML
files are still under old path, add support for searching with and
without arch in the path.
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20240625150839.1358279-7-sunilvl@ventanamicro.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 193e4b90d60a3a976ee7940d6e318ebab4db00e9
https://github.com/qemu/qemu/commit/193e4b90d60a3a976ee7940d6e318ebab4db00e9
Author: Sunil V L <sunilvl@ventanamicro.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M tests/qtest/bios-tables-test.c
Log Message:
-----------
tests/qtest/bios-tables-test.c: Set "arch" for aarch64 tests
To search for expected AML files under ${arch}/${machine} path, set this
field for AARCH64 related test cases.
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20240625150839.1358279-8-sunilvl@ventanamicro.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: d488c66b13f6070996f493f94400397ff835ed05
https://github.com/qemu/qemu/commit/d488c66b13f6070996f493f94400397ff835ed05
Author: Sunil V L <sunilvl@ventanamicro.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M tests/qtest/bios-tables-test.c
Log Message:
-----------
tests/qtest/bios-tables-test.c: Set "arch" for x86 tests
To search for expected AML files under ${arch}/${machine} path, set this
field for X86 related test cases.
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20240625150839.1358279-9-sunilvl@ventanamicro.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 7c08eefcaf6588b80bd8ce027fab748db3c53f11
https://github.com/qemu/qemu/commit/7c08eefcaf6588b80bd8ce027fab748db3c53f11
Author: Sunil V L <sunilvl@ventanamicro.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
R tests/data/acpi/microvm/APIC
R tests/data/acpi/microvm/APIC.ioapic2
R tests/data/acpi/microvm/APIC.pcie
R tests/data/acpi/microvm/DSDT
R tests/data/acpi/microvm/DSDT.ioapic2
R tests/data/acpi/microvm/DSDT.pcie
R tests/data/acpi/microvm/DSDT.rtc
R tests/data/acpi/microvm/DSDT.usb
R tests/data/acpi/microvm/ERST.pcie
R tests/data/acpi/microvm/FACP
R tests/data/acpi/pc/APIC
R tests/data/acpi/pc/APIC.acpihmat
R tests/data/acpi/pc/APIC.cphp
R tests/data/acpi/pc/APIC.dimmpxm
R tests/data/acpi/pc/DSDT
R tests/data/acpi/pc/DSDT.acpierst
R tests/data/acpi/pc/DSDT.acpihmat
R tests/data/acpi/pc/DSDT.bridge
R tests/data/acpi/pc/DSDT.cphp
R tests/data/acpi/pc/DSDT.dimmpxm
R tests/data/acpi/pc/DSDT.hpbridge
R tests/data/acpi/pc/DSDT.hpbrroot
R tests/data/acpi/pc/DSDT.ipmikcs
R tests/data/acpi/pc/DSDT.memhp
R tests/data/acpi/pc/DSDT.nohpet
R tests/data/acpi/pc/DSDT.numamem
R tests/data/acpi/pc/DSDT.roothp
R tests/data/acpi/pc/ERST.acpierst
R tests/data/acpi/pc/FACP
R tests/data/acpi/pc/FACP.nosmm
R tests/data/acpi/pc/FACS
R tests/data/acpi/pc/HMAT.acpihmat
R tests/data/acpi/pc/HPET
R tests/data/acpi/pc/NFIT.dimmpxm
R tests/data/acpi/pc/SLIT.cphp
R tests/data/acpi/pc/SLIT.memhp
R tests/data/acpi/pc/SRAT.acpihmat
R tests/data/acpi/pc/SRAT.cphp
R tests/data/acpi/pc/SRAT.dimmpxm
R tests/data/acpi/pc/SRAT.memhp
R tests/data/acpi/pc/SRAT.numamem
R tests/data/acpi/pc/SSDT.dimmpxm
R tests/data/acpi/pc/WAET
R tests/data/acpi/q35/APIC
R tests/data/acpi/q35/APIC.acpihmat
R tests/data/acpi/q35/APIC.acpihmat-noinitiator
R tests/data/acpi/q35/APIC.core-count
R tests/data/acpi/q35/APIC.core-count2
R tests/data/acpi/q35/APIC.cphp
R tests/data/acpi/q35/APIC.dimmpxm
R tests/data/acpi/q35/APIC.thread-count
R tests/data/acpi/q35/APIC.thread-count2
R tests/data/acpi/q35/APIC.type4-count
R tests/data/acpi/q35/APIC.xapic
R tests/data/acpi/q35/CEDT.cxl
R tests/data/acpi/q35/DMAR.dmar
R tests/data/acpi/q35/DSDT
R tests/data/acpi/q35/DSDT.acpierst
R tests/data/acpi/q35/DSDT.acpihmat
R tests/data/acpi/q35/DSDT.acpihmat-noinitiator
R tests/data/acpi/q35/DSDT.applesmc
R tests/data/acpi/q35/DSDT.bridge
R tests/data/acpi/q35/DSDT.core-count
R tests/data/acpi/q35/DSDT.core-count2
R tests/data/acpi/q35/DSDT.cphp
R tests/data/acpi/q35/DSDT.cxl
R tests/data/acpi/q35/DSDT.dimmpxm
R tests/data/acpi/q35/DSDT.ipmibt
R tests/data/acpi/q35/DSDT.ipmismbus
R tests/data/acpi/q35/DSDT.ivrs
R tests/data/acpi/q35/DSDT.memhp
R tests/data/acpi/q35/DSDT.mmio64
R tests/data/acpi/q35/DSDT.multi-bridge
R tests/data/acpi/q35/DSDT.noacpihp
R tests/data/acpi/q35/DSDT.nohpet
R tests/data/acpi/q35/DSDT.numamem
R tests/data/acpi/q35/DSDT.pvpanic-isa
R tests/data/acpi/q35/DSDT.thread-count
R tests/data/acpi/q35/DSDT.thread-count2
R tests/data/acpi/q35/DSDT.tis.tpm12
R tests/data/acpi/q35/DSDT.tis.tpm2
R tests/data/acpi/q35/DSDT.type4-count
R tests/data/acpi/q35/DSDT.viot
R tests/data/acpi/q35/DSDT.xapic
R tests/data/acpi/q35/ERST.acpierst
R tests/data/acpi/q35/FACP
R tests/data/acpi/q35/FACP.core-count
R tests/data/acpi/q35/FACP.core-count2
R tests/data/acpi/q35/FACP.nosmm
R tests/data/acpi/q35/FACP.slic
R tests/data/acpi/q35/FACP.thread-count
R tests/data/acpi/q35/FACP.thread-count2
R tests/data/acpi/q35/FACP.type4-count
R tests/data/acpi/q35/FACP.xapic
R tests/data/acpi/q35/FACS
R tests/data/acpi/q35/HMAT.acpihmat
R tests/data/acpi/q35/HMAT.acpihmat-noinitiator
R tests/data/acpi/q35/HPET
R tests/data/acpi/q35/IVRS.ivrs
R tests/data/acpi/q35/MCFG
R tests/data/acpi/q35/NFIT.dimmpxm
R tests/data/acpi/q35/SLIC.slic
R tests/data/acpi/q35/SLIT.cphp
R tests/data/acpi/q35/SLIT.memhp
R tests/data/acpi/q35/SRAT.acpihmat
R tests/data/acpi/q35/SRAT.acpihmat-noinitiator
R tests/data/acpi/q35/SRAT.cphp
R tests/data/acpi/q35/SRAT.dimmpxm
R tests/data/acpi/q35/SRAT.memhp
R tests/data/acpi/q35/SRAT.mmio64
R tests/data/acpi/q35/SRAT.numamem
R tests/data/acpi/q35/SRAT.xapic
R tests/data/acpi/q35/SSDT.dimmpxm
R tests/data/acpi/q35/TCPA.tis.tpm12
R tests/data/acpi/q35/TPM2.tis.tpm2
R tests/data/acpi/q35/VIOT.viot
R tests/data/acpi/q35/WAET
A tests/data/acpi/x86/microvm/APIC
A tests/data/acpi/x86/microvm/APIC.ioapic2
A tests/data/acpi/x86/microvm/APIC.pcie
A tests/data/acpi/x86/microvm/DSDT
A tests/data/acpi/x86/microvm/DSDT.ioapic2
A tests/data/acpi/x86/microvm/DSDT.pcie
A tests/data/acpi/x86/microvm/DSDT.rtc
A tests/data/acpi/x86/microvm/DSDT.usb
A tests/data/acpi/x86/microvm/ERST.pcie
A tests/data/acpi/x86/microvm/FACP
A tests/data/acpi/x86/pc/APIC
A tests/data/acpi/x86/pc/APIC.acpihmat
A tests/data/acpi/x86/pc/APIC.cphp
A tests/data/acpi/x86/pc/APIC.dimmpxm
A tests/data/acpi/x86/pc/DSDT
A tests/data/acpi/x86/pc/DSDT.acpierst
A tests/data/acpi/x86/pc/DSDT.acpihmat
A tests/data/acpi/x86/pc/DSDT.bridge
A tests/data/acpi/x86/pc/DSDT.cphp
A tests/data/acpi/x86/pc/DSDT.dimmpxm
A tests/data/acpi/x86/pc/DSDT.hpbridge
A tests/data/acpi/x86/pc/DSDT.hpbrroot
A tests/data/acpi/x86/pc/DSDT.ipmikcs
A tests/data/acpi/x86/pc/DSDT.memhp
A tests/data/acpi/x86/pc/DSDT.nohpet
A tests/data/acpi/x86/pc/DSDT.numamem
A tests/data/acpi/x86/pc/DSDT.roothp
A tests/data/acpi/x86/pc/ERST.acpierst
A tests/data/acpi/x86/pc/FACP
A tests/data/acpi/x86/pc/FACP.nosmm
A tests/data/acpi/x86/pc/FACS
A tests/data/acpi/x86/pc/HMAT.acpihmat
A tests/data/acpi/x86/pc/HPET
A tests/data/acpi/x86/pc/NFIT.dimmpxm
A tests/data/acpi/x86/pc/SLIT.cphp
A tests/data/acpi/x86/pc/SLIT.memhp
A tests/data/acpi/x86/pc/SRAT.acpihmat
A tests/data/acpi/x86/pc/SRAT.cphp
A tests/data/acpi/x86/pc/SRAT.dimmpxm
A tests/data/acpi/x86/pc/SRAT.memhp
A tests/data/acpi/x86/pc/SRAT.numamem
A tests/data/acpi/x86/pc/SSDT.dimmpxm
A tests/data/acpi/x86/pc/WAET
A tests/data/acpi/x86/q35/APIC
A tests/data/acpi/x86/q35/APIC.acpihmat
A tests/data/acpi/x86/q35/APIC.acpihmat-noinitiator
A tests/data/acpi/x86/q35/APIC.core-count
A tests/data/acpi/x86/q35/APIC.core-count2
A tests/data/acpi/x86/q35/APIC.cphp
A tests/data/acpi/x86/q35/APIC.dimmpxm
A tests/data/acpi/x86/q35/APIC.thread-count
A tests/data/acpi/x86/q35/APIC.thread-count2
A tests/data/acpi/x86/q35/APIC.type4-count
A tests/data/acpi/x86/q35/APIC.xapic
A tests/data/acpi/x86/q35/CEDT.cxl
A tests/data/acpi/x86/q35/DMAR.dmar
A tests/data/acpi/x86/q35/DSDT
A tests/data/acpi/x86/q35/DSDT.acpierst
A tests/data/acpi/x86/q35/DSDT.acpihmat
A tests/data/acpi/x86/q35/DSDT.acpihmat-noinitiator
A tests/data/acpi/x86/q35/DSDT.applesmc
A tests/data/acpi/x86/q35/DSDT.bridge
A tests/data/acpi/x86/q35/DSDT.core-count
A tests/data/acpi/x86/q35/DSDT.core-count2
A tests/data/acpi/x86/q35/DSDT.cphp
A tests/data/acpi/x86/q35/DSDT.cxl
A tests/data/acpi/x86/q35/DSDT.dimmpxm
A tests/data/acpi/x86/q35/DSDT.ipmibt
A tests/data/acpi/x86/q35/DSDT.ipmismbus
A tests/data/acpi/x86/q35/DSDT.ivrs
A tests/data/acpi/x86/q35/DSDT.memhp
A tests/data/acpi/x86/q35/DSDT.mmio64
A tests/data/acpi/x86/q35/DSDT.multi-bridge
A tests/data/acpi/x86/q35/DSDT.noacpihp
A tests/data/acpi/x86/q35/DSDT.nohpet
A tests/data/acpi/x86/q35/DSDT.numamem
A tests/data/acpi/x86/q35/DSDT.pvpanic-isa
A tests/data/acpi/x86/q35/DSDT.thread-count
A tests/data/acpi/x86/q35/DSDT.thread-count2
A tests/data/acpi/x86/q35/DSDT.tis.tpm12
A tests/data/acpi/x86/q35/DSDT.tis.tpm2
A tests/data/acpi/x86/q35/DSDT.type4-count
A tests/data/acpi/x86/q35/DSDT.viot
A tests/data/acpi/x86/q35/DSDT.xapic
A tests/data/acpi/x86/q35/ERST.acpierst
A tests/data/acpi/x86/q35/FACP
A tests/data/acpi/x86/q35/FACP.core-count
A tests/data/acpi/x86/q35/FACP.core-count2
A tests/data/acpi/x86/q35/FACP.nosmm
A tests/data/acpi/x86/q35/FACP.slic
A tests/data/acpi/x86/q35/FACP.thread-count
A tests/data/acpi/x86/q35/FACP.thread-count2
A tests/data/acpi/x86/q35/FACP.type4-count
A tests/data/acpi/x86/q35/FACP.xapic
A tests/data/acpi/x86/q35/FACS
A tests/data/acpi/x86/q35/HMAT.acpihmat
A tests/data/acpi/x86/q35/HMAT.acpihmat-noinitiator
A tests/data/acpi/x86/q35/HPET
A tests/data/acpi/x86/q35/IVRS.ivrs
A tests/data/acpi/x86/q35/MCFG
A tests/data/acpi/x86/q35/NFIT.dimmpxm
A tests/data/acpi/x86/q35/SLIC.slic
A tests/data/acpi/x86/q35/SLIT.cphp
A tests/data/acpi/x86/q35/SLIT.memhp
A tests/data/acpi/x86/q35/SRAT.acpihmat
A tests/data/acpi/x86/q35/SRAT.acpihmat-noinitiator
A tests/data/acpi/x86/q35/SRAT.cphp
A tests/data/acpi/x86/q35/SRAT.dimmpxm
A tests/data/acpi/x86/q35/SRAT.memhp
A tests/data/acpi/x86/q35/SRAT.mmio64
A tests/data/acpi/x86/q35/SRAT.numamem
A tests/data/acpi/x86/q35/SRAT.xapic
A tests/data/acpi/x86/q35/SSDT.dimmpxm
A tests/data/acpi/x86/q35/TCPA.tis.tpm12
A tests/data/acpi/x86/q35/TPM2.tis.tpm2
A tests/data/acpi/x86/q35/VIOT.viot
A tests/data/acpi/x86/q35/WAET
Log Message:
-----------
tests/data/acpi: Move x86 ACPI tables under x86/${machine} path
To support multiple architectures using same machine name, create x86
folder and move all x86 related AML files for each machine type inside.
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20240625150839.1358279-10-sunilvl@ventanamicro.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 7434f904673c36b78871a3b18ab1f5c09c640131
https://github.com/qemu/qemu/commit/7434f904673c36b78871a3b18ab1f5c09c640131
Author: Sunil V L <sunilvl@ventanamicro.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
A tests/data/acpi/aarch64/virt/APIC
A tests/data/acpi/aarch64/virt/APIC.acpihmatvirt
A tests/data/acpi/aarch64/virt/APIC.topology
A tests/data/acpi/aarch64/virt/DBG2
A tests/data/acpi/aarch64/virt/DSDT
A tests/data/acpi/aarch64/virt/DSDT.acpihmatvirt
A tests/data/acpi/aarch64/virt/DSDT.memhp
A tests/data/acpi/aarch64/virt/DSDT.pxb
A tests/data/acpi/aarch64/virt/DSDT.topology
A tests/data/acpi/aarch64/virt/FACP
A tests/data/acpi/aarch64/virt/GTDT
A tests/data/acpi/aarch64/virt/HMAT.acpihmatvirt
A tests/data/acpi/aarch64/virt/IORT
A tests/data/acpi/aarch64/virt/MCFG
A tests/data/acpi/aarch64/virt/NFIT.memhp
A tests/data/acpi/aarch64/virt/PPTT
A tests/data/acpi/aarch64/virt/PPTT.acpihmatvirt
A tests/data/acpi/aarch64/virt/PPTT.topology
A tests/data/acpi/aarch64/virt/SLIT.memhp
A tests/data/acpi/aarch64/virt/SPCR
A tests/data/acpi/aarch64/virt/SRAT.acpihmatvirt
A tests/data/acpi/aarch64/virt/SRAT.memhp
A tests/data/acpi/aarch64/virt/SRAT.numamem
A tests/data/acpi/aarch64/virt/SSDT.memhp
A tests/data/acpi/aarch64/virt/VIOT
R tests/data/acpi/virt/APIC
R tests/data/acpi/virt/APIC.acpihmatvirt
R tests/data/acpi/virt/APIC.topology
R tests/data/acpi/virt/DBG2
R tests/data/acpi/virt/DSDT
R tests/data/acpi/virt/DSDT.acpihmatvirt
R tests/data/acpi/virt/DSDT.memhp
R tests/data/acpi/virt/DSDT.pxb
R tests/data/acpi/virt/DSDT.topology
R tests/data/acpi/virt/FACP
R tests/data/acpi/virt/GTDT
R tests/data/acpi/virt/HMAT.acpihmatvirt
R tests/data/acpi/virt/IORT
R tests/data/acpi/virt/MCFG
R tests/data/acpi/virt/NFIT.memhp
R tests/data/acpi/virt/PPTT
R tests/data/acpi/virt/PPTT.acpihmatvirt
R tests/data/acpi/virt/PPTT.topology
R tests/data/acpi/virt/SLIT.memhp
R tests/data/acpi/virt/SPCR
R tests/data/acpi/virt/SRAT.acpihmatvirt
R tests/data/acpi/virt/SRAT.memhp
R tests/data/acpi/virt/SRAT.numamem
R tests/data/acpi/virt/SSDT.memhp
R tests/data/acpi/virt/VIOT
Log Message:
-----------
tests/data/acpi/virt: Move ARM64 ACPI tables under aarch64/${machine} path
Same machine name can be used by different architectures. Hence, create
aarch64 folder and move all aarch64 related AML files for virt machine
inside.
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20240625150839.1358279-11-sunilvl@ventanamicro.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 008115bba06a30b13b3fd86cade8a280490e06f3
https://github.com/qemu/qemu/commit/008115bba06a30b13b3fd86cade8a280490e06f3
Author: Sunil V L <sunilvl@ventanamicro.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M meson.build
Log Message:
-----------
meson.build: Add RISC-V to the edk2-target list
so that ACPI table test can be supported.
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20240625150839.1358279-12-sunilvl@ventanamicro.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: ce7325c160953e717ff662eabdc7bb911029760f
https://github.com/qemu/qemu/commit/ce7325c160953e717ff662eabdc7bb911029760f
Author: Sunil V L <sunilvl@ventanamicro.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M pc-bios/meson.build
M tests/qtest/meson.build
Log Message:
-----------
pc-bios/meson.build: Add support for RISC-V in unpack_edk2_blobs
Update list of images supported in unpack_edk2_blobs to enable RISC-V
ACPI table testing.
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20240625150839.1358279-13-sunilvl@ventanamicro.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 0f130d9e372552ef900bfac062ffc6a77b4049cc
https://github.com/qemu/qemu/commit/0f130d9e372552ef900bfac062ffc6a77b4049cc
Author: Sunil V L <sunilvl@ventanamicro.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M tests/data/acpi/rebuild-expected-aml.sh
Log Message:
-----------
tests/data/acpi/rebuild-expected-aml.sh: Add RISC-V
Update the list of supported architectures to include RISC-V.
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20240625150839.1358279-14-sunilvl@ventanamicro.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: efc4ad6f9901bbba08c0e11443ba89f18b1a28e9
https://github.com/qemu/qemu/commit/efc4ad6f9901bbba08c0e11443ba89f18b1a28e9
Author: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M hw/mem/cxl_type3.c
M hw/mem/cxl_type3_stubs.c
M qapi/cxl.json
Log Message:
-----------
hw/cxl/events: Improve QMP interfaces and documentation for add/release
dynamic capacity.
New DCD command definitions updated in response to review comments
from Markus.
- Used CxlXXXX instead of CXLXXXXX for newly added types.
- Expanded some abreviations in type names to be easier to read.
- Additional documentation for some fields.
- Replace slightly vague cxl r3.1 references with
"Compute Express Link (CXL) Specification, Revision 3.1, XXXX"
to bring them inline with what it says on the specification cover.
Suggested-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20240625170805.359278-2-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 5e3cd0a2f526c2e52dd513ee6b4385f1fb47a19e
https://github.com/qemu/qemu/commit/5e3cd0a2f526c2e52dd513ee6b4385f1fb47a19e
Author: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M qapi/cxl.json
Log Message:
-----------
hw/cxl/events: Mark cxl-add-dynamic-capacity and cxl-release-dynamic-capcity
unstable
Markus suggested that we make the unstable. I don't expect these
interfaces to change because of their tight coupling to the Compute
Express Link (CXL) Specification, Revision 3.1 Fabric Management API
definitions which can only be extended in backwards compatible way.
However, there seems little disadvantage in taking a cautious path
for now and marking them as unstable interfaces.
Suggested-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20240625170805.359278-3-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 7aa6492401e95fb296dec7cda81e67d91f6037d7
https://github.com/qemu/qemu/commit/7aa6492401e95fb296dec7cda81e67d91f6037d7
Author: Stefano Garzarella <sgarzare@redhat.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M hw/virtio/virtio.c
Log Message:
-----------
virtio: remove virtio_tswap16s() call in vring_packed_event_read()
Commit d152cdd6f6 ("virtio: use virtio accessor to access packed event")
switched using of address_space_read_cached() to virito_lduw_phys_cached()
to access packed descriptor event.
When we used address_space_read_cached(), we needed to call
virtio_tswap16s() to handle the endianess of the field, but
virito_lduw_phys_cached() already handles it internally, so we no longer
need to call virtio_tswap16s() (as the commit had done for `off_wrap`,
but forgot for `flags`).
Fixes: d152cdd6f6 ("virtio: use virtio accessor to access packed event")
Cc: jasowang@redhat.com
Cc: qemu-stable@nongnu.org
Reported-by: Xoykie <xoykie@gmail.com>
Link:
https://lore.kernel.org/qemu-devel/CAFU8RB_pjr77zMLsM0Unf9xPNxfr_--Tjr49F_eX32ZBc5o2zQ@mail.gmail.com
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20240701075208.19634-1-sgarzare@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Eugenio Pérez <eperezma@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 1b889d6e39c32d709f1114699a014b381bcf1cb1
https://github.com/qemu/qemu/commit/1b889d6e39c32d709f1114699a014b381bcf1cb1
Author: Cédric Le Goater <clg@redhat.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M hw/virtio/virtio-iommu.c
Log Message:
-----------
virtio-iommu: Clear IOMMUDevice when VFIO device is unplugged
When a VFIO device is hoplugged in a VM using virtio-iommu, IOMMUPciBus
and IOMMUDevice cache entries are created in the .get_address_space()
handler of the machine IOMMU device. However, these entries are never
destroyed, not even when the VFIO device is detached from the machine.
This can lead to an assert if the device is reattached again.
When reattached, the .get_address_space() handler reuses an
IOMMUDevice entry allocated when the VFIO device was first attached.
virtio_iommu_set_host_iova_ranges() is called later on from the
.set_iommu_device() handler an fails with an assert on 'probe_done'
because the device appears to have been already probed when this is
not the case.
The IOMMUDevice entry is allocated in pci_device_iommu_address_space()
called from under vfio_realize(), the VFIO PCI realize handler. Since
pci_device_unset_iommu_device() is called from vfio_exitfn(), a sub
function of the PCIDevice unrealize() handler, it seems that the
.unset_iommu_device() handler is the best place to release resources
allocated at realize time. Clear the IOMMUDevice cache entry there to
fix hotplug.
Fixes: 817ef10da23c ("virtio-iommu: Implement set|unset]_iommu_device()
callbacks")
Signed-off-by: Cédric Le Goater <clg@redhat.com>
Message-Id: <20240701101453.203985-1-clg@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 6a31b219a5338564f3978251c79f96f689e037da
https://github.com/qemu/qemu/commit/6a31b219a5338564f3978251c79f96f689e037da
Author: Akihiko Odaki <akihiko.odaki@daynix.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M hw/pci/pci.c
M hw/pci/pci_host.c
M include/hw/pci/pci.h
M include/hw/pci/pci_device.h
Log Message:
-----------
hw/pci: Rename has_power to enabled
The renamed state will not only represent powering state of PFs, but
also represent SR-IOV VF enablement in the future.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20240627-reuse-v10-1-7ca0b8ed3d9f@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 723c5b4628d047e43825a046c6ee517b82b88117
https://github.com/qemu/qemu/commit/723c5b4628d047e43825a046c6ee517b82b88117
Author: Akihiko Odaki <akihiko.odaki@daynix.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M hw/ppc/spapr_pci.c
Log Message:
-----------
hw/ppc/spapr_pci: Do not create DT for disabled PCI device
Disabled means it is a disabled SR-IOV VF or it is powered off, and
hidden from the guest.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20240627-reuse-v10-2-7ca0b8ed3d9f@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 26f86093ec989cb73ad03e8a234f5dc321e1e267
https://github.com/qemu/qemu/commit/26f86093ec989cb73ad03e8a234f5dc321e1e267
Author: Akihiko Odaki <akihiko.odaki@daynix.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M hw/ppc/spapr_pci.c
Log Message:
-----------
hw/ppc/spapr_pci: Do not reject VFs created after a PF
A PF may automatically create VFs and the PF may be function 0.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20240627-reuse-v10-3-7ca0b8ed3d9f@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: c613ad25125bf3016aa8f81ce170f5ac91d2379f
https://github.com/qemu/qemu/commit/c613ad25125bf3016aa8f81ce170f5ac91d2379f
Author: Akihiko Odaki <akihiko.odaki@daynix.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M hw/pci/pcie_sriov.c
Log Message:
-----------
pcie_sriov: Do not manually unrealize
A device gets automatically unrealized when being unparented.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20240627-reuse-v10-4-7ca0b8ed3d9f@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 77718701157f6ca77ea7a57b536fa0a22f676082
https://github.com/qemu/qemu/commit/77718701157f6ca77ea7a57b536fa0a22f676082
Author: Akihiko Odaki <akihiko.odaki@daynix.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M docs/pcie_sriov.txt
M hw/net/igb.c
M hw/nvme/ctrl.c
M hw/pci/pcie_sriov.c
M include/hw/pci/pcie_sriov.h
Log Message:
-----------
pcie_sriov: Ensure VF function number does not overflow
pci_new() aborts when creating a VF with a function number equals to or
is greater than PCI_DEVFN_MAX.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20240627-reuse-v10-5-7ca0b8ed3d9f@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 139610ae67f6ecf92127bb7bf53ac6265b459ec8
https://github.com/qemu/qemu/commit/139610ae67f6ecf92127bb7bf53ac6265b459ec8
Author: Akihiko Odaki <akihiko.odaki@daynix.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M hw/pci/pci.c
M hw/pci/pcie_sriov.c
M include/hw/pci/pci.h
M include/hw/pci/pci_device.h
M include/hw/pci/pcie_sriov.h
Log Message:
-----------
pcie_sriov: Reuse SR-IOV VF device instances
Disable SR-IOV VF devices by reusing code to power down PCI devices
instead of removing them when the guest requests to disable VFs. This
allows to realize devices and report VF realization errors at PF
realization time.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20240627-reuse-v10-6-7ca0b8ed3d9f@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 1a9bf009012e590cb166a4a9bae4bc18fb084d76
https://github.com/qemu/qemu/commit/1a9bf009012e590cb166a4a9bae4bc18fb084d76
Author: Akihiko Odaki <akihiko.odaki@daynix.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M hw/pci/pcie_sriov.c
Log Message:
-----------
pcie_sriov: Release VFs failed to realize
Release VFs failed to realize just as we do in unregister_vfs().
Fixes: 7c0fa8dff811 ("pcie: Add support for Single Root I/O Virtualization
(SR/IOV)")
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20240627-reuse-v10-7-7ca0b8ed3d9f@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: cbd9e5120bac3e292eee77b7a2e3692f235a1a26
https://github.com/qemu/qemu/commit/cbd9e5120bac3e292eee77b7a2e3692f235a1a26
Author: Akihiko Odaki <akihiko.odaki@daynix.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M hw/pci/pcie_sriov.c
M hw/pci/trace-events
M include/hw/pci/pcie_sriov.h
Log Message:
-----------
pcie_sriov: Remove num_vfs from PCIESriovPF
num_vfs is not migrated so use PCI_SRIOV_CTRL_VFE and PCI_SRIOV_NUM_VF
instead.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20240627-reuse-v10-8-7ca0b8ed3d9f@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 107a64b9a360cf5ca046852bc03334f7a9f22aef
https://github.com/qemu/qemu/commit/107a64b9a360cf5ca046852bc03334f7a9f22aef
Author: Akihiko Odaki <akihiko.odaki@daynix.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M hw/pci/pci.c
M hw/pci/pcie_sriov.c
M include/hw/pci/pcie_sriov.h
Log Message:
-----------
pcie_sriov: Register VFs after migration
pcie_sriov doesn't have code to restore its state after migration, but
igb, which uses pcie_sriov, naively claimed its migration capability.
Add code to register VFs after migration and fix igb migration.
Fixes: 3a977deebe6b ("Intrdocue igb device emulation")
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20240627-reuse-v10-9-7ca0b8ed3d9f@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 6a67577d8003428bdbeba61d32a9f8158f12624b
https://github.com/qemu/qemu/commit/6a67577d8003428bdbeba61d32a9f8158f12624b
Author: Akihiko Odaki <akihiko.odaki@daynix.com>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
M hw/pci/pci.c
M hw/xen/xen_pt_load_rom.c
Log Message:
-----------
hw/pci: Replace -1 with UINT32_MAX for romsize
romsize is an uint32_t variable. Specifying -1 as an uint32_t value is
obscure way to denote UINT32_MAX.
Worse, if int is wider than 32-bit, it will change the behavior of a
construct like the following:
romsize = -1;
if (romsize != -1) {
...
}
When -1 is assigned to romsize, -1 will be implicitly casted into
uint32_t, resulting in UINT32_MAX. On contrary, when evaluating
romsize != -1, romsize will be casted into int, and it will be a
comparison of UINT32_MAX and -1, and result in false.
Replace -1 with UINT32_MAX for statements involving the variable to
clarify the intent and prevent potential breakage.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20240627-reuse-v10-10-7ca0b8ed3d9f@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 1406b7fc4bbaab42133b1ef03270179746e91723
https://github.com/qemu/qemu/commit/1406b7fc4bbaab42133b1ef03270179746e91723
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2024-07-03 (Wed, 03 Jul 2024)
Changed paths:
A backends/hostmem-shm.c
M backends/meson.build
M contrib/vhost-user-blk/vhost-user-blk.c
M contrib/vhost-user-input/main.c
M docs/pcie_sriov.txt
M docs/specs/pvpanic.rst
M docs/system/devices/vhost-user.rst
M hw/arm/virt-acpi-build.c
M hw/block/vhost-user-blk.c
M hw/core/machine.c
M hw/cxl/cxl-mailbox-utils.c
M hw/display/vhost-user-gpu.c
M hw/i386/e820_memory_layout.c
M hw/i386/e820_memory_layout.h
M hw/i386/fw_cfg.c
M hw/i386/fw_cfg.h
M hw/i386/microvm.c
M hw/i386/pc.c
M hw/intc/apic_common.c
M hw/mem/cxl_type3.c
M hw/mem/cxl_type3_stubs.c
M hw/misc/pvpanic-isa.c
M hw/misc/pvpanic-pci.c
M hw/misc/pvpanic.c
M hw/net/igb.c
M hw/net/vhost_net.c
M hw/net/virtio-net.c
M hw/nvme/ctrl.c
M hw/pci/pci.c
M hw/pci/pci_host.c
M hw/pci/pcie_sriov.c
M hw/pci/trace-events
M hw/ppc/spapr_pci.c
M hw/s390x/s390-virtio-ccw.c
M hw/scsi/vhost-scsi.c
M hw/scsi/vhost-user-scsi.c
M hw/virtio/vhost-user-base.c
M hw/virtio/vhost-user-fs.c
M hw/virtio/vhost-user-vsock.c
M hw/virtio/vhost-user.c
M hw/virtio/vhost-vsock-common.c
M hw/virtio/vhost.c
M hw/virtio/virtio-iommu.c
M hw/virtio/virtio-mmio.c
M hw/virtio/virtio-pci.c
M hw/virtio/virtio.c
M hw/xen/xen_pt_load_rom.c
M include/hw/cxl/cxl_device.h
M include/hw/cxl/cxl_events.h
M include/hw/misc/pvpanic.h
M include/hw/pci/pci.h
M include/hw/pci/pci_device.h
M include/hw/pci/pcie_sriov.h
M include/hw/virtio/vhost-user.h
M include/hw/virtio/vhost.h
M include/hw/virtio/virtio-pci.h
M include/hw/virtio/virtio.h
M include/standard-headers/linux/ethtool.h
M include/standard-headers/linux/pci_regs.h
M include/standard-headers/linux/virtio_bt.h
M include/standard-headers/linux/virtio_mem.h
M include/standard-headers/linux/virtio_net.h
M include/standard-headers/misc/pvpanic.h
M include/sysemu/runstate.h
M linux-headers/asm-generic/unistd.h
M linux-headers/asm-mips/unistd_n32.h
M linux-headers/asm-mips/unistd_n64.h
M linux-headers/asm-mips/unistd_o32.h
M linux-headers/asm-powerpc/unistd_32.h
M linux-headers/asm-powerpc/unistd_64.h
M linux-headers/asm-s390/unistd_32.h
M linux-headers/asm-s390/unistd_64.h
M linux-headers/asm-x86/unistd_32.h
M linux-headers/asm-x86/unistd_64.h
M linux-headers/asm-x86/unistd_x32.h
M linux-headers/linux/kvm.h
M linux-headers/linux/stddef.h
M meson.build
M net/vhost-vdpa.c
M pc-bios/meson.build
M qapi/cxl.json
M qapi/qom.json
M qapi/run-state.json
M qemu-options.hx
M subprojects/libvhost-user/libvhost-user.c
M system/runstate.c
M target/i386/kvm/kvm.c
M target/i386/kvm/xen-emu.c
A tests/data/acpi/aarch64/virt/APIC
A tests/data/acpi/aarch64/virt/APIC.acpihmatvirt
A tests/data/acpi/aarch64/virt/APIC.topology
A tests/data/acpi/aarch64/virt/DBG2
A tests/data/acpi/aarch64/virt/DSDT
A tests/data/acpi/aarch64/virt/DSDT.acpihmatvirt
A tests/data/acpi/aarch64/virt/DSDT.memhp
A tests/data/acpi/aarch64/virt/DSDT.pxb
A tests/data/acpi/aarch64/virt/DSDT.topology
A tests/data/acpi/aarch64/virt/FACP
A tests/data/acpi/aarch64/virt/GTDT
A tests/data/acpi/aarch64/virt/HMAT.acpihmatvirt
A tests/data/acpi/aarch64/virt/IORT
A tests/data/acpi/aarch64/virt/MCFG
A tests/data/acpi/aarch64/virt/NFIT.memhp
A tests/data/acpi/aarch64/virt/PPTT
A tests/data/acpi/aarch64/virt/PPTT.acpihmatvirt
A tests/data/acpi/aarch64/virt/PPTT.topology
A tests/data/acpi/aarch64/virt/SLIT.memhp
A tests/data/acpi/aarch64/virt/SPCR
A tests/data/acpi/aarch64/virt/SRAT.acpihmatvirt
A tests/data/acpi/aarch64/virt/SRAT.memhp
A tests/data/acpi/aarch64/virt/SRAT.numamem
A tests/data/acpi/aarch64/virt/SSDT.memhp
A tests/data/acpi/aarch64/virt/VIOT
R tests/data/acpi/microvm/APIC
R tests/data/acpi/microvm/APIC.ioapic2
R tests/data/acpi/microvm/APIC.pcie
R tests/data/acpi/microvm/DSDT
R tests/data/acpi/microvm/DSDT.ioapic2
R tests/data/acpi/microvm/DSDT.pcie
R tests/data/acpi/microvm/DSDT.rtc
R tests/data/acpi/microvm/DSDT.usb
R tests/data/acpi/microvm/ERST.pcie
R tests/data/acpi/microvm/FACP
R tests/data/acpi/pc/APIC
R tests/data/acpi/pc/APIC.acpihmat
R tests/data/acpi/pc/APIC.cphp
R tests/data/acpi/pc/APIC.dimmpxm
R tests/data/acpi/pc/DSDT
R tests/data/acpi/pc/DSDT.acpierst
R tests/data/acpi/pc/DSDT.acpihmat
R tests/data/acpi/pc/DSDT.bridge
R tests/data/acpi/pc/DSDT.cphp
R tests/data/acpi/pc/DSDT.dimmpxm
R tests/data/acpi/pc/DSDT.hpbridge
R tests/data/acpi/pc/DSDT.hpbrroot
R tests/data/acpi/pc/DSDT.ipmikcs
R tests/data/acpi/pc/DSDT.memhp
R tests/data/acpi/pc/DSDT.nohpet
R tests/data/acpi/pc/DSDT.numamem
R tests/data/acpi/pc/DSDT.roothp
R tests/data/acpi/pc/ERST.acpierst
R tests/data/acpi/pc/FACP
R tests/data/acpi/pc/FACP.nosmm
R tests/data/acpi/pc/FACS
R tests/data/acpi/pc/HMAT.acpihmat
R tests/data/acpi/pc/HPET
R tests/data/acpi/pc/NFIT.dimmpxm
R tests/data/acpi/pc/SLIT.cphp
R tests/data/acpi/pc/SLIT.memhp
R tests/data/acpi/pc/SRAT.acpihmat
R tests/data/acpi/pc/SRAT.cphp
R tests/data/acpi/pc/SRAT.dimmpxm
R tests/data/acpi/pc/SRAT.memhp
R tests/data/acpi/pc/SRAT.numamem
R tests/data/acpi/pc/SSDT.dimmpxm
R tests/data/acpi/pc/WAET
R tests/data/acpi/q35/APIC
R tests/data/acpi/q35/APIC.acpihmat
R tests/data/acpi/q35/APIC.acpihmat-noinitiator
R tests/data/acpi/q35/APIC.core-count
R tests/data/acpi/q35/APIC.core-count2
R tests/data/acpi/q35/APIC.cphp
R tests/data/acpi/q35/APIC.dimmpxm
R tests/data/acpi/q35/APIC.thread-count
R tests/data/acpi/q35/APIC.thread-count2
R tests/data/acpi/q35/APIC.type4-count
R tests/data/acpi/q35/APIC.xapic
R tests/data/acpi/q35/CEDT.cxl
R tests/data/acpi/q35/DMAR.dmar
R tests/data/acpi/q35/DSDT
R tests/data/acpi/q35/DSDT.acpierst
R tests/data/acpi/q35/DSDT.acpihmat
R tests/data/acpi/q35/DSDT.acpihmat-noinitiator
R tests/data/acpi/q35/DSDT.applesmc
R tests/data/acpi/q35/DSDT.bridge
R tests/data/acpi/q35/DSDT.core-count
R tests/data/acpi/q35/DSDT.core-count2
R tests/data/acpi/q35/DSDT.cphp
R tests/data/acpi/q35/DSDT.cxl
R tests/data/acpi/q35/DSDT.dimmpxm
R tests/data/acpi/q35/DSDT.ipmibt
R tests/data/acpi/q35/DSDT.ipmismbus
R tests/data/acpi/q35/DSDT.ivrs
R tests/data/acpi/q35/DSDT.memhp
R tests/data/acpi/q35/DSDT.mmio64
R tests/data/acpi/q35/DSDT.multi-bridge
R tests/data/acpi/q35/DSDT.noacpihp
R tests/data/acpi/q35/DSDT.nohpet
R tests/data/acpi/q35/DSDT.numamem
R tests/data/acpi/q35/DSDT.pvpanic-isa
R tests/data/acpi/q35/DSDT.thread-count
R tests/data/acpi/q35/DSDT.thread-count2
R tests/data/acpi/q35/DSDT.tis.tpm12
R tests/data/acpi/q35/DSDT.tis.tpm2
R tests/data/acpi/q35/DSDT.type4-count
R tests/data/acpi/q35/DSDT.viot
R tests/data/acpi/q35/DSDT.xapic
R tests/data/acpi/q35/ERST.acpierst
R tests/data/acpi/q35/FACP
R tests/data/acpi/q35/FACP.core-count
R tests/data/acpi/q35/FACP.core-count2
R tests/data/acpi/q35/FACP.nosmm
R tests/data/acpi/q35/FACP.slic
R tests/data/acpi/q35/FACP.thread-count
R tests/data/acpi/q35/FACP.thread-count2
R tests/data/acpi/q35/FACP.type4-count
R tests/data/acpi/q35/FACP.xapic
R tests/data/acpi/q35/FACS
R tests/data/acpi/q35/HMAT.acpihmat
R tests/data/acpi/q35/HMAT.acpihmat-noinitiator
R tests/data/acpi/q35/HPET
R tests/data/acpi/q35/IVRS.ivrs
R tests/data/acpi/q35/MCFG
R tests/data/acpi/q35/NFIT.dimmpxm
R tests/data/acpi/q35/SLIC.slic
R tests/data/acpi/q35/SLIT.cphp
R tests/data/acpi/q35/SLIT.memhp
R tests/data/acpi/q35/SRAT.acpihmat
R tests/data/acpi/q35/SRAT.acpihmat-noinitiator
R tests/data/acpi/q35/SRAT.cphp
R tests/data/acpi/q35/SRAT.dimmpxm
R tests/data/acpi/q35/SRAT.memhp
R tests/data/acpi/q35/SRAT.mmio64
R tests/data/acpi/q35/SRAT.numamem
R tests/data/acpi/q35/SRAT.xapic
R tests/data/acpi/q35/SSDT.dimmpxm
R tests/data/acpi/q35/TCPA.tis.tpm12
R tests/data/acpi/q35/TPM2.tis.tpm2
R tests/data/acpi/q35/VIOT.viot
R tests/data/acpi/q35/WAET
M tests/data/acpi/rebuild-expected-aml.sh
R tests/data/acpi/virt/APIC
R tests/data/acpi/virt/APIC.acpihmatvirt
R tests/data/acpi/virt/APIC.topology
R tests/data/acpi/virt/DBG2
R tests/data/acpi/virt/DSDT
R tests/data/acpi/virt/DSDT.acpihmatvirt
R tests/data/acpi/virt/DSDT.memhp
R tests/data/acpi/virt/DSDT.pxb
R tests/data/acpi/virt/DSDT.topology
R tests/data/acpi/virt/FACP
R tests/data/acpi/virt/GTDT
R tests/data/acpi/virt/HMAT.acpihmatvirt
R tests/data/acpi/virt/IORT
R tests/data/acpi/virt/MCFG
R tests/data/acpi/virt/NFIT.memhp
R tests/data/acpi/virt/PPTT
R tests/data/acpi/virt/PPTT.acpihmatvirt
R tests/data/acpi/virt/PPTT.topology
R tests/data/acpi/virt/SLIT.memhp
R tests/data/acpi/virt/SPCR
R tests/data/acpi/virt/SRAT.acpihmatvirt
R tests/data/acpi/virt/SRAT.memhp
R tests/data/acpi/virt/SRAT.numamem
R tests/data/acpi/virt/SSDT.memhp
R tests/data/acpi/virt/VIOT
A tests/data/acpi/x86/microvm/APIC
A tests/data/acpi/x86/microvm/APIC.ioapic2
A tests/data/acpi/x86/microvm/APIC.pcie
A tests/data/acpi/x86/microvm/DSDT
A tests/data/acpi/x86/microvm/DSDT.ioapic2
A tests/data/acpi/x86/microvm/DSDT.pcie
A tests/data/acpi/x86/microvm/DSDT.rtc
A tests/data/acpi/x86/microvm/DSDT.usb
A tests/data/acpi/x86/microvm/ERST.pcie
A tests/data/acpi/x86/microvm/FACP
A tests/data/acpi/x86/pc/APIC
A tests/data/acpi/x86/pc/APIC.acpihmat
A tests/data/acpi/x86/pc/APIC.cphp
A tests/data/acpi/x86/pc/APIC.dimmpxm
A tests/data/acpi/x86/pc/DSDT
A tests/data/acpi/x86/pc/DSDT.acpierst
A tests/data/acpi/x86/pc/DSDT.acpihmat
A tests/data/acpi/x86/pc/DSDT.bridge
A tests/data/acpi/x86/pc/DSDT.cphp
A tests/data/acpi/x86/pc/DSDT.dimmpxm
A tests/data/acpi/x86/pc/DSDT.hpbridge
A tests/data/acpi/x86/pc/DSDT.hpbrroot
A tests/data/acpi/x86/pc/DSDT.ipmikcs
A tests/data/acpi/x86/pc/DSDT.memhp
A tests/data/acpi/x86/pc/DSDT.nohpet
A tests/data/acpi/x86/pc/DSDT.numamem
A tests/data/acpi/x86/pc/DSDT.roothp
A tests/data/acpi/x86/pc/ERST.acpierst
A tests/data/acpi/x86/pc/FACP
A tests/data/acpi/x86/pc/FACP.nosmm
A tests/data/acpi/x86/pc/FACS
A tests/data/acpi/x86/pc/HMAT.acpihmat
A tests/data/acpi/x86/pc/HPET
A tests/data/acpi/x86/pc/NFIT.dimmpxm
A tests/data/acpi/x86/pc/SLIT.cphp
A tests/data/acpi/x86/pc/SLIT.memhp
A tests/data/acpi/x86/pc/SRAT.acpihmat
A tests/data/acpi/x86/pc/SRAT.cphp
A tests/data/acpi/x86/pc/SRAT.dimmpxm
A tests/data/acpi/x86/pc/SRAT.memhp
A tests/data/acpi/x86/pc/SRAT.numamem
A tests/data/acpi/x86/pc/SSDT.dimmpxm
A tests/data/acpi/x86/pc/WAET
A tests/data/acpi/x86/q35/APIC
A tests/data/acpi/x86/q35/APIC.acpihmat
A tests/data/acpi/x86/q35/APIC.acpihmat-noinitiator
A tests/data/acpi/x86/q35/APIC.core-count
A tests/data/acpi/x86/q35/APIC.core-count2
A tests/data/acpi/x86/q35/APIC.cphp
A tests/data/acpi/x86/q35/APIC.dimmpxm
A tests/data/acpi/x86/q35/APIC.thread-count
A tests/data/acpi/x86/q35/APIC.thread-count2
A tests/data/acpi/x86/q35/APIC.type4-count
A tests/data/acpi/x86/q35/APIC.xapic
A tests/data/acpi/x86/q35/CEDT.cxl
A tests/data/acpi/x86/q35/DMAR.dmar
A tests/data/acpi/x86/q35/DSDT
A tests/data/acpi/x86/q35/DSDT.acpierst
A tests/data/acpi/x86/q35/DSDT.acpihmat
A tests/data/acpi/x86/q35/DSDT.acpihmat-noinitiator
A tests/data/acpi/x86/q35/DSDT.applesmc
A tests/data/acpi/x86/q35/DSDT.bridge
A tests/data/acpi/x86/q35/DSDT.core-count
A tests/data/acpi/x86/q35/DSDT.core-count2
A tests/data/acpi/x86/q35/DSDT.cphp
A tests/data/acpi/x86/q35/DSDT.cxl
A tests/data/acpi/x86/q35/DSDT.dimmpxm
A tests/data/acpi/x86/q35/DSDT.ipmibt
A tests/data/acpi/x86/q35/DSDT.ipmismbus
A tests/data/acpi/x86/q35/DSDT.ivrs
A tests/data/acpi/x86/q35/DSDT.memhp
A tests/data/acpi/x86/q35/DSDT.mmio64
A tests/data/acpi/x86/q35/DSDT.multi-bridge
A tests/data/acpi/x86/q35/DSDT.noacpihp
A tests/data/acpi/x86/q35/DSDT.nohpet
A tests/data/acpi/x86/q35/DSDT.numamem
A tests/data/acpi/x86/q35/DSDT.pvpanic-isa
A tests/data/acpi/x86/q35/DSDT.thread-count
A tests/data/acpi/x86/q35/DSDT.thread-count2
A tests/data/acpi/x86/q35/DSDT.tis.tpm12
A tests/data/acpi/x86/q35/DSDT.tis.tpm2
A tests/data/acpi/x86/q35/DSDT.type4-count
A tests/data/acpi/x86/q35/DSDT.viot
A tests/data/acpi/x86/q35/DSDT.xapic
A tests/data/acpi/x86/q35/ERST.acpierst
A tests/data/acpi/x86/q35/FACP
A tests/data/acpi/x86/q35/FACP.core-count
A tests/data/acpi/x86/q35/FACP.core-count2
A tests/data/acpi/x86/q35/FACP.nosmm
A tests/data/acpi/x86/q35/FACP.slic
A tests/data/acpi/x86/q35/FACP.thread-count
A tests/data/acpi/x86/q35/FACP.thread-count2
A tests/data/acpi/x86/q35/FACP.type4-count
A tests/data/acpi/x86/q35/FACP.xapic
A tests/data/acpi/x86/q35/FACS
A tests/data/acpi/x86/q35/HMAT.acpihmat
A tests/data/acpi/x86/q35/HMAT.acpihmat-noinitiator
A tests/data/acpi/x86/q35/HPET
A tests/data/acpi/x86/q35/IVRS.ivrs
A tests/data/acpi/x86/q35/MCFG
A tests/data/acpi/x86/q35/NFIT.dimmpxm
A tests/data/acpi/x86/q35/SLIC.slic
A tests/data/acpi/x86/q35/SLIT.cphp
A tests/data/acpi/x86/q35/SLIT.memhp
A tests/data/acpi/x86/q35/SRAT.acpihmat
A tests/data/acpi/x86/q35/SRAT.acpihmat-noinitiator
A tests/data/acpi/x86/q35/SRAT.cphp
A tests/data/acpi/x86/q35/SRAT.dimmpxm
A tests/data/acpi/x86/q35/SRAT.memhp
A tests/data/acpi/x86/q35/SRAT.mmio64
A tests/data/acpi/x86/q35/SRAT.numamem
A tests/data/acpi/x86/q35/SRAT.xapic
A tests/data/acpi/x86/q35/SSDT.dimmpxm
A tests/data/acpi/x86/q35/TCPA.tis.tpm12
A tests/data/acpi/x86/q35/TPM2.tis.tpm2
A tests/data/acpi/x86/q35/VIOT.viot
A tests/data/acpi/x86/q35/WAET
A tests/data/uefi-boot-images/bios-tables-test.riscv64.iso.qcow2
M tests/qtest/bios-tables-test.c
M tests/qtest/meson.build
M tests/qtest/pvpanic-pci-test.c
M tests/qtest/pvpanic-test.c
M tests/qtest/vhost-user-blk-test.c
M tests/qtest/vhost-user-test.c
M tests/uefi-test-tools/Makefile
M tests/uefi-test-tools/UefiTestToolsPkg/UefiTestToolsPkg.dsc
A tests/uefi-test-tools/uefi-test-build.config
M util/vhost-user-server.c
Log Message:
-----------
Merge tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu
into staging
virtio: features,fixes
A bunch of improvements:
- vhost dirty log is now only scanned once, not once per device
- virtio and vhost now support VIRTIO_F_NOTIFICATION_DATA
- cxl gained DCD emulation support
- pvpanic gained shutdown support
- beginning of patchset for Generic Port Affinity Structure
- s3 support
- friendlier error messages when boot fails on some illegal configs
- for vhost-user, VHOST_USER_SET_LOG_BASE is now only sent once
- part of vhost-user support for any POSIX system -
not yet enabled due to qtest failures
- sr-iov VF setup code has been reworked significantly
- new tests, particularly for risc-v ACPI
- bugfixes
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
# -----BEGIN PGP SIGNATURE-----
#
# iQFDBAABCAAtFiEEXQn9CHHI+FuUyooNKB8NuNKNVGkFAmaF068PHG1zdEByZWRo
# YXQuY29tAAoJECgfDbjSjVRp+DMIAMC//mBXIZlPprfhb5cuZklxYi31Acgu5TUr
# njqjCkN+mFhXXZuc3B67xmrQ066IEPtsbzCjSnzuU41YK4tjvO1g+LgYJBv41G16
# va2k8vFM5pdvRA+UC9li1CCIPxiEcszxOdzZemj3szWLVLLUmwsc5OZLWWeFA5m8
# vXrrT9miODUz3z8/Xn/TVpxnmD6glKYIRK/IJRzzC4Qqqwb5H3ji/BJV27cDUtdC
# w6ns5RYIj5j4uAiG8wQNDggA1bMsTxFxThRDUwxlxaIwAcexrf1oRnxGRePA7PVG
# BXrt5yodrZYR2sR6svmOOIF3wPMUDKdlAItTcEgYyxaVo5rAdpc=
# =p9h4
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 03 Jul 2024 03:41:51 PM PDT
# gpg: using RSA key 5D09FD0871C8F85B94CA8A0D281F0DB8D28D5469
# gpg: issuer "mst@redhat.com"
# gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" [undefined]
# gpg: aka "Michael S. Tsirkin <mst@redhat.com>" [undefined]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 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: (85
commits)
hw/pci: Replace -1 with UINT32_MAX for romsize
pcie_sriov: Register VFs after migration
pcie_sriov: Remove num_vfs from PCIESriovPF
pcie_sriov: Release VFs failed to realize
pcie_sriov: Reuse SR-IOV VF device instances
pcie_sriov: Ensure VF function number does not overflow
pcie_sriov: Do not manually unrealize
hw/ppc/spapr_pci: Do not reject VFs created after a PF
hw/ppc/spapr_pci: Do not create DT for disabled PCI device
hw/pci: Rename has_power to enabled
virtio-iommu: Clear IOMMUDevice when VFIO device is unplugged
virtio: remove virtio_tswap16s() call in vring_packed_event_read()
hw/cxl/events: Mark cxl-add-dynamic-capacity and cxl-release-dynamic-capcity
unstable
hw/cxl/events: Improve QMP interfaces and documentation for add/release
dynamic capacity.
tests/data/acpi/rebuild-expected-aml.sh: Add RISC-V
pc-bios/meson.build: Add support for RISC-V in unpack_edk2_blobs
meson.build: Add RISC-V to the edk2-target list
tests/data/acpi/virt: Move ARM64 ACPI tables under aarch64/${machine} path
tests/data/acpi: Move x86 ACPI tables under x86/${machine} path
tests/qtest/bios-tables-test.c: Set "arch" for x86 tests
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Compare: https://github.com/qemu/qemu/compare/7914bda497f0...1406b7fc4bba
To unsubscribe from these emails, change your notification settings at
https://github.com/qemu/qemu/settings/notifications