[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] e36828: qom: assert integer does not overflow
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] e36828: qom: assert integer does not overflow |
Date: |
Mon, 07 Mar 2022 08:39:45 -0800 |
Branch: refs/heads/staging
Home: https://github.com/qemu/qemu
Commit: e36828787f2c35df64448f4142169ef5e193f5b3
https://github.com/qemu/qemu/commit/e36828787f2c35df64448f4142169ef5e193f5b3
Author: Michael S. Tsirkin <mst@redhat.com>
Date: 2022-03-04 (Fri, 04 Mar 2022)
Changed paths:
M qom/object.c
Log Message:
-----------
qom: assert integer does not overflow
QOM reference counting is not designed with an infinite amount of
references in mind, trying to take a reference in a loop without
dropping a reference will overflow the integer.
It is generally a symptom of a reference leak (a missing deref, commonly
as part of error handling - such as one fixed here:
https://lore.kernel.org/r/20220228095058.27899-1-sgarzare%40redhat.com ).
All this can lead to either freeing the object too early (memory
corruption) or never freeing it (memory leak).
If we happen to dereference at just the right time (when it's wrapping
around to 0), we might eventually assert when dereferencing, but the
real problem is an extra object_ref so let's assert there to make such
issues cleaner and easier to debug.
Some micro-benchmarking shows using fetch and add this is essentially
free on x86.
Since multiple threads could be incrementing in parallel, we assert
around INT_MAX to make sure none of these approach the wrap around
point: this way we get a memory leak and not a memory corruption, the
former is generally easier to debug.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 0ef0506e559612edd10fe45dfd2f349c224601a1
https://github.com/qemu/qemu/commit/0ef0506e559612edd10fe45dfd2f349c224601a1
Author: Eric DeVolder <eric.devolder@oracle.com>
Date: 2022-03-04 (Fri, 04 Mar 2022)
Changed paths:
A docs/specs/acpi_erst.rst
M docs/specs/index.rst
Log Message:
-----------
ACPI ERST: specification for ERST support
Information on the implementation of the ACPI ERST support.
Signed-off-by: Eric DeVolder <eric.devolder@oracle.com>
Acked-by: Ani Sinha <ani@anisinha.ca>
Message-Id: <20220223143322.927136-2-ani@anisinha.ca>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 2a06afec1f72577cfa4509066abf3cc88f22a97d
https://github.com/qemu/qemu/commit/2a06afec1f72577cfa4509066abf3cc88f22a97d
Author: Ani Sinha <ani@anisinha.ca>
Date: 2022-03-04 (Fri, 04 Mar 2022)
Changed paths:
M MAINTAINERS
Log Message:
-----------
MAINTAINERS: no need to add my name explicitly as a reviewer for VIOT tables
I am already listed as a reviewer for ACPI/SMBIOS subsystem. There is no need to
again add me as a reviewer for ACPI/VIOT.
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Ani Sinha <ani@anisinha.ca>
Message-Id: <20220223143322.927136-3-ani@anisinha.ca>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 1665b4d51036b9c92bdd8da507beffb9cc417aa7
https://github.com/qemu/qemu/commit/1665b4d51036b9c92bdd8da507beffb9cc417aa7
Author: Ani Sinha <ani@anisinha.ca>
Date: 2022-03-04 (Fri, 04 Mar 2022)
Changed paths:
M docs/specs/pci-ids.txt
Log Message:
-----------
docs/acpi/erst: add device id for ACPI ERST device in pci-ids.txt
Adding device ID for ERST device in pci-ids.txt. It was missed when ERST
related patches were reviewed.
CC: Eric DeVolder <eric.devolder@oracle.com>
Reviewed-by: Eric DeVolder <eric.devolder@oracle.com>
Signed-off-by: Ani Sinha <ani@anisinha.ca>
Message-Id: <20220223143322.927136-4-ani@anisinha.ca>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: f8bdfbdba9082f20b414fe0b768c4e2882b31059
https://github.com/qemu/qemu/commit/f8bdfbdba9082f20b414fe0b768c4e2882b31059
Author: Ani Sinha <ani@anisinha.ca>
Date: 2022-03-04 (Fri, 04 Mar 2022)
Changed paths:
M hw/acpi/erst.c
Log Message:
-----------
hw/acpi/erst: clean up unused IS_UEFI_CPER_RECORD macro
This change is cosmetic. IS_UEFI_CPER_RECORD macro definition that was added
as a part of the ERST implementation seems to be unused. Remove it.
CC: Eric DeVolder <eric.devolder@oracle.com>
Reviewed-by: Eric DeVolder <eric.devolder@oracle.com>
Signed-off-by: Ani Sinha <ani@anisinha.ca>
Message-Id: <20220223143322.927136-5-ani@anisinha.ca>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 3818acf56480ae07f8801f9255b82fe587ef39c1
https://github.com/qemu/qemu/commit/3818acf56480ae07f8801f9255b82fe587ef39c1
Author: Ani Sinha <ani@anisinha.ca>
Date: 2022-03-04 (Fri, 04 Mar 2022)
Changed paths:
M hw/smbios/smbios.c
Log Message:
-----------
hw/smbios: code cleanup - use macro definitions for table header handles
This is a minor cleanup. Using macro definitions makes the code more
readable. It is at once clear which tables use which handle numbers in their
header. It also makes it easy to calculate the gaps between the numbers and
update them if needed.
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Ani Sinha <ani@anisinha.ca>
Message-Id: <20220223143322.927136-6-ani@anisinha.ca>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Commit: a379d4550c4a949bb1ca51bc5272d68b4a619b18
https://github.com/qemu/qemu/commit/a379d4550c4a949bb1ca51bc5272d68b4a619b18
Author: Ani Sinha <ani@anisinha.ca>
Date: 2022-03-04 (Fri, 04 Mar 2022)
Changed paths:
M hw/smbios/smbios.c
Log Message:
-----------
hw/smbios: fix overlapping table handle numbers with large memory vms
The current smbios table implementation splits the main memory in 16 GiB
(DIMM like) chunks. With the current smbios table assignment code, we can have
only 512 such chunks before the 16 bit handle numbers in the header for tables
17 and 19 conflict. A guest with more than 8 TiB of memory will hit this
limitation and would fail with the following assertion in isa-debugcon:
ASSERT_EFI_ERROR (Status = Already started)
ASSERT
/builddir/build/BUILD/edk2-ca407c7246bf/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.c(125):
!EFI_ERROR (Status)
This change adds an additional offset between tables 17 and 19 handle numbers
when configuring VMs larger than 8 TiB of memory. The value of the offset is
calculated to be equal to the additional space required to be reserved
in order to accomodate more DIMM entries without the table handles colliding.
In normal cases where the VM memory is smaller or equal to 8 TiB, this offset
value is 0. Hence in this case, no additional handle numbers are reserved and
table handle values remain as before.
Since smbios memory is not transmitted over the wire during migration,
this change can break migration for large memory vms if the guest is in the
middle of generating the tables during migration. However, in those
situations, qemu generates invalid table handles anyway with or without this
fix. Hence, we do not preserve the old bug by introducing compat knobs/machine
types.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2023977
Signed-off-by: Ani Sinha <ani@anisinha.ca>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20220223143322.927136-7-ani@anisinha.ca>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 63670bd3fce3d0c033d939d1b2b7a5f6834d0cf3
https://github.com/qemu/qemu/commit/63670bd3fce3d0c033d939d1b2b7a5f6834d0cf3
Author: Ani Sinha <ani@anisinha.ca>
Date: 2022-03-04 (Fri, 04 Mar 2022)
Changed paths:
M hw/smbios/smbios.c
Log Message:
-----------
hw/smbios: add assertion to ensure handles of tables 19 and 32 do not collide
Since change dcf359832eec02 ("hw/smbios: fix table memory corruption with large
memory vms")
we reserve additional space between handle numbers of tables 17 and 19 for
large VMs. This may cause table 19 to collide with table 32 in their handle
numbers for those large VMs. This change adds an assertion to ensure numbers
do not collide. If they do, qemu crashes with useful debug information for
taking additional steps.
Signed-off-by: Ani Sinha <ani@anisinha.ca>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20220223143322.927136-8-ani@anisinha.ca>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: e867144b73b3c5009266b6df07d5ff44acfb82c3
https://github.com/qemu/qemu/commit/e867144b73b3c5009266b6df07d5ff44acfb82c3
Author: Xueming Li <xuemingl@nvidia.com>
Date: 2022-03-04 (Fri, 04 Mar 2022)
Changed paths:
M hw/virtio/vhost-user.c
M include/hw/virtio/vhost-user.h
Log Message:
-----------
vhost-user: remove VirtQ notifier restore
Notifier set when vhost-user backend asks qemu to mmap an FD and
offset. When vhost-user backend restart or getting killed, VQ notifier
FD and mmap addresses become invalid. After backend restart, MR contains
the invalid address will be restored and fail on notifier access.
On the other hand, qemu should munmap the notifier, release underlying
hardware resources to enable backend restart and allocate hardware
notifier resources correctly.
Qemu shouldn't reference and use resources of disconnected backend.
This patch removes VQ notifier restore, uses the default vhost-user
notifier to avoid invalid address access.
After backend restart, the backend should ask qemu to install a hardware
notifier if needed.
Fixes: 44866521bd6e ("vhost-user: support registering external host notifiers")
Cc: qemu-stable@nongnu.org
Signed-off-by: Xueming Li <xuemingl@nvidia.com>
Message-Id: <20220207071929.527149-2-xuemingl@nvidia.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 0b0af4d62f7002b31cd7b2762b26d2fcb76bb2ba
https://github.com/qemu/qemu/commit/0b0af4d62f7002b31cd7b2762b26d2fcb76bb2ba
Author: Xueming Li <xuemingl@nvidia.com>
Date: 2022-03-04 (Fri, 04 Mar 2022)
Changed paths:
M hw/virtio/vhost-user.c
M include/hw/virtio/vhost-user.h
Log Message:
-----------
vhost-user: fix VirtQ notifier cleanup
When vhost-user device cleanup, remove notifier MR and munmaps notifier
address in the event-handling thread, VM CPU thread writing the notifier
in concurrent fails with an error of accessing invalid address. It
happens because MR is still being referenced and accessed in another
thread while the underlying notifier mmap address is being freed and
becomes invalid.
This patch calls RCU and munmap notifiers in the callback after the
memory flatview update finish.
Fixes: 44866521bd6e ("vhost-user: support registering external host notifiers")
Cc: qemu-stable@nongnu.org
Signed-off-by: Xueming Li <xuemingl@nvidia.com>
Message-Id: <20220207071929.527149-3-xuemingl@nvidia.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: e65902a913bf31ba79a83a3bd3621108b85cf645
https://github.com/qemu/qemu/commit/e65902a913bf31ba79a83a3bd3621108b85cf645
Author: Halil Pasic <pasic@linux.ibm.com>
Date: 2022-03-04 (Fri, 04 Mar 2022)
Changed paths:
M hw/virtio/virtio-bus.c
Log Message:
-----------
virtio: fix the condition for iommu_platform not supported
The commit 04ceb61a40 ("virtio: Fail if iommu_platform is requested, but
unsupported") claims to fail the device hotplug when iommu_platform
is requested, but not supported by the (vhost) device. On the first
glance the condition for detecting that situation looks perfect, but
because a certain peculiarity of virtio_platform it ain't.
In fact the aforementioned commit introduces a regression. It breaks
virtio-fs support for Secure Execution, and most likely also for AMD SEV
or any other confidential guest scenario that relies encrypted guest
memory. The same also applies to any other vhost device that does not
support _F_ACCESS_PLATFORM.
The peculiarity is that iommu_platform and _F_ACCESS_PLATFORM collates
"device can not access all of the guest RAM" and "iova != gpa, thus
device needs to translate iova".
Confidential guest technologies currently rely on the device/hypervisor
offering _F_ACCESS_PLATFORM, so that, after the feature has been
negotiated, the guest grants access to the portions of memory the
device needs to see. So in for confidential guests, generally,
_F_ACCESS_PLATFORM is about the restricted access to memory, but not
about the addresses used being something else than guest physical
addresses.
This is the very reason for which commit f7ef7e6e3b ("vhost: correctly
turn on VIRTIO_F_IOMMU_PLATFORM") fences _F_ACCESS_PLATFORM from the
vhost device that does not need it, because on the vhost interface it
only means "I/O address translation is needed".
This patch takes inspiration from f7ef7e6e3b ("vhost: correctly turn on
VIRTIO_F_IOMMU_PLATFORM"), and uses the same condition for detecting the
situation when _F_ACCESS_PLATFORM is requested, but no I/O translation
by the device, and thus no device capability is needed. In this
situation claiming that the device does not support iommu_plattform=on
is counter-productive. So let us stop doing that!
Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
Reported-by: Jakob Naucke <Jakob.Naucke@ibm.com>
Fixes: 04ceb61a40 ("virtio: Fail if iommu_platform is requested, but
unsupported")
Acked-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Tested-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Cc: Kevin Wolf <kwolf@redhat.com>
Cc: qemu-stable@nongnu.org
Message-Id: <20220207112857.607829-1-pasic@linux.ibm.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: 0a24dd1fd50582cfbcac191cd24ccad48f6d2478
https://github.com/qemu/qemu/commit/0a24dd1fd50582cfbcac191cd24ccad48f6d2478
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date: 2022-03-04 (Fri, 04 Mar 2022)
Changed paths:
M hw/virtio/vhost-user-i2c.c
M include/hw/virtio/vhost-user-i2c.h
Log Message:
-----------
hw/vhost-user-i2c: Add support for VIRTIO_I2C_F_ZERO_LENGTH_REQUEST
VIRTIO_I2C_F_ZERO_LENGTH_REQUEST is a mandatory feature, that must be
implemented by everyone. Add its support.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Message-Id:
<fc47ab63b1cd414319c9201e8d6c7705b5ec3bd9.1644490993.git.viresh.kumar@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 98f7607ecda00dea3cbb2ed7b4427c96846efb83
https://github.com/qemu/qemu/commit/98f7607ecda00dea3cbb2ed7b4427c96846efb83
Author: Laurent Vivier <lvivier@redhat.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/virtio/vhost-vdpa.c
Log Message:
-----------
hw/virtio: vdpa: Fix leak of host-notifier memory-region
If call virtio_queue_set_host_notifier_mr fails, should free
host-notifier memory-region.
This problem can trigger a coredump with some vDPA drivers (mlx5,
but not with the vdpasim), if we unplug the virtio-net card from
the guest after a stop/start.
The same fix has been done for vhost-user:
1f89d3b91e3e ("hw/virtio: Fix leak of host-notifier memory-region")
Fixes: d0416d487bd5 ("vhost-vdpa: map virtqueue notification area if possible")
Cc: jasowang@redhat.com
Resolves: https://bugzilla.redhat.com/2027208
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Message-Id: <20220211170259.1388734-1-lvivier@redhat.com>
Cc: qemu-stable@nongnu.org
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: b1f030a0a2e281193b09350c0281c0084e84bcf4
https://github.com/qemu/qemu/commit/b1f030a0a2e281193b09350c0281c0084e84bcf4
Author: Laurent Vivier <lvivier@redhat.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/virtio/vhost-vdpa.c
Log Message:
-----------
vhost-vdpa: make notifiers _init()/_uninit() symmetric
vhost_vdpa_host_notifiers_init() initializes queue notifiers
for queues "dev->vq_index" to queue "dev->vq_index + dev->nvqs",
whereas vhost_vdpa_host_notifiers_uninit() uninitializes the
same notifiers for queue "0" to queue "dev->nvqs".
This asymmetry seems buggy, fix that by using dev->vq_index
as the base for both.
Fixes: d0416d487bd5 ("vhost-vdpa: map virtqueue notification area if possible")
Cc: jasowang@redhat.com
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Message-Id: <20220211161309.1385839-1-lvivier@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: b8ffd7d6713fb2703f4b09cea3e62d1c61767107
https://github.com/qemu/qemu/commit/b8ffd7d6713fb2703f4b09cea3e62d1c61767107
Author: Jason Wang <jasowang@redhat.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/i386/intel_iommu.c
M hw/i386/intel_iommu_internal.h
M include/hw/i386/intel_iommu.h
Log Message:
-----------
intel_iommu: support snoop control
SC is required for some kernel features like vhost-vDPA. So this patch
implements basic SC feature. The idea is pretty simple, for software
emulated DMA it would be always coherent. In this case we can simple
advertise ECAP_SC bit. For VFIO and vhost, thing will be more much
complicated, so this patch simply fail the IOMMU notifier
registration.
In the future, we may want to have a dedicated notifiers flag or
similar mechanism to demonstrate the coherency so VFIO could advertise
that if it has VFIO_DMA_CC_IOMMU, for vhost kernel backend we don't
need that since it's a software backend.
Signed-off-by: Jason Wang <jasowang@redhat.com>
Message-Id: <20220214060346.72455-1-jasowang@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: e5aaeac3554599ad5ca3c8ace38ad5bcd7ae6ff1
https://github.com/qemu/qemu/commit/e5aaeac3554599ad5ca3c8ace38ad5bcd7ae6ff1
Author: Dov Murik <dovmurik@linux.ibm.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/i386/pc_sysfw_ovmf.c
Log Message:
-----------
hw/i386: Improve bounds checking in OVMF table parsing
When pc_system_parse_ovmf_flash() parses the optional GUIDed table in
the end of the OVMF flash memory area, the table length field is checked
for sizes that are too small, but doesn't error on sizes that are too
big (bigger than the flash content itself).
Add a check for maximal size of the OVMF table, and add an error report
in case the size is invalid. In such a case, an error like this will be
displayed during launch:
qemu-system-x86_64: OVMF table has invalid size 4047
and the table parsing is skipped.
Signed-off-by: Dov Murik <dovmurik@linux.ibm.com>
Message-Id: <20220222071906.2632426-2-dovmurik@linux.ibm.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Commit: 9919423516ddf0519df965184e236ba74fa236b1
https://github.com/qemu/qemu/commit/9919423516ddf0519df965184e236ba74fa236b1
Author: Dov Murik <dovmurik@linux.ibm.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/i386/pc_sysfw_ovmf.c
Log Message:
-----------
hw/i386: Replace magic number with field length calculation
Replce the literal magic number 48 with length calculation (32 bytes at
the end of the firmware after the table footer + 16 bytes of the OVMF
table footer GUID).
No functional change intended.
Signed-off-by: Dov Murik <dovmurik@linux.ibm.com>
Message-Id: <20220222071906.2632426-3-dovmurik@linux.ibm.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Commit: 448179e33ea850acaf4bd3c2410acc911080e40b
https://github.com/qemu/qemu/commit/448179e33ea850acaf4bd3c2410acc911080e40b
Author: Jean-Philippe Brucker <jean-philippe@linaro.org>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/virtio/trace-events
M hw/virtio/virtio-iommu.c
M include/hw/virtio/virtio-iommu.h
Log Message:
-----------
virtio-iommu: Default to bypass during boot
Currently the virtio-iommu device must be programmed before it allows
DMA from any PCI device. This can make the VM entirely unusable when a
virtio-iommu driver isn't present, for example in a bootloader that
loads the OS from storage.
Similarly to the other vIOMMU implementations, default to DMA bypassing
the IOMMU during boot. Add a "boot-bypass" property, defaulting to true,
that lets users change this behavior.
Replace the VIRTIO_IOMMU_F_BYPASS feature, which didn't support bypass
before feature negotiation, with VIRTIO_IOMMU_F_BYPASS_CONFIG.
We add the bypass field to the migration stream without introducing
subsections, based on the assumption that this virtio-iommu device isn't
being used in production enough to require cross-version migration at
the moment (all previous version required workarounds since they didn't
support ACPI and boot-bypass).
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Message-Id: <20220214124356.872985-3-jean-philippe@linaro.org>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-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: d9c96f2425f842a1d398b83187b3101b5fa86785
https://github.com/qemu/qemu/commit/d9c96f2425f842a1d398b83187b3101b5fa86785
Author: Jean-Philippe Brucker <jean-philippe@linaro.org>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/virtio/virtio-iommu.c
Log Message:
-----------
virtio-iommu: Support bypass domain
The driver can create a bypass domain by passing the
VIRTIO_IOMMU_ATTACH_F_BYPASS flag on the ATTACH request. Bypass domains
perform slightly better than domains with identity mappings since they
skip translation.
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Message-Id: <20220214124356.872985-4-jean-philippe@linaro.org>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-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: 25a289f4c06a7c3c1645f5c7f2f0db0074122ba9
https://github.com/qemu/qemu/commit/25a289f4c06a7c3c1645f5c7f2f0db0074122ba9
Author: Jean-Philippe Brucker <jean-philippe@linaro.org>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M tests/qtest/virtio-iommu-test.c
Log Message:
-----------
tests/qtest/virtio-iommu-test: Check bypass config
The bypass config field should be initialized to 1 by default.
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Message-Id: <20220214124356.872985-5-jean-philippe@linaro.org>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Commit: f59fb1889f480b0324a7ed0404a68ad5a0ad4f6c
https://github.com/qemu/qemu/commit/f59fb1889f480b0324a7ed0404a68ad5a0ad4f6c
Author: Thomas Huth <thuth@redhat.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M docs/about/deprecated.rst
M hw/i386/pc_piix.c
Log Message:
-----------
hw/i386/pc_piix: Mark the machine types from version 1.4 to 1.7 as deprecated
The list of machine types grows larger and larger each release ... and
it is unlikely that many people still use the very old ones for live
migration. QEMU v1.7 has been released more than 8 years ago, so most
people should have updated their machines to a newer version in those
8 years at least once. Thus let's mark the very old 1.x machine types
as deprecated now.
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20220117191639.278497-1-thuth@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: e609301b458bf6daba478299dc5aea5d1fbaea39
https://github.com/qemu/qemu/commit/e609301b458bf6daba478299dc5aea5d1fbaea39
Author: Jonathan Cameron <jonathan.cameron@huawei.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/pci-bridge/pci_expander_bridge.c
Log Message:
-----------
hw/pci-bridge/pxb: Fix missing swizzle
pxb_map_irq_fn() handled the necessary removal of the swizzle
applied to the PXB interrupts by the bus to which it was attached
but neglected to apply the normal swizzle for PCI root ports
on the expander bridge.
Result of this was on ARM virt, the PME interrupts for a second
RP on a PXB instance were miss-routed to #45 rather than #46.
Tested with a selection of different configurations with 1 to 5
RP per PXB instance. Note on my x86 test setup the PME interrupts
are not triggered so I haven't been able to test this.
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Message-Id: <20220118174855.19325-1-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 0ea5778f066ea5c5e73246a4c11f0773edc4c45d
https://github.com/qemu/qemu/commit/0ea5778f066ea5c5e73246a4c11f0773edc4c45d
Author: Eugenio Pérez <eperezma@redhat.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/net/virtio-net.c
Log Message:
-----------
virtio-net: Unlimit tx queue size if peer is vdpa
The code used to limit the maximum size of tx queue for others backends
than vhost_user since the introduction of configurable tx queue size in
9b02e1618cf2 ("virtio-net: enable configurable tx queue size").
As vhost_user, vhost_vdpa devices should deal with memory region
crosses already, so let's use the full tx size.
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Message-Id: <20220217175029.2517071-1-eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 7c0fa8dff811b5648964630a1334c3bb97e1e1c6
https://github.com/qemu/qemu/commit/7c0fa8dff811b5648964630a1334c3bb97e1e1c6
Author: Knut Omang <knut.omang@oracle.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/pci/meson.build
M hw/pci/pci.c
M hw/pci/pcie.c
A hw/pci/pcie_sriov.c
M hw/pci/trace-events
M include/hw/pci/pci.h
M include/hw/pci/pcie.h
A include/hw/pci/pcie_sriov.h
M include/qemu/typedefs.h
Log Message:
-----------
pcie: Add support for Single Root I/O Virtualization (SR/IOV)
This patch provides the building blocks for creating an SR/IOV
PCIe Extended Capability header and register/unregister
SR/IOV Virtual Functions.
Signed-off-by: Knut Omang <knuto@ifi.uio.no>
Message-Id: <20220217174504.1051716-2-lukasz.maniak@linux.intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 2503461691d3a781d3b9b54697955c3c1873af47
https://github.com/qemu/qemu/commit/2503461691d3a781d3b9b54697955c3c1873af47
Author: Knut Omang <knut.omang@oracle.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
A docs/pcie_sriov.txt
Log Message:
-----------
pcie: Add some SR/IOV API documentation in docs/pcie_sriov.txt
Add a small intro + minimal documentation for how to
implement SR/IOV support for an emulated device.
Signed-off-by: Knut Omang <knuto@ifi.uio.no>
Message-Id: <20220217174504.1051716-3-lukasz.maniak@linux.intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 69387f4915afe4abe61c028cef30f56562d802a4
https://github.com/qemu/qemu/commit/69387f4915afe4abe61c028cef30f56562d802a4
Author: Łukasz Gieryk <lukasz.gieryk@linux.intel.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/pci/pcie_sriov.c
M include/hw/pci/pcie_sriov.h
Log Message:
-----------
pcie: Add a helper to the SR/IOV API
Convenience function for retrieving the PCIDevice object of the N-th VF.
Signed-off-by: Łukasz Gieryk <lukasz.gieryk@linux.intel.com>
Reviewed-by: Knut Omang <knuto@ifi.uio.no>
Message-Id: <20220217174504.1051716-4-lukasz.maniak@linux.intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 67c996c43b401c204774de25aa5fcba4c64ff0e1
https://github.com/qemu/qemu/commit/67c996c43b401c204774de25aa5fcba4c64ff0e1
Author: Łukasz Gieryk <lukasz.gieryk@linux.intel.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M include/hw/pci/pci_regs.h
Log Message:
-----------
pcie: Add 1.2 version token for the Power Management Capability
Signed-off-by: Łukasz Gieryk <lukasz.gieryk@linux.intel.com>
Message-Id: <20220217174504.1051716-5-lukasz.maniak@linux.intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 16ddcbd36c7c3066d28b0f47056175dc83535d40
https://github.com/qemu/qemu/commit/16ddcbd36c7c3066d28b0f47056175dc83535d40
Author: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/pci-bridge/xio3130_upstream.c
Log Message:
-----------
pci-bridge/xio3130_upstream: Fix error handling
Goto label is incorrect so msi cleanup would not occur if there is
an error in the ssvid initialization.
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20220218102303.7061-1-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: a105813ac09f5a83137bbec923ee4805335b7242
https://github.com/qemu/qemu/commit/a105813ac09f5a83137bbec923ee4805335b7242
Author: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/pci-bridge/xio3130_downstream.c
Log Message:
-----------
pci-bridge/xio3130_downstream: Fix error handling
Wrong goto label, so msi cleanup would not occur if there is
an error in the ssvid initialization.
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20220218102303.7061-2-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: fcbd14db633a1b8a6de3cd2802d6d18aebe499f5
https://github.com/qemu/qemu/commit/fcbd14db633a1b8a6de3cd2802d6d18aebe499f5
Author: zhenwei pi <pizhenwei@bytedance.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
A include/standard-headers/linux/pvpanic.h
M scripts/update-linux-headers.sh
Log Message:
-----------
headers: Add pvpanic.h
Since 2020, linux kernel started to export pvpanic.h. Import the
latest version from linux into QEMU.
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
Message-Id: <20220221122717.1371010-1-pizhenwei@bytedance.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Commit: 45d8c0520bd1877d6a34f2c1abaa1df0a9ce9947
https://github.com/qemu/qemu/commit/45d8c0520bd1877d6a34f2c1abaa1df0a9ce9947
Author: zhenwei pi <pizhenwei@bytedance.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
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: Use standard headers instead
QEMU side has already imported pvpanic.h from linux, remove bit
definitions from include/hw/misc/pvpanic.h, and use
include/standard-headers/linux/pvpanic.h instead.
Also minor changes for PVPANIC_CRASHLOADED -> PVPANIC_CRASH_LOADED.
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
Message-Id: <20220221122717.1371010-2-pizhenwei@bytedance.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Commit: ad003b9e6872c67836133066e1dd0f13458a9370
https://github.com/qemu/qemu/commit/ad003b9e6872c67836133066e1dd0f13458a9370
Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/pci/pci.c
Log Message:
-----------
pci: show id info when pci BDF conflict
During qemu init stage, when there is pci BDF conflicts, qemu print
a warning but not showing which device the BDF is occupied by. E.x:
"PCI: slot 2 function 0 not available for virtio-scsi-pci, in use by
virtio-scsi-pci"
To facilitate user knowing the offending device and fixing it, showing
the id info in the warning.
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Message-Id: <20220223094435.64495-1-zhenzhong.duan@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: c41481af9a5d0d463607cc45b45c510875570817
https://github.com/qemu/qemu/commit/c41481af9a5d0d463607cc45b45c510875570817
Author: Igor Mammedov <imammedo@redhat.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/pci-bridge/xio3130_downstream.c
A include/hw/pci-bridge/xio3130_downstream.h
Log Message:
-----------
pci: expose TYPE_XIO3130_DOWNSTREAM name
Type name will be used in followup patch for cast check
in pcihp code.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20220301151200.3507298-2-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 6b0969f1ec825984cd74619f0730be421b0c46fb
https://github.com/qemu/qemu/commit/6b0969f1ec825984cd74619f0730be421b0c46fb
Author: Igor Mammedov <imammedo@redhat.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/acpi/pcihp.c
M hw/pci/pcie.c
M include/hw/pci/pcie.h
Log Message:
-----------
acpi: pcihp: pcie: set power on cap on parent slot
on creation a PCIDevice has power turned on at the end of pci_qdev_realize()
however later on if PCIe slot isn't populated with any children
it's power is turned off. It's fine if native hotplug is used
as plug callback will power slot on among other things.
However when ACPI hotplug is enabled it replaces native PCIe plug
callbacks with ACPI specific ones (acpi_pcihp_device_*plug_cb) and
as result slot stays powered off. It works fine as ACPI hotplug
on guest side takes care of enumerating/initializing hotplugged
device. But when later guest is migrated, call chain introduced by]
commit d5daff7d312 (pcie: implement slot power control for pcie root ports)
pcie_cap_slot_post_load()
-> pcie_cap_update_power()
-> pcie_set_power_device()
-> pci_set_power()
-> pci_update_mappings()
will disable earlier initialized BARs for the hotplugged device
in powered off slot due to commit 23786d13441 (pci: implement power state)
which disables BARs if power is off.
Fix it by setting PCI_EXP_SLTCTL_PCC to PCI_EXP_SLTCTL_PWR_ON
on slot (root port/downstream port) at the time a device
hotplugged into it. As result PCI_EXP_SLTCTL_PWR_ON is migrated
to target and above call chain keeps device plugged into it
powered on.
Fixes: d5daff7d312 ("pcie: implement slot power control for pcie root ports")
Fixes: 23786d13441 ("pci: implement power state")
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2053584
Suggested-by: "Michael S. Tsirkin" <mst@redhat.com>
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20220301151200.3507298-3-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 4ccd5fe22feb95137d325f422016a6473541fe9f
https://github.com/qemu/qemu/commit/4ccd5fe22feb95137d325f422016a6473541fe9f
Author: Joelle van Dyne <j@getutm.app>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/i386/pc.c
M include/hw/i386/pc.h
Log Message:
-----------
pc: add option to disable PS/2 mouse/keyboard
On some older software like Windows 7 installer, having both a PS/2
mouse and USB mouse results in only one device working property (which
might be a different device each boot). While the workaround to not use
a USB mouse with such software is valid, it creates an inconsistent
experience if the user wishes to always use a USB mouse.
This introduces a new machine property to inhibit the creation of the
i8042 PS/2 controller.
Signed-off-by: Joelle van Dyne <j@getutm.app>
Message-Id: <20220227210655.45592-1-j@getutm.app>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 8d1b247f3748ac4078524130c6d7ae42b6140aaf
https://github.com/qemu/qemu/commit/8d1b247f3748ac4078524130c6d7ae42b6140aaf
Author: Stefano Garzarella <sgarzare@redhat.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/virtio/vhost-vsock-common.c
Log Message:
-----------
vhost-vsock: detach the virqueue element in case of error
In vhost_vsock_common_send_transport_reset(), if an element popped from
the virtqueue is invalid, we should call virtqueue_detach_element() to
detach it from the virtqueue before freeing its memory.
Fixes: fc0b9b0e1c ("vhost-vsock: add virtio sockets device")
Fixes: CVE-2022-26354
Cc: qemu-stable@nongnu.org
Reported-by: VictorV <vv474172261@gmail.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20220228095058.27899-1-sgarzare@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: e6895f04c83e898873fa04c6ed87b094542d1a6d
https://github.com/qemu/qemu/commit/e6895f04c83e898873fa04c6ed87b094542d1a6d
Author: Igor Mammedov <imammedo@redhat.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/i386/x86.c
M include/hw/i386/x86.h
Log Message:
-----------
x86: cleanup unused compat_apic_id_mode
commit
f862ddbb1a4 (hw/i386: Remove the deprecated pc-1.x machine types)
removed the last user of broken APIC ID compat knob,
but compat_apic_id_mode itself was forgotten.
Clean it up and simplify x86_cpu_apic_id_from_index()
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20220228131634.3389805-1-imammedo@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: cb5fb04fe6805bafc46534637d701874835315fe
https://github.com/qemu/qemu/commit/cb5fb04fe6805bafc46534637d701874835315fe
Author: Patrick Venture <venture@google.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/smbios/smbios.c
M qemu-options.hx
Log Message:
-----------
hw/smbios: Add table 4 parameter, "processor-id"
This parameter is to be used in the processor_id entry in the type 4
table.
This parameter is set as optional and if left will use the values from
the CPU model.
This enables hiding the host information from the guest and allowing AMD
VMs to run pretending to be Intel for some userspace software concerns.
Reviewed-by: Peter Foley <pefoley@google.com>
Reviewed-by: Titus Rwantare <titusr@google.com>
Signed-off-by: Patrick Venture <venture@google.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20220125163118.1011809-1-venture@google.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 3234b9ffaf2dc108209f975b57297ecae0d4bc5f
https://github.com/qemu/qemu/commit/3234b9ffaf2dc108209f975b57297ecae0d4bc5f
Author: Igor Mammedov <imammedo@redhat.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/i386/pc.c
Log Message:
-----------
pci: drop COMPAT_PROP_PCP for 2.0 machine types
COMPAT_PROP_PCP is 'on' by default and it's used for turning
off PCP capability on PCIe slots for 2.0 machine types using
compat machinery.
Drop not needed compat glue as Q35 supports migration starting
from 2.4 machine types.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20220222102504.3080104-1-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 3bcf0fb3f2b4ab4ceeab488af1a3f7f8b8d70ba4
https://github.com/qemu/qemu/commit/3bcf0fb3f2b4ab4ceeab488af1a3f7f8b8d70ba4
Author: Sergio Lopez <slp@redhat.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M include/qemu/event_notifier.h
M util/event_notifier-posix.c
Log Message:
-----------
event_notifier: add event_notifier_get_wfd()
event_notifier_get_fd(const EventNotifier *e) always returns
EventNotifier's read file descriptor (rfd). This is not a problem when
the EventNotifier is backed by a an eventfd, as a single file
descriptor is used both for reading and triggering events (rfd ==
wfd).
But, when EventNotifier is backed by a pipe pair, we have two file
descriptors, one that can only be used for reads (rfd), and the other
only for writes (wfd).
There's, at least, one known situation in which we need to obtain wfd
instead of rfd, which is when setting up the file that's going to be
sent to the peer in vhost's SET_VRING_CALL.
Add a new event_notifier_get_wfd(const EventNotifier *e) that can be
used to obtain wfd where needed.
Signed-off-by: Sergio Lopez <slp@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20220304100854.14829-2-slp@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: ff5eb77b8af2710acaf5041b117490dd6bedcebd
https://github.com/qemu/qemu/commit/ff5eb77b8af2710acaf5041b117490dd6bedcebd
Author: Sergio Lopez <slp@redhat.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/virtio/vhost.c
Log Message:
-----------
vhost: use wfd on functions setting vring call fd
When ioeventfd is emulated using qemu_pipe(), only EventNotifier's wfd
can be used for writing.
Use the recently introduced event_notifier_get_wfd() function to
obtain the fd that our peer must use to signal the vring.
Signed-off-by: Sergio Lopez <slp@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20220304100854.14829-3-slp@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: eb9baecdb3aef37ef4952bd4014f14c9d057fa18
https://github.com/qemu/qemu/commit/eb9baecdb3aef37ef4952bd4014f14c9d057fa18
Author: Sergio Lopez <slp@redhat.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M configure
M meson.build
Log Message:
-----------
configure, meson: allow enabling vhost-user on all POSIX systems
With the possibility of using a pipe pair via qemu_pipe() as a
replacement on operating systems that doesn't support eventfd,
vhost-user can also work on all POSIX systems.
This change allows enabling vhost-user on all non-Windows platforms
and makes libvhost_user (which still depends on eventfd) a linux-only
feature.
Signed-off-by: Sergio Lopez <slp@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20220304100854.14829-4-slp@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: b51082905faededb32f57e380446e919a42b9017
https://github.com/qemu/qemu/commit/b51082905faededb32f57e380446e919a42b9017
Author: Sergio Lopez <slp@redhat.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M docs/interop/vhost-user.rst
Log Message:
-----------
docs: vhost-user: add subsection for non-Linux platforms
Add a section explaining how vhost-user is supported on platforms
other than Linux.
Signed-off-by: Sergio Lopez <slp@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20220304100854.14829-5-slp@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 43b6277ac2dc2a61acf303d9d515fafb0b876cc1
https://github.com/qemu/qemu/commit/43b6277ac2dc2a61acf303d9d515fafb0b876cc1
Author: Liav Albani <liavalb@gmail.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M tests/qtest/bios-tables-test-allowed-diff.h
Log Message:
-----------
tests/acpi: i386: allow FACP acpi table changes
The FACP table is going to be changed for x86/q35 machines. To be sure
the following changes are not breaking any QEMU test this change follows
step 2 from the bios-tables-test.c guide on changes that affect ACPI
tables.
Signed-off-by: Liav Albani <liavalb@gmail.com>
Acked-by: Ani Sinha <ani@anisinha.ca>
Message-Id: <20220304154032.2071585-2-ani@anisinha.ca>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 5334bf5703408b7948d9fd8bb8a599c97cdc84a3
https://github.com/qemu/qemu/commit/5334bf5703408b7948d9fd8bb8a599c97cdc84a3
Author: Liav Albani <liavalb@gmail.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/acpi/aml-build.c
M hw/i386/acpi-build.c
M include/hw/acpi/acpi-defs.h
M include/hw/input/i8042.h
Log Message:
-----------
hw/acpi: add indication for i8042 in IA-PC boot flags of the FADT table
This can allow the guest OS to determine more easily if i8042 controller
is present in the system or not, so it doesn't need to do probing of the
controller, but just initialize it immediately, before enumerating the
ACPI AML namespace.
The 8042 bit in IAPC_BOOT_ARCH was introduced from ACPI spec v2 (FADT
revision 2 and above). Therefore, in this change, we only enable this bit for
x86/q35 machine types since x86/i440fx machines use FADT ACPI table with
revision 1.
Signed-off-by: Liav Albani <liavalb@gmail.com>
Signed-off-by: Ani Sinha <ani@anisinha.ca>
Message-Id: <20220304154032.2071585-3-ani@anisinha.ca>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 5f051fdb356736465a9c678a5bc9ac117bb9979a
https://github.com/qemu/qemu/commit/5f051fdb356736465a9c678a5bc9ac117bb9979a
Author: Liav Albani <liavalb@gmail.com>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M tests/data/acpi/q35/FACP
M tests/data/acpi/q35/FACP.nosmm
M tests/data/acpi/q35/FACP.slic
M tests/data/acpi/q35/FACP.xapic
M tests/qtest/bios-tables-test-allowed-diff.h
Log Message:
-----------
tests/acpi: i386: update FACP table differences
After changing the IAPC boot flags register to indicate support of i8042
in the machine chipset to help the guest OS to determine its existence
"faster", we need to have the updated FACP ACPI binary images in tree.
The ASL changes introduced are shown by the following diff:
@@ -42,35 +42,35 @@
[059h 0089 1] PM1 Control Block Length : 02
[05Ah 0090 1] PM2 Control Block Length : 00
[05Bh 0091 1] PM Timer Block Length : 04
[05Ch 0092 1] GPE0 Block Length : 10
[05Dh 0093 1] GPE1 Block Length : 00
[05Eh 0094 1] GPE1 Base Offset : 00
[05Fh 0095 1] _CST Support : 00
[060h 0096 2] C2 Latency : 0FFF
[062h 0098 2] C3 Latency : 0FFF
[064h 0100 2] CPU Cache Size : 0000
[066h 0102 2] Cache Flush Stride : 0000
[068h 0104 1] Duty Cycle Offset : 00
[069h 0105 1] Duty Cycle Width : 00
[06Ah 0106 1] RTC Day Alarm Index : 00
[06Bh 0107 1] RTC Month Alarm Index : 00
[06Ch 0108 1] RTC Century Index : 32
-[06Dh 0109 2] Boot Flags (decoded below) : 0000
+[06Dh 0109 2] Boot Flags (decoded below) : 0002
Legacy Devices Supported (V2) : 0
- 8042 Present on ports 60/64 (V2) : 0
+ 8042 Present on ports 60/64 (V2) : 1
VGA Not Present (V4) : 0
MSI Not Supported (V4) : 0
PCIe ASPM Not Supported (V4) : 0
CMOS RTC Not Present (V5) : 0
[06Fh 0111 1] Reserved : 00
[070h 0112 4] Flags (decoded below) : 000084A5
WBINVD instruction is operational (V1) : 1
WBINVD flushes all caches (V1) : 0
All CPUs support C1 (V1) : 1
C2 works on MP system (V1) : 0
Control Method Power Button (V1) : 0
Control Method Sleep Button (V1) : 1
RTC wake not in fixed reg space (V1) : 0
RTC can wake system from S4 (V1) : 1
32-bit PM Timer (V1) : 0
Docking Supported (V1) : 0
Signed-off-by: Liav Albani <liavalb@gmail.com>
Acked-by: Ani Sinha <ani@anisinha.ca>
Message-Id: <20220304154032.2071585-4-ani@anisinha.ca>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 41d137fc631bd9315ff84727d780757d25054c58
https://github.com/qemu/qemu/commit/41d137fc631bd9315ff84727d780757d25054c58
Author: Ani Sinha <ani@anisinha.ca>
Date: 2022-03-06 (Sun, 06 Mar 2022)
Changed paths:
M hw/i386/acpi-microvm.c
Log Message:
-----------
hw/acpi/microvm: turn on 8042 bit in FADT boot architecture flags if present
The second bit of IAPC_BOOT_ARCH in FADT table indicates the presence of
keyboard controller implemented as 8042 or equivalent micro controller. This
change enables this flag for microvms if such a device exists (for example,
when added explicitly from the QEMU commandline). Change
654701e292d98b308b0 ("hw/acpi: add indication for i8042 in IA-PC boot flags of
the FADT table")
enabled this flag for i386 q35 based machines. The reason for doing the same
for micro-vms is to make sure we provide the correct tables to the guest OS
uniformly in all cases when an i8042 device is present. When this bit is not
enabled, guest OSes has to find other indirect methods to detect the device
which we would like to avoid.
Signed-off-by: Ani Sinha <ani@anisinha.ca>
Message-Id: <20220304154032.2071585-5-ani@anisinha.ca>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: b12b36b6e39b49f5c2ed5ec8f788159ab3fb8a23
https://github.com/qemu/qemu/commit/b12b36b6e39b49f5c2ed5ec8f788159ab3fb8a23
Author: Jonah Palmer <jonah.palmer@oracle.com>
Date: 2022-03-07 (Mon, 07 Mar 2022)
Changed paths:
M hw/9pfs/virtio-9p-device.c
M hw/block/vhost-user-blk.c
M hw/block/virtio-blk.c
M hw/char/virtio-serial-bus.c
M hw/display/virtio-gpu-base.c
M hw/input/virtio-input.c
M hw/net/virtio-net.c
M hw/scsi/virtio-scsi.c
M hw/virtio/vhost-user-fs.c
M hw/virtio/vhost-user-i2c.c
M hw/virtio/vhost-user-rng.c
M hw/virtio/vhost-user-vsock.c
M hw/virtio/vhost-vsock-common.c
M hw/virtio/vhost-vsock.c
M hw/virtio/virtio-balloon.c
M hw/virtio/virtio-crypto.c
M hw/virtio/virtio-iommu.c
M hw/virtio/virtio-mem.c
M hw/virtio/virtio-pmem.c
M hw/virtio/virtio-rng.c
M hw/virtio/virtio.c
M include/hw/virtio/vhost-vsock-common.h
M include/hw/virtio/virtio-gpu.h
M include/hw/virtio/virtio.h
Log Message:
-----------
virtio: drop name parameter for virtio_init()
This patch drops the name parameter for the virtio_init function.
The pair between the numeric device ID and the string device ID
(name) of a virtio device already exists, but not in a way that
lets us map between them.
This patch lets us do this and removes the need for the name
parameter in the virtio_init function.
Signed-off-by: Jonah Palmer <jonah.palmer@oracle.com>
Message-Id: <1646658521-31652-2-git-send-email-jonah.palmer@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 765c551817a6af4bcebfe2ac389351f44a7bd480
https://github.com/qemu/qemu/commit/765c551817a6af4bcebfe2ac389351f44a7bd480
Author: Jonah Palmer <jonah.palmer@oracle.com>
Date: 2022-03-07 (Mon, 07 Mar 2022)
Changed paths:
M hw/block/vhost-user-blk.c
M hw/display/vhost-user-gpu.c
M hw/input/vhost-user-input.c
M hw/net/virtio-net.c
M hw/scsi/vhost-scsi.c
M hw/virtio/vhost-user-fs.c
M hw/virtio/vhost-user-rng.c
M hw/virtio/vhost-vsock-common.c
M hw/virtio/vhost.c
M hw/virtio/virtio-crypto.c
M hw/virtio/virtio.c
M include/hw/virtio/virtio.h
Log Message:
-----------
virtio: add vhost support for virtio devices
This patch adds a get_vhost() callback function for VirtIODevices that
returns the device's corresponding vhost_dev structure, if the vhost
device is running. This patch also adds a vhost_started flag for
VirtIODevices.
Previously, a VirtIODevice wouldn't be able to tell if its corresponding
vhost device was active or not.
Signed-off-by: Jonah Palmer <jonah.palmer@oracle.com>
Message-Id: <1646658521-31652-3-git-send-email-jonah.palmer@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: ae0f9863fe098f24d6d84c76963ed1f08466e098
https://github.com/qemu/qemu/commit/ae0f9863fe098f24d6d84c76963ed1f08466e098
Author: Laurent Vivier <lvivier@redhat.com>
Date: 2022-03-07 (Mon, 07 Mar 2022)
Changed paths:
M hw/virtio/meson.build
A hw/virtio/virtio-stub.c
M hw/virtio/virtio.c
M include/hw/virtio/virtio.h
M qapi/meson.build
M qapi/qapi-schema.json
A qapi/virtio.json
M tests/qtest/qmp-cmd-test.c
Log Message:
-----------
qmp: add QMP command x-query-virtio
This new command lists all the instances of VirtIODevices with
their canonical QOM path and name.
[Jonah: @virtio_list duplicates information that already exists in
the QOM composition tree. However, extracting necessary information
from this tree seems to be a bit convoluted.
Instead, we still create our own list of realized virtio devices
but use @qmp_qom_get with the device's canonical QOM path to confirm
that the device exists and is realized. If the device exists but
is actually not realized, then we remove it from our list (for
synchronicity to the QOM composition tree).
Also, the QMP command @x-query-virtio is redundant as @qom-list
and @qom-get are sufficient to search '/machine/' for realized
virtio devices. However, @x-query-virtio is much more convenient
in listing realized virtio devices.]
Signed-off-by: Jonah Palmer <jonah.palmer@oracle.com>
Message-Id: <1646658521-31652-4-git-send-email-jonah.palmer@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 8381eb8c4e21bc09fe99e5ce22cfdf69224da38f
https://github.com/qemu/qemu/commit/8381eb8c4e21bc09fe99e5ce22cfdf69224da38f
Author: Laurent Vivier <lvivier@redhat.com>
Date: 2022-03-07 (Mon, 07 Mar 2022)
Changed paths:
M hw/virtio/virtio-stub.c
M hw/virtio/virtio.c
M qapi/virtio.json
Log Message:
-----------
qmp: add QMP command x-query-virtio-status
This new command shows the status of a VirtIODevice, including
its corresponding vhost device's status (if active).
Next patch will improve output by decoding feature bits, including
vhost device's feature bits (backend, protocol, acked, and features).
Also will decode status bits of a VirtIODevice.
[Jonah: From patch v12; added a check to @virtio_device_find
to ensure synchronicity between @virtio_list and the devices in the QOM
composition tree.]
Signed-off-by: Jonah Palmer <jonah.palmer@oracle.com>
Message-Id: <1646658521-31652-5-git-send-email-jonah.palmer@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 371bfea0fe5b12925117cd3fdc1d397706f88b68
https://github.com/qemu/qemu/commit/371bfea0fe5b12925117cd3fdc1d397706f88b68
Author: Laurent Vivier <lvivier@redhat.com>
Date: 2022-03-07 (Mon, 07 Mar 2022)
Changed paths:
M hw/block/virtio-blk.c
M hw/char/virtio-serial-bus.c
M hw/display/virtio-gpu-base.c
M hw/input/virtio-input.c
M hw/net/virtio-net.c
M hw/scsi/virtio-scsi.c
M hw/virtio/vhost-user-fs.c
M hw/virtio/vhost-vsock-common.c
M hw/virtio/virtio-balloon.c
M hw/virtio/virtio-crypto.c
M hw/virtio/virtio-iommu.c
M hw/virtio/virtio-mem.c
M hw/virtio/virtio.c
M include/hw/virtio/vhost.h
M include/hw/virtio/virtio.h
M qapi/virtio.json
Log Message:
-----------
qmp: decode feature & status bits in virtio-status
Display feature names instead of bitmaps for host, guest, and
backend for VirtIODevices.
Display status names instead of bitmaps for VirtIODevices.
Display feature names instead of bitmaps for backend, protocol,
acked, and features (hdev->features) for vhost devices.
Decode features according to device ID. Decode statuses
according to configuration status bitmap (config_status_map).
Decode vhost user protocol features according to vhost user
protocol bitmap (vhost_user_protocol_map).
Transport features are on the first line. Undecoded bits (if
any) are stored in a separate field.
Signed-off-by: Jonah Palmer <jonah.palmer@oracle.com>
Message-Id: <1646658521-31652-6-git-send-email-jonah.palmer@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: e4331ad9fd5fd61be22a6fcf828b0243f3f6d786
https://github.com/qemu/qemu/commit/e4331ad9fd5fd61be22a6fcf828b0243f3f6d786
Author: Laurent Vivier <lvivier@redhat.com>
Date: 2022-03-07 (Mon, 07 Mar 2022)
Changed paths:
M hw/virtio/virtio-stub.c
M hw/virtio/virtio.c
M qapi/virtio.json
Log Message:
-----------
qmp: add QMP commands for virtio/vhost queue-status
These new commands show the internal status of a VirtIODevice's
VirtQueue and a vhost device's vhost_virtqueue (if active).
Signed-off-by: Jonah Palmer <jonah.palmer@oracle.com>
Message-Id: <1646658521-31652-7-git-send-email-jonah.palmer@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: 2f3c6ca274d4fc1f0f07fc08fbac1bc171a4246b
https://github.com/qemu/qemu/commit/2f3c6ca274d4fc1f0f07fc08fbac1bc171a4246b
Author: Laurent Vivier <lvivier@redhat.com>
Date: 2022-03-07 (Mon, 07 Mar 2022)
Changed paths:
M hw/virtio/virtio-stub.c
M hw/virtio/virtio.c
M qapi/virtio.json
Log Message:
-----------
qmp: add QMP command x-query-virtio-queue-element
This new command shows the information of a VirtQueue element.
[Note: Up until v10 of this patch series, virtio.json had many (15+)
enums defined (e.g. decoded device features, statuses, etc.). In v10
most of these enums were removed and replaced with string literals.
By doing this we get (1) simpler schema, (2) smaller generated code,
and (3) less maintenance burden for when new things are added (e.g.
devices, device features, etc.).]
Signed-off-by: Jonah Palmer <jonah.palmer@oracle.com>
Message-Id: <1646658521-31652-8-git-send-email-jonah.palmer@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: f28d793bc19455bc4fe0a1c637fbe8e3b62c149c
https://github.com/qemu/qemu/commit/f28d793bc19455bc4fe0a1c637fbe8e3b62c149c
Author: Laurent Vivier <lvivier@redhat.com>
Date: 2022-03-07 (Mon, 07 Mar 2022)
Changed paths:
M hmp-commands-info.hx
M include/monitor/hmp.h
M monitor/hmp-cmds.c
Log Message:
-----------
hmp: add virtio commands
This patch implements the HMP versions of the virtio QMP commands.
[Jonah: Fixed virtio hmp command output format (e.g. use PRI types).]
Signed-off-by: Jonah Palmer <jonah.palmer@oracle.com>
Message-Id: <1646658521-31652-9-git-send-email-jonah.palmer@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commit: ec3b823c5cea2b0d991e3851e262e6afc77f1ed9
https://github.com/qemu/qemu/commit/ec3b823c5cea2b0d991e3851e262e6afc77f1ed9
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2022-03-07 (Mon, 07 Mar 2022)
Changed paths:
M MAINTAINERS
M configure
M docs/about/deprecated.rst
M docs/interop/vhost-user.rst
A docs/pcie_sriov.txt
A docs/specs/acpi_erst.rst
M docs/specs/index.rst
M docs/specs/pci-ids.txt
M hmp-commands-info.hx
M hw/9pfs/virtio-9p-device.c
M hw/acpi/aml-build.c
M hw/acpi/erst.c
M hw/acpi/pcihp.c
M hw/block/vhost-user-blk.c
M hw/block/virtio-blk.c
M hw/char/virtio-serial-bus.c
M hw/display/vhost-user-gpu.c
M hw/display/virtio-gpu-base.c
M hw/i386/acpi-build.c
M hw/i386/acpi-microvm.c
M hw/i386/intel_iommu.c
M hw/i386/intel_iommu_internal.h
M hw/i386/pc.c
M hw/i386/pc_piix.c
M hw/i386/x86.c
M hw/input/vhost-user-input.c
M hw/input/virtio-input.c
M hw/misc/pvpanic-isa.c
M hw/misc/pvpanic-pci.c
M hw/misc/pvpanic.c
M hw/net/virtio-net.c
M hw/pci-bridge/pci_expander_bridge.c
M hw/pci-bridge/xio3130_downstream.c
M hw/pci-bridge/xio3130_upstream.c
M hw/pci/meson.build
M hw/pci/pci.c
M hw/pci/pcie.c
A hw/pci/pcie_sriov.c
M hw/pci/trace-events
M hw/scsi/vhost-scsi.c
M hw/scsi/virtio-scsi.c
M hw/smbios/smbios.c
M hw/virtio/meson.build
M hw/virtio/trace-events
M hw/virtio/vhost-user-fs.c
M hw/virtio/vhost-user-i2c.c
M hw/virtio/vhost-user-rng.c
M hw/virtio/vhost-user-vsock.c
M hw/virtio/vhost-user.c
M hw/virtio/vhost-vdpa.c
M hw/virtio/vhost-vsock-common.c
M hw/virtio/vhost-vsock.c
M hw/virtio/vhost.c
M hw/virtio/virtio-balloon.c
M hw/virtio/virtio-bus.c
M hw/virtio/virtio-crypto.c
M hw/virtio/virtio-iommu.c
M hw/virtio/virtio-mem.c
M hw/virtio/virtio-pmem.c
M hw/virtio/virtio-rng.c
A hw/virtio/virtio-stub.c
M hw/virtio/virtio.c
M include/hw/acpi/acpi-defs.h
M include/hw/i386/intel_iommu.h
M include/hw/i386/pc.h
M include/hw/i386/x86.h
M include/hw/input/i8042.h
M include/hw/misc/pvpanic.h
A include/hw/pci-bridge/xio3130_downstream.h
M include/hw/pci/pci.h
M include/hw/pci/pci_regs.h
M include/hw/pci/pcie.h
A include/hw/pci/pcie_sriov.h
M include/hw/virtio/vhost-user-i2c.h
M include/hw/virtio/vhost-user.h
M include/hw/virtio/vhost-vsock-common.h
M include/hw/virtio/vhost.h
M include/hw/virtio/virtio-gpu.h
M include/hw/virtio/virtio-iommu.h
M include/hw/virtio/virtio.h
M include/monitor/hmp.h
M include/qemu/event_notifier.h
M include/qemu/typedefs.h
A include/standard-headers/linux/pvpanic.h
M meson.build
M monitor/hmp-cmds.c
M qapi/meson.build
M qapi/qapi-schema.json
A qapi/virtio.json
M qemu-options.hx
M qom/object.c
M scripts/update-linux-headers.sh
M tests/data/acpi/q35/FACP
M tests/data/acpi/q35/FACP.nosmm
M tests/data/acpi/q35/FACP.slic
M tests/data/acpi/q35/FACP.xapic
M tests/qtest/qmp-cmd-test.c
M tests/qtest/virtio-iommu-test.c
M util/event_notifier-posix.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
virtio,pc,pci: features, cleanups, fixes
vhost-user enabled on non-linux systems
beginning of nvme sriov support
bigger tx queue for vdpa
virtio iommu bypass
FADT flag to detect legacy keyboards
virtio introspection
Fixes, cleanups all over the place
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
# gpg: Signature made Mon 07 Mar 2022 13:46:05 GMT
# gpg: using RSA key 5D09FD0871C8F85B94CA8A0D281F0DB8D28D5469
# gpg: issuer "mst@redhat.com"
# gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" [full]
# gpg: aka "Michael S. Tsirkin <mst@redhat.com>" [full]
# Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE 8E67
# Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D 5469
* remotes/mst/tags/for_upstream: (55 commits)
hmp: add virtio commands
qmp: add QMP command x-query-virtio-queue-element
qmp: add QMP commands for virtio/vhost queue-status
qmp: decode feature & status bits in virtio-status
qmp: add QMP command x-query-virtio-status
qmp: add QMP command x-query-virtio
virtio: add vhost support for virtio devices
virtio: drop name parameter for virtio_init()
hw/acpi/microvm: turn on 8042 bit in FADT boot architecture flags if present
tests/acpi: i386: update FACP table differences
hw/acpi: add indication for i8042 in IA-PC boot flags of the FADT table
tests/acpi: i386: allow FACP acpi table changes
docs: vhost-user: add subsection for non-Linux platforms
configure, meson: allow enabling vhost-user on all POSIX systems
vhost: use wfd on functions setting vring call fd
event_notifier: add event_notifier_get_wfd()
pci: drop COMPAT_PROP_PCP for 2.0 machine types
hw/smbios: Add table 4 parameter, "processor-id"
x86: cleanup unused compat_apic_id_mode
vhost-vsock: detach the virqueue element in case of error
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
# Conflicts:
# docs/specs/index.rst
Compare: https://github.com/qemu/qemu/compare/e1a4bfb18752...ec3b823c5cea