mirror of
https://github.com/qemu/qemu.git
synced 2026-07-08 17:46:17 +00:00
Merge tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu into staging
pci, vhost, virtio, iommu: features, fixes, cleanups
intel_iommu:
PASID support for passthrough
some properties renamed
virtio-rtc:
new device
acpi:
watchdog (x86 q35)
COM irqs are now shared
vhost-user:
vhost-user passes GPA not HVA now
vhost SHMEM_MAP/UNMAP support
vhost-vdpa:
svq IN_ORDER support
amd_iommu:
IOMMU XT interrupt support
command buffer fixes
cxl:
PPR support
performant path for non-interleaved cases
vhost-scsi:
build fix for older kernel headers
fixes, cleanups all over the place
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
# -----BEGIN PGP SIGNATURE-----
#
# iQFDBAABCgAtFiEEXQn9CHHI+FuUyooNKB8NuNKNVGkFAmowWT0PHG1zdEByZWRo
# YXQuY29tAAoJECgfDbjSjVRpCHUH+QGGh1U4mM/u5tsPx2w7Bpyut/Fqv4W5YkuX
# XgcbOulZ9DLd6jKOt4na0AsXNvX90fMXvbj+tuDZ3lLKdRzEhmE6HPPQbKvQjzIK
# Ag2vXQqTOagdBLbViRpI2Vnt09Cie6B0kRYz+GhbG8EZxgFcOdydWUwVeLXyCLSW
# hA6IWhBMNxExeWsXiZwFZTv38eJi+s/BEpuIEAdwv4TqBPOq4yjxQScAoCceGDLJ
# jyTmU9dTfwx21K/0Ivp68ANLMnDPr+83yY+8zuLmvT0Tq7H9/blgqkD/TpFd19BM
# 0W3ep/xk1ZJR6Vd+73+pWTbQOEM+qjlHb1WM0lF/ZePOArIq+aQ=
# =AVMI
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 15 Jun 2026 15:57:49 EDT
# gpg: using RSA key 5D09FD0871C8F85B94CA8A0D281F0DB8D28D5469
# gpg: issuer "mst@redhat.com"
# gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" [full]
# gpg: aka "Michael S. Tsirkin <mst@redhat.com>" [full]
# Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE 8E67
# Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D 5469
* tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu: (106 commits)
hw/scsi/vhost-scsi: fix build with older kernel headers
tests/qtest: add 8-byte MMIO access sweep for intel-iommu
intel_iommu: fix guest-triggerable abort on oversized MMIO access
hw/cxl: Add a performant (and correct) path for the non interleaved cases
hw/cxl: Allow cxl_cfmws_find_device() to filter on whether interleaved paths are accepted
hw/cxl/events: Fix handling of component ID in event records generation to not assume it is a string
hw/cxl: Add fixes in Post Package Repair (PPR)
hw/cxl: Fix handling of component ID to not assume it is a string
vhost-user.rst: fix typo
vhost-user-device: Add shared memory BAR
qmp: add shmem feature map
vhost_user.rst: Add GET_SHMEM_CONFIG message
vhost_user: Add frontend get_shmem_config command
vhost_user.rst: Add SHMEM_MAP/_UNMAP to spec
vhost_user.rst: Align VhostUserMsg excerpt members
vhost-user: Add VirtIO Shared Memory map request
tests: acpi: x86/q35: update expected WDAT blob
tests: acpi: x86/q35: add WDAT table test case
tests: acpi: x86/q35: whitelist new WDAT table
x86: q35: generate WDAT ACPI table
...
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
@@ -60,7 +60,6 @@ cryptodev_vhost_init(
|
||||
|
||||
crypto->cc = options->cc;
|
||||
|
||||
crypto->dev.protocol_features = 0;
|
||||
crypto->backend = -1;
|
||||
|
||||
/* vhost-user needs vq_index to initiate a specific queue pair */
|
||||
@@ -152,7 +151,6 @@ vhost_set_vring_enable(CryptoDevBackendClient *cc,
|
||||
{
|
||||
CryptoDevBackendVhost *crypto =
|
||||
cryptodev_get_vhost(cc, b, queue);
|
||||
const VhostOps *vhost_ops;
|
||||
|
||||
cc->vring_enable = enable;
|
||||
|
||||
@@ -160,12 +158,7 @@ vhost_set_vring_enable(CryptoDevBackendClient *cc,
|
||||
return 0;
|
||||
}
|
||||
|
||||
vhost_ops = crypto->dev.vhost_ops;
|
||||
if (vhost_ops->vhost_set_vring_enable) {
|
||||
return vhost_ops->vhost_set_vring_enable(&crypto->dev, enable);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return vhost_dev_set_vring_enable(&crypto->dev, enable);
|
||||
}
|
||||
|
||||
int cryptodev_vhost_start(VirtIODevice *dev, int total_queues)
|
||||
|
||||
@@ -539,23 +539,24 @@ bool iommufd_backend_alloc_veventq(IOMMUFDBackend *be, uint32_t viommu_id,
|
||||
}
|
||||
|
||||
bool host_iommu_device_iommufd_attach_hwpt(HostIOMMUDeviceIOMMUFD *hiodi,
|
||||
uint32_t hwpt_id, Error **errp)
|
||||
{
|
||||
HostIOMMUDeviceIOMMUFDClass *hiodic =
|
||||
HOST_IOMMU_DEVICE_IOMMUFD_GET_CLASS(hiodi);
|
||||
|
||||
g_assert(hiodic->attach_hwpt);
|
||||
return hiodic->attach_hwpt(hiodi, hwpt_id, errp);
|
||||
}
|
||||
|
||||
bool host_iommu_device_iommufd_detach_hwpt(HostIOMMUDeviceIOMMUFD *hiodi,
|
||||
uint32_t pasid, uint32_t hwpt_id,
|
||||
Error **errp)
|
||||
{
|
||||
HostIOMMUDeviceIOMMUFDClass *hiodic =
|
||||
HOST_IOMMU_DEVICE_IOMMUFD_GET_CLASS(hiodi);
|
||||
|
||||
g_assert(hiodic->attach_hwpt);
|
||||
return hiodic->attach_hwpt(hiodi, pasid, hwpt_id, errp);
|
||||
}
|
||||
|
||||
bool host_iommu_device_iommufd_detach_hwpt(HostIOMMUDeviceIOMMUFD *hiodi,
|
||||
uint32_t pasid, Error **errp)
|
||||
{
|
||||
HostIOMMUDeviceIOMMUFDClass *hiodic =
|
||||
HOST_IOMMU_DEVICE_IOMMUFD_GET_CLASS(hiodi);
|
||||
|
||||
g_assert(hiodic->detach_hwpt);
|
||||
return hiodic->detach_hwpt(hiodi, errp);
|
||||
return hiodic->detach_hwpt(hiodi, pasid, errp);
|
||||
}
|
||||
|
||||
static int hiod_iommufd_get_cap(HostIOMMUDevice *hiod, int cap, Error **errp)
|
||||
|
||||
@@ -102,7 +102,7 @@ vhost_user_backend_stop(VhostUserBackend *b)
|
||||
{
|
||||
BusState *qbus = BUS(qdev_get_parent_bus(DEVICE(b->vdev)));
|
||||
VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(qbus);
|
||||
int ret;
|
||||
int ret, err;
|
||||
|
||||
if (!b->started) {
|
||||
return 0;
|
||||
@@ -111,9 +111,9 @@ vhost_user_backend_stop(VhostUserBackend *b)
|
||||
ret = vhost_dev_stop(&b->dev, b->vdev, true);
|
||||
|
||||
if (k->set_guest_notifiers &&
|
||||
k->set_guest_notifiers(qbus->parent, b->dev.nvqs, false) < 0) {
|
||||
error_report("vhost guest notifier cleanup failed: %d", ret);
|
||||
return -1;
|
||||
(err = k->set_guest_notifiers(qbus->parent, b->dev.nvqs, false)) < 0) {
|
||||
error_report("vhost guest notifier cleanup failed: %d", err);
|
||||
return err;
|
||||
}
|
||||
|
||||
vhost_dev_disable_notifiers(&b->dev, b->vdev);
|
||||
|
||||
Reference in New Issue
Block a user