Elizabeth Ashurov
1c90e89e64
qga/vss-win32: Add VSS provider unregistration retry
...
This commit improves the QGA VSS provider installation flow by attempting to unregister the VSS provider if it's already
found during installation. This allows for a retry of installation even if a previous unregistration failed or was not performed.
This will prevent inconsistencies between QGA and QGA-VSS versions.
Before this commit, QGA can use QGA-VSS from the previous installation.
Signed-off-by: Elizabeth Ashurov <eashurov@redhat.com >
Reviewed-by: Kostiantyn Kostiuk <kkostiuk@redhat.com >
Message-ID: <20250618091806.170110-1-eashurov@redhat.com >
Signed-off-by: Kostiantyn Kostiuk <kkostiuk@redhat.com >
2025-06-30 13:17:10 +03:00
Kostiantyn Kostiuk
012bb70cd1
qga-vss: Exit with non-zero code when register fail
...
QGA installer uses rundll32 to run the DLLCOMRegister function
from qga-vss.dll and perform VSS provider registration.
rundll32 ignores the return value of the function and always
exits with a zero exit code. This causes a situation where
the installer does not know the status of VSS provider registration.
This commit forces to change exit code when the VSS provider
registration fails.
https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/rundll32
Reviewed-by: Yan Vugenfirer <yvugenfi@redhat.com >
Tested-by: Dehan Meng <demeng@redhat.com >
Message-ID: <20250620083132.28347-1-kkostiuk@redhat.com >
Signed-off-by: Kostiantyn Kostiuk <kkostiuk@redhat.com >
2025-06-30 13:17:10 +03:00
Kostiantyn Kostiuk
776bd01809
MAINTAINERS: Update Kostiantyn Kostiuk transliteration
...
Reviewed-by: Yan Vugenfirer <yvugenfi@redhat.com >
Message-ID: <20250620102140.38556-1-kkostiuk@redhat.com >
Signed-off-by: Kostiantyn Kostiuk <kkostiuk@redhat.com >
2025-06-30 13:17:10 +03:00
Stefan Hajnoczi
aec6836c73
Merge tag 'pull-vfio-20250626' of https://github.com/legoater/qemu into staging
...
vfio queue:
* Added several small fixes and cleanups
* Added support for vfio-user client device
# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEEoPZlSPBIlev+awtgUaNDx8/77KEFAmhc+mwACgkQUaNDx8/7
# 7KHQShAAwGTjc6yzBaFr9DTKaL6Vszwby5tYdV3vWTsnFj2zBks+5BswohxbnYdk
# Smy5E/F+yCiHI6X4ohI4FRjJgBJplDxZ6bbEgTwZa6ADs7xWAwFWv349KQY9uLpJ
# XV/ACot2b6FZUskv3w1SxQrpzho4ICm3DuLOdAFAvBPRtxyC2aQMLsXTlT+7+5cC
# X8zJB/9mtjWIomYWKRXnYUP/uM1g7QLtyU7d01szvqCfSVUilVlg6Ys7RxnqLG0k
# A1/kxYOrEPHHxMO+YwFuapIfE8Gqihes2K1GfM871JaBT14dMIAZkajmVasbKD16
# Iljz89nEV3UehDP9HADhx3QuXO7fhJ3cxcHvTH0xhUeoks3EgTlUq0VNRRYzu6rQ
# 3P1E3cVaPTmwfoSrhecNIFcln4v/bENdwzYcjh96r9fcFwE+ro4oUTGNKCPYv2t0
# yOoc6PqgiZN7DM89/N2hcesgOun7oOVpMnKhiqHjVe53HoM8bfLojWECKNq9Cz1u
# m0YEHn2gEuEB5l03IguRnAywZq76Jivd6WFmAeXGrHRZ9sfxQCwvImbqMa7QxYpI
# rt+j7RAyP57WVoBPoW8hlaIQmLuIvIgdWwWkwQd2BTIprLpdHJd4SWkL6eqGozpE
# rsaHw+WQZqFoddrl7EUSVY/Z2CfIRr1g/Zo5z4RU9YLtxVxjSPw=
# =sX2P
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 26 Jun 2025 03:44:44 EDT
# gpg: using RSA key A0F66548F04895EBFE6B0B6051A343C7CFFBECA1
# gpg: Good signature from "Cédric Le Goater <clg@redhat.com >" [full]
# gpg: aka "Cédric Le Goater <clg@kaod.org >" [full]
# Primary key fingerprint: A0F6 6548 F048 95EB FE6B 0B60 51A3 43C7 CFFB ECA1
* tag 'pull-vfio-20250626' of https://github.com/legoater/qemu : (25 commits)
vfio-user: introduce vfio-user protocol specification
docs: add vfio-user documentation
vfio-user: add coalesced posted writes
vfio-user: support posted writes
vfio-user: add 'x-msg-timeout' option
vfio-user: implement VFIO_USER_DMA_READ/WRITE
vfio-user: implement VFIO_USER_DMA_MAP/UNMAP
vfio-user: implement VFIO_USER_DEVICE_RESET
vfio-user: set up container access to the proxy
vfio-user: forward MSI-X PBA BAR accesses to server
vfio-user: implement VFIO_USER_DEVICE_GET/SET_IRQ*
vfio-user: set up PCI in vfio_user_pci_realize()
vfio-user: implement VFIO_USER_REGION_READ/WRITE
vfio-user: implement VFIO_USER_DEVICE_GET_REGION_INFO
vfio-user: implement VFIO_USER_DEVICE_GET_INFO
vfio-user: implement message send infrastructure
vfio-user: implement message receive infrastructure
vfio-user: connect vfio proxy to remote server
vfio-user: add vfio-user class and container
vfio/container: fails mdev hotplug if add migration blocker failed
...
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
2025-06-26 10:25:01 -04:00
Stefan Hajnoczi
1721fe75df
Merge tag 'pull-request-2025-06-26' of https://gitlab.com/thuth/qemu into staging
...
* Implement the "Control Program Identification" feature on s390x
* Fix memory leak in loadparm setter on s390x
* Update OpenBSD image to 7.7
* Replace the invalid address of the Free Software Foundation
* Some updates to the MAINTAINERS file
# -----BEGIN PGP SIGNATURE-----
#
# iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmhc3vURHHRodXRoQHJl
# ZGhhdC5jb20ACgkQLtnXdP5wLbWqfg/+KKMEWjE0PLwVNnHRsoQhtbaJNIfHvejo
# pchQLCIhMsakBUX/00xFNnKfxIMOMY06tMvRkg6/lYjEFs1JWSxZZF1DhElgYNDJ
# hOCYV94bW2Xd/xe3QXfJAlf1f2lvAocBe8F1fh7N6mTD0YExXlusvm5ROfEUChlO
# Qt+CkYlKwy2ag8j1tXdfEy9I8Hs71I3DYFUFKLf8Dq7mbsygST2nn40fNAWT8i/H
# u7K7Fna3ybtsz9tkb8HpkGYraIxU7TI9NE+5hd9U5sniduvTNt+9573V29lOOe3o
# ym164pzsVuks2m2jDRdWmBXjk5/aheU7SUTGJgY9uRapBBulDK+bJb02dRfrMNB7
# mYt/bbXkidLQ5e/N4K8xqHjS6rx4cm5T2porf8HzMmPbLzo6TsXWWdGip2qBWd78
# XIXdXeu7AZzKDfbeL58RCuiMJzQOlPquN7OgFERZ3DSvd+gLoRoSrowH7YHdjJl3
# N9ymL7QUgsqfWySwv/0gtbwXsjjev0z7XyJIjG80o1CQhV25hoo78mKm2Q1pBz+k
# aoWKkAlzrLPyjCezA6sWUNxh7DJ9UtN30z4B51sr95PxcLYjJAqOe0ZD+4FZySgH
# 0g0rLs7uZ1hw/LTr/sAQZUfniEiTf8MDXcNNUKd+oeYHAHXat25jWKXu+NObs6rn
# vow7/0ZzV6I=
# =nm/1
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 26 Jun 2025 01:47:33 EDT
# gpg: using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg: issuer "thuth@redhat.com "
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de >" [full]
# gpg: aka "Thomas Huth <thuth@redhat.com >" [full]
# gpg: aka "Thomas Huth <huth@tuxfamily.org >" [full]
# gpg: aka "Thomas Huth <th.huth@posteo.de >" [unknown]
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5
* tag 'pull-request-2025-06-26' of https://gitlab.com/thuth/qemu :
target/i386/emulate: replace FSF postal address with licenses URL
target/xtensa: replace FSF postal address with licenses URL
contrib: replace FSF postal address with licenses URL
scripts: replace FSF postal address with licenses URL
hw: replace FSF postal address with licenses URL
util/rcu.c: replace FSF postal address with licenses URL
include/qemu: replace FSF postal address with licenses URL
include/hw: replace FSF postal address with licenses URL
include/libdecnumber: replace FSF postal address with licenses URL
libdecnumber: replace FSF postal address with licenses URL
COPYING: replace FSF postal address with licenses URL
tests/vm: update openbsd image to 7.7
hw/s390x/ccw-device: Fix memory leak in loadparm setter
MAINTAINERS: add reviewers for some s390 areas
hw/s390x: support migration of CPI data
hw/s390x: add Control-Program Identification to QOM
hw/s390x: add SCLP event type CPI
MAINTAINERS: Yoshinori Sato email address has been updated
tests/functional/test_pc_cpu_hotplug_props: Set 'pc' machine type explicitly
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
2025-06-26 10:24:44 -04:00
Thanos Makatos
da198e8f0f
vfio-user: introduce vfio-user protocol specification
...
This patch introduces the vfio-user protocol specification (formerly
known as VFIO-over-socket), which is designed to allow devices to be
emulated outside QEMU, in a separate process. vfio-user reuses the
existing VFIO defines, structs and concepts.
It has been earlier discussed as an RFC in:
"RFC: use VFIO over a UNIX domain socket to implement device offloading"
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com >
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250625193012.2316242-20-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:38 +02:00
John Levon
c688cc165b
docs: add vfio-user documentation
...
Add some basic documentation on vfio-user usage.
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250625193012.2316242-19-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:38 +02:00
John Levon
1a0c32a9da
vfio-user: add coalesced posted writes
...
Add new message to send multiple writes to server in a single message.
Prevents the outgoing queue from overflowing when a long latency
operation is followed by a series of posted writes.
Originally-by: John Johnson <john.g.johnson@oracle.com >
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250625193012.2316242-18-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:38 +02:00
John Levon
98a906d9e5
vfio-user: support posted writes
...
Support an asynchronous send of a vfio-user socket message (no wait for
a reply) when the write is posted. This is only safe when no regions are
mappable by the VM. Add an option to explicitly disable this as well.
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250625193012.2316242-17-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:38 +02:00
John Levon
3358d926ad
vfio-user: add 'x-msg-timeout' option
...
By default, the vfio-user subsystem will wait 5 seconds for a message
reply from the server. Add an option to allow this to be configurable.
Originally-by: John Johnson <john.g.johnson@oracle.com >
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250625193012.2316242-16-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:38 +02:00
John Levon
c6ac52a4d8
vfio-user: implement VFIO_USER_DMA_READ/WRITE
...
Unlike most other messages, this is a server->client message, for when a
server wants to do "DMA"; this is slow, so normally the server has
memory directly mapped instead.
Originally-by: John Johnson <john.g.johnson@oracle.com >
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250625193012.2316242-15-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:38 +02:00
John Levon
18e899e63d
vfio-user: implement VFIO_USER_DMA_MAP/UNMAP
...
When the vfio-user container gets mapping updates, share them with the
vfio-user by sending a message; this can include the region fd, allowing
the server to directly mmap() the region as needed.
For performance, we only wait for the message responses when we're doing
with a series of updates via the listener_commit() callback.
Originally-by: John Johnson <john.g.johnson@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250625193012.2316242-14-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:38 +02:00
John Levon
0192323581
vfio-user: implement VFIO_USER_DEVICE_RESET
...
Hook this call up to the legacy reset handler for vfio-user-pci.
Originally-by: John Johnson <john.g.johnson@oracle.com >
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250625193012.2316242-13-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:38 +02:00
John Levon
52ce9c35f8
vfio-user: set up container access to the proxy
...
The user container will shortly need access to the underlying vfio-user
proxy; set this up.
Originally-by: John Johnson <john.g.johnson@oracle.com >
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250625193012.2316242-12-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:38 +02:00
John Levon
777e45c7b9
vfio-user: forward MSI-X PBA BAR accesses to server
...
For vfio-user, the server holds the pending IRQ state; set up an I/O
region for the MSI-X PBA so we can ask the server for this state on a
PBA read.
Originally-by: John Johnson <john.g.johnson@oracle.com >
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250625193012.2316242-11-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:38 +02:00
John Levon
ca1add1696
vfio-user: implement VFIO_USER_DEVICE_GET/SET_IRQ*
...
IRQ setup uses the same semantics as the traditional vfio path, but we
need to share the corresponding file descriptors with the server as
necessary.
Originally-by: John Johnson <john.g.johnson@oracle.com >
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250625193012.2316242-10-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:38 +02:00
John Levon
692e0ec50c
vfio-user: set up PCI in vfio_user_pci_realize()
...
Re-use PCI setup functions from hw/vfio/pci.c to realize the vfio-user
PCI device.
Originally-by: John Johnson <john.g.johnson@oracle.com >
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250625193012.2316242-9-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:38 +02:00
John Levon
1ed50fcb6a
vfio-user: implement VFIO_USER_REGION_READ/WRITE
...
Originally-by: John Johnson <john.g.johnson@oracle.com >
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250625193012.2316242-8-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:38 +02:00
John Levon
667866d666
vfio-user: implement VFIO_USER_DEVICE_GET_REGION_INFO
...
Add support for getting region info for vfio-user. As vfio-user has one
fd per region, enable ->use_region_fds.
Originally-by: John Johnson <john.g.johnson@oracle.com >
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250625193012.2316242-7-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:38 +02:00
John Levon
3bdb738b73
vfio-user: implement VFIO_USER_DEVICE_GET_INFO
...
Add support for getting basic device information.
Originally-by: John Johnson <john.g.johnson@oracle.com >
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250625193012.2316242-6-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:38 +02:00
John Levon
36227628d8
vfio-user: implement message send infrastructure
...
Add plumbing for sending vfio-user messages on the control socket.
Add initial version negotation on connection.
Originally-by: John Johnson <john.g.johnson@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250625193012.2316242-5-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:38 +02:00
John Levon
0b3d881a06
vfio-user: implement message receive infrastructure
...
Add the basic implementation for receiving vfio-user messages from the
control socket.
Originally-by: John Johnson <john.g.johnson@oracle.com >
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250625193012.2316242-4-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:38 +02:00
John Levon
438d863f1f
vfio-user: connect vfio proxy to remote server
...
Introduce the vfio-user "proxy": this is the client code responsible for
sending and receiving vfio-user messages across the control socket.
The new files hw/vfio-user/proxy.[ch] contain some basic plumbing for
managing the proxy; initialize the proxy during realization of the
VFIOUserPCIDevice instance.
Originally-by: John Johnson <john.g.johnson@oracle.com >
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250625193012.2316242-3-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:38 +02:00
John Levon
9fca2b7d70
vfio-user: add vfio-user class and container
...
Introduce basic plumbing for vfio-user with CONFIG_VFIO_USER.
We introduce VFIOUserContainer in hw/vfio-user/container.c, which is a
container type for the "IOMMU" type "vfio-iommu-user", and share some
common container code from hw/vfio/container.c.
Add hw/vfio-user/pci.c for instantiating VFIOUserPCIDevice objects,
sharing some common code from hw/vfio/pci.c.
Originally-by: John Johnson <john.g.johnson@oracle.com >
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250625193012.2316242-2-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:38 +02:00
Zhenzhong Duan
c72d6ebaad
vfio/container: fails mdev hotplug if add migration blocker failed
...
It's aggressive to abort a running QEMU process when hotplug a mdev
and it fails migration blocker adding.
Fix by just failing mdev hotplug itself.
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250623102235.94877-3-zhenzhong.duan@intel.com
[ clg: Changed test on value returned by migrate_add_blocker_modes() ]
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:38 +02:00
Zhenzhong Duan
abc6249d42
vfio/container: Fix SIGSEGV when open container file fails
...
When open /dev/vfio/vfio fails, SIGSEGV triggers because
vfio_listener_unregister() doesn't support a NULL bcontainer
pointer.
Fixes: a1f267a7d4 ("vfio/container: reform vfio_container_connect cleanup")
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250623102235.94877-2-zhenzhong.duan@intel.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:37 +02:00
John Levon
eafb408629
vfio: add license tag to some files
...
Add SPDX-License-Identifier to some files missing it in hw/vfio/.
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250623093053.1495509-1-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:37 +02:00
John Levon
8d60d069d7
vfio: add documentation for posted write argument
...
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250616101314.3189793-1-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:37 +02:00
John Levon
b1f521de8b
vfio: add vfio_device_get_region_fd()
...
This keeps the existence of ->region_fds private to hw/vfio/device.c.
Signed-off-by: John Levon <john.levon@nutanix.com >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Link: https://lore.kernel.org/qemu-devel/20250616101337.3190027-1-john.levon@nutanix.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:37 +02:00
Rorie Reyes
639ff87a1a
hw/vfio/ap: attribute constructor for cfg_chg_events_lock
...
Created an attribute constructor for cfg_chg_events_lock for locking
mechanism when storing event information for an AP configuration change
event
Fixes: fd03360215 ("Storing event information for an AP configuration change event")
Signed-off-by: Rorie Reyes <rreyes@linux.ibm.com >
Reviewed-by: Thomas Huth <thuth@redhat.com >
Link: https://lore.kernel.org/qemu-devel/20250611211252.82107-1-rreyes@linux.ibm.com
Signed-off-by: Cédric Le Goater <clg@redhat.com >
2025-06-26 08:55:37 +02:00
Sean Wei
fd68168e0a
target/i386/emulate: replace FSF postal address with licenses URL
...
Some of the LGPLv2.1 boiler-plate still contained the
obsolete "51 Franklin Street" postal address.
Replace it with the canonical GNU licenses URL recommended by the FSF:
https://www.gnu.org/licenses/
Signed-off-by: Sean Wei <me@sean.taipei >
Reviewed-by: Wei Liu <wei.liu@kernel.org >
Message-ID: <20250613.qemu.patch.12@sean.taipei >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2025-06-26 00:42:37 +02:00
Sean Wei
e38bdca0ca
target/xtensa: replace FSF postal address with licenses URL
...
Some of the GPLv2 boiler-plate still contained the
obsolete "51 Franklin Street" postal address.
Replace it with the canonical GNU licenses URL recommended by the FSF:
https://www.gnu.org/licenses/
Signed-off-by: Sean Wei <me@sean.taipei >
Acked-by: Max Filippov <jcmvbkbc@gmail.com >
Message-ID: <20250613.qemu.patch.11@sean.taipei >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2025-06-26 00:42:37 +02:00
Sean Wei
e656492766
contrib: replace FSF postal address with licenses URL
...
The LGPLv2.1 boiler-plate in pdb.c file still contained
the obsolete "51 Franklin Street" postal address.
Replace it with the canonical GNU licenses URL recommended by the FSF:
https://www.gnu.org/licenses/
Signed-off-by: Sean Wei <me@sean.taipei >
Reviewed-by: Akihiko Odaki <odaki@rsg.ci .i.u-tokyo.ac.jp>
Message-ID: <20250613.qemu.patch.10@sean.taipei >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2025-06-26 00:42:37 +02:00
Sean Wei
19f5891f2e
scripts: replace FSF postal address with licenses URL
...
The GPLv2 boiler-plate in scripts/device-crash-test still
contained the obsolete "51 Franklin Street" postal address.
Replace it with the canonical GNU licenses URL recommended by the FSF:
https://www.gnu.org/licenses/
Signed-off-by: Sean Wei <me@sean.taipei >
Reviewed-by: Thomas Huth <thuth@redhat.com >
Message-ID: <20250613.qemu.patch.09@sean.taipei >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2025-06-26 00:42:37 +02:00
Sean Wei
49b91833cc
hw: replace FSF postal address with licenses URL
...
The GPLv2 boiler-plate in vmxnet3.h and vmw_pvscsi.h still
contained the obsolete "51 Franklin Street" postal address.
Replace it with the canonical GNU licenses URL recommended by the FSF:
https://www.gnu.org/licenses/
Signed-off-by: Sean Wei <me@sean.taipei >
Reviewed-by: Thomas Huth <thuth@redhat.com >
Message-ID: <20250613.qemu.patch.08@sean.taipei >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2025-06-26 00:42:37 +02:00
Sean Wei
145c3e54be
util/rcu.c: replace FSF postal address with licenses URL
...
The LGPLv2.1 boiler-plate in util/rcu.c still contained
the obsolete "51 Franklin Street" postal address.
Replace it with the canonical GNU licenses URL recommended by the FSF:
https://www.gnu.org/licenses/
Signed-off-by: Sean Wei <me@sean.taipei >
Reviewed-by: Thomas Huth <thuth@redhat.com >
Message-ID: <20250613.qemu.patch.07@sean.taipei >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2025-06-26 00:42:37 +02:00
Sean Wei
c61b807e62
include/qemu: replace FSF postal address with licenses URL
...
The LGPLv2.1 boiler-plate in rcu.h and rcu_queue.h still
contained the obsolete "51 Franklin Street" postal address.
Replace it with the canonical GNU licenses URL recommended by the FSF:
https://www.gnu.org/licenses/
Signed-off-by: Sean Wei <me@sean.taipei >
Reviewed-by: Thomas Huth <thuth@redhat.com >
Message-ID: <20250613.qemu.patch.06@sean.taipei >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2025-06-26 00:42:37 +02:00
Sean Wei
e5308bc52d
include/hw: replace FSF postal address with licenses URL
...
Some of the GPLv2 boiler-plate still contained the
obsolete "51 Franklin Street" postal address.
Replace it with the canonical GNU licenses URL recommended by the FSF:
https://www.gnu.org/licenses/
Signed-off-by: Sean Wei <me@sean.taipei >
Reviewed-by: Cédric Le Goater <clg@redhat.com >
Message-ID: <20250613.qemu.patch.05@sean.taipei >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2025-06-26 00:42:37 +02:00
Sean Wei
36d7484b0c
include/libdecnumber: replace FSF postal address with licenses URL
...
Some of the GPLv2 boiler-plate still contained the
obsolete "51 Franklin Street" postal address.
Replace it with the canonical GNU licenses URL recommended by the FSF:
https://www.gnu.org/licenses/
Signed-off-by: Sean Wei <me@sean.taipei >
Reviewed-by: Thomas Huth <thuth@redhat.com >
Message-ID: <20250613.qemu.patch.04@sean.taipei >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2025-06-26 00:42:37 +02:00
Sean Wei
cf81c1c6b9
libdecnumber: replace FSF postal address with licenses URL
...
Some of the GPLv2 boiler-plate still contained the
obsolete "51 Franklin Street" postal address.
Replace it with the canonical GNU licenses URL recommended by the FSF:
https://www.gnu.org/licenses/
Signed-off-by: Sean Wei <me@sean.taipei >
Reviewed-by: Thomas Huth <thuth@redhat.com >
Message-ID: <20250613.qemu.patch.03@sean.taipei >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2025-06-26 00:42:37 +02:00
Sean Wei
4db50be038
COPYING: replace FSF postal address with licenses URL
...
The license text in COPYING (GPLv2), COPYING.LIB (LGPLv2.1),
and the linux-headers/LICENSES/preferred/GPL-2.0 file are
referenced to the obsolete FSF postal address.
Replace it with the canonical GNU licenses URL recommended by the FSF:
https://www.gnu.org/licenses/
Signed-off-by: Sean Wei <me@sean.taipei >
Message-ID: <20250613.qemu.patch.01@sean.taipei >
[thuth: dropped the changes to the linux-headers folder]
Signed-off-by: Thomas Huth <thuth@redhat.com >
2025-06-26 00:42:37 +02:00
Haseung Bong
6e7cb5ff20
tests/vm: update openbsd image to 7.7
...
Update tests/vm/openbsd to release 7.7
Signed-off-by: Haseung Bong <hasueng@gmail.com >
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com >
Message-ID: <20250615003249.310160-1-hasueng@gmail.com >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2025-06-26 00:42:37 +02:00
Kevin Wolf
78e3781541
hw/s390x/ccw-device: Fix memory leak in loadparm setter
...
Commit bdf12f2a fixed the setter for the "loadparm" machine property,
which gets a string from a visitor, passes it to s390_ipl_fmt_loadparm()
and then forgot to free it. It left another instance of the same problem
unfixed in the "loadparm" device property. Fix it.
Signed-off-by: Kevin Wolf <kwolf@redhat.com >
Message-ID: <20250625082751.24896-1-kwolf@redhat.com >
Reviewed-by: Eric Farman <farman@linux.ibm.com >
Reviewed-by: Halil Pasic <pasic@linux.ibm.com >
Tested-by: Thomas Huth <thuth@redhat.com >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2025-06-26 00:42:28 +02:00
Matthew Rosato
a96011fefc
MAINTAINERS: add reviewers for some s390 areas
...
To improve review coverage, assign additional people as reviewers for
multiple s390 sections.
Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com >
Acked-by: Jason J. Herne <jjherne@linux.ibm.com >
Acked-by: Collin Walling <walling@linux.ibm.com >
Acked-by: Jared Rossi <jrossi@linux.ibm.com >
Acked-by: Halil Pasic <pasic@linux.ibm.com >
Acked-by: Farhan Ali <alifm@linux.ibm.com >
Acked-by: Zhuoying Cai <zycai@linux.ibm.com >
Acked-by: Eric Farman <farman@linux.ibm.com >
Message-ID: <20250623160030.98281-1-mjrosato@linux.ibm.com >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2025-06-25 17:04:40 +02:00
Shalini Chellathurai Saroja
c61927ba8e
hw/s390x: support migration of CPI data
...
Register Control-Program Identification data with the live
migration infrastructure.
Signed-off-by: Shalini Chellathurai Saroja <shalini@linux.ibm.com >
Reviewed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com >
Reviewed-by: Thomas Huth <thuth@redhat.com >
Message-ID: <20250616140107.990538-4-shalini@linux.ibm.com >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2025-06-25 17:04:40 +02:00
Shalini Chellathurai Saroja
f345978f24
hw/s390x: add Control-Program Identification to QOM
...
Add Control-Program Identification (CPI) data to the QEMU Object
Model (QOM), along with the timestamp in which the data was received
as shown below.
virsh # qemu-monitor-command vm --pretty '{"execute":"qom-list",
"arguments":{"path":"/machine/sclp/s390-sclp-event-facility/sclpcpi"}}'
{
"return": [
[...]
{
"name": "system_level",
"type": "uint64"
},
{
"name": "system_name",
"type": "string"
},
{
"name": "system_type",
"type": "string"
},
{
"name": "timestamp",
"type": "uint64"
},
{
"name": "sysplex_name",
"type": "string"
}
],
"id": "libvirt-14"
}
Example CPI data:
virsh # qemu-monitor-command vm --pretty '{"execute":"qom-get",
"arguments":{"path":"/machine/sclp/s390-sclp-event-facility/sclpcpi",
"property":"system_type"}}'
{
"return": "LINUX ",
"id": "libvirt-18"
}
virsh # qemu-monitor-command vm --pretty '{"execute":"qom-get",
"arguments":{"path":"/machine/sclp/s390-sclp-event-facility/sclpcpi",
"property":"system_name"}}'
{
"return": "TESTVM ",
"id": "libvirt-19"
}
virsh # qemu-monitor-command vm --pretty '{"execute":"qom-get",
"arguments":{"path":"/machine/sclp/s390-sclp-event-facility/sclpcpi",
"property":"sysplex_name"}}'
{
"return": "PLEX ",
"id": "libvirt-20"
}
virsh # qemu-monitor-command vm --pretty '{"execute":"qom-get",
"arguments":{"path":"/machine/sclp/s390-sclp-event-facility/sclpcpi",
"property":"system_level"}}'
{
"return": 74872343805430528,
"id": "libvirt-21"
}
virsh # qemu-monitor-command vm --pretty '{"execute":"qom-get",
"arguments":{"path":"/machine/sclp/s390-sclp-event-facility/sclpcpi",
"property":"timestamp"}}'
{
"return": 1748866753433923000,
"id": "libvirt-22"
}
Signed-off-by: Shalini Chellathurai Saroja <shalini@linux.ibm.com >
Reviewed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com >
Message-ID: <20250616140107.990538-3-shalini@linux.ibm.com >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2025-06-25 17:04:40 +02:00
Shalini Chellathurai Saroja
435c758da1
hw/s390x: add SCLP event type CPI
...
Implement the Service-Call Logical Processor (SCLP) event
type Control-Program Identification (CPI) in QEMU. This
event is used to send CPI identifiers from the guest to the
host. The CPI identifiers are: system type, system name,
system level and sysplex name.
System type: operating system of the guest (e.g. "LINUX ").
System name: user configurable name of the guest (e.g. "TESTVM ").
System level: distribution and kernel version, if the system type is Linux
(e.g. 74872343805430528).
Sysplex name: name of the cluster which the guest belongs to (if any)
(e.g. "PLEX").
The SCLP event CPI is supported only from "s390-ccw-virtio-10.1" machine
and higher.
Signed-off-by: Shalini Chellathurai Saroja <shalini@linux.ibm.com >
Reviewed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com >
Reviewed-by: Thomas Huth <thuth@redhat.com >
Message-ID: <20250616140107.990538-2-shalini@linux.ibm.com >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2025-06-25 17:04:40 +02:00
Yoshinori Sato
920f067347
MAINTAINERS: Yoshinori Sato email address has been updated
...
The email address <ysato@users.sourceforge.jp > has been suspended.
I have prepared a new email address.
Signed-off-by: Yoshinori Sato <yoshinori.sato@nifty.com >
Message-ID: <20250612131632.137155-1-yoshinori.sato@nifty.com >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2025-06-25 17:04:40 +02:00
Thomas Huth
3dc9951906
tests/functional/test_pc_cpu_hotplug_props: Set 'pc' machine type explicitly
...
In case the default machine has not been compiled into the QEMU
binary, the cpu_hotplug_props test is currently failing. Add a
set_machine('pc') here to make sure that the tests are correctly
skipped in case the machine is not available.
Signed-off-by: Thomas Huth <thuth@redhat.com >
Message-ID: <20250606092033.506736-1-thuth@redhat.com >
2025-06-25 16:56:25 +02:00
Stefan Hajnoczi
f9a3def17b
Merge tag 'pull-tcg-20250623' of https://gitlab.com/rth7680/qemu into staging
...
linux-user: fix resource leaks in gen-vdso
tcg: Add ptr+ofs alternatives to some gvec functions
# -----BEGIN PGP SIGNATURE-----
#
# iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmhZ/LMdHHJpY2hhcmQu
# aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV8aCggAtZOamQ0+EMe09u9d
# slaeZDlmxHYfb4RXJQasIBi/uHoWY1bFCEWqLnjU41cpNqI7B3yihbS/YQzyI1i/
# fqjATmuhDzer7rZfdtmRdiLi6kY9SuN9tcSVMVU/kxixByPxdYspQBO8hAAQMM1X
# ZY5MIR/5nEMN/U0QUMuqd3krsxzglGQl9Dn610ddVGfzluSCKLLMS/m92gaJmz0u
# xoLTM29lfdtIA29JPpVY+1X8NJ/vTUeBvy2eXUGHjT11rHsYUzMVGCGbzCLluEzN
# V3L/aSkiwrV+wW5M7R6+hySQl65ZVRV+E9BHuln9aDnG4jdzT3conohg2cY9a5jw
# m3HqnQ==
# =U6ub
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 23 Jun 2025 21:17:39 EDT
# gpg: using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg: issuer "richard.henderson@linaro.org "
# gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org >" [full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A 05C0 64DF 38E8 AF7E 215F
* tag 'pull-tcg-20250623' of https://gitlab.com/rth7680/qemu :
linux-user: fix resource leaks in gen-vdso
linux-user/aarch64: Update hwcap bits from 6.14
tcg: Split out tcg_gen_gvec_dup_imm_var
tcg: Split out tcg_gen_gvec_{add,sub}_var
tcg: Split out tcg_gen_gvec_mov_var
tcg: Split out tcg_gen_gvec_3_var
tcg: Split out tcg_gen_gvec_2_var
tcg: Add base arguments to check_overlap_[234]
tcg: Add dbase argument to expand_clr
tcg: Add dbase argument to do_dup
tcg: Add dbase argument to do_dup_store
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
2025-06-24 10:38:38 -04:00