From f223a90b0cccf38ad7fe34059c893b39c8d6b77a Mon Sep 17 00:00:00 2001 From: Vladimir Sementsov-Ogievskiy Date: Wed, 24 Sep 2025 16:33:08 +0300 Subject: [PATCH 1/7] chardev: remove deprecated 'reconnect' option MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It was deprecated in 9.2, time to remove. Note, that (which become obvious with this commit) we forget to do some checks for reconnect-ms options, for example, it was silently ignored for listening server, instead of error-out. The commit fixes this, as now we use reconnect_ms everywhere. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Daniil Tatianin Reviewed-by: Ján Tomko Reviewed-by: Marc-André Lureau Acked-by: Markus Armbruster Reviewed-by: Michael Tokarev Signed-off-by: Michael Tokarev --- chardev/char-socket.c | 24 +++++------------------- chardev/char.c | 3 --- docs/about/deprecated.rst | 6 ------ docs/about/removed-features.rst | 12 ++++++++++++ qapi/char.json | 14 +------------- 5 files changed, 18 insertions(+), 41 deletions(-) diff --git a/chardev/char-socket.c b/chardev/char-socket.c index cb4ec78ebe..62852e3caf 100644 --- a/chardev/char-socket.c +++ b/chardev/char-socket.c @@ -1296,9 +1296,9 @@ static bool qmp_chardev_validate_socket(ChardevSocket *sock, /* Validate any options which have a dependency on address type */ switch (addr->type) { case SOCKET_ADDRESS_TYPE_FD: - if (sock->has_reconnect) { + if (sock->has_reconnect_ms) { error_setg(errp, - "'reconnect' option is incompatible with " + "'reconnect-ms' option is incompatible with " "'fd' address type"); return false; } @@ -1342,9 +1342,9 @@ static bool qmp_chardev_validate_socket(ChardevSocket *sock, /* Validate any options which have a dependency on client vs server */ if (!sock->has_server || sock->server) { - if (sock->has_reconnect) { + if (sock->has_reconnect_ms) { error_setg(errp, - "'reconnect' option is incompatible with " + "'reconnect-ms' option is incompatible with " "socket in server listen mode"); return false; } @@ -1361,12 +1361,6 @@ static bool qmp_chardev_validate_socket(ChardevSocket *sock, } } - if (sock->has_reconnect_ms && sock->has_reconnect) { - error_setg(errp, - "'reconnect' and 'reconnect-ms' are mutually exclusive"); - return false; - } - return true; } @@ -1384,7 +1378,7 @@ static void qmp_chardev_open_socket(Chardev *chr, bool is_tn3270 = sock->has_tn3270 ? sock->tn3270 : false; bool is_waitconnect = sock->has_wait ? sock->wait : false; bool is_websock = sock->has_websocket ? sock->websocket : false; - int64_t reconnect_ms = 0; + int64_t reconnect_ms = sock->has_reconnect_ms ? sock->reconnect_ms : 0; SocketAddress *addr; s->is_listen = is_listen; @@ -1456,12 +1450,6 @@ static void qmp_chardev_open_socket(Chardev *chr, return; } } else { - if (sock->has_reconnect) { - reconnect_ms = sock->reconnect * 1000ULL; - } else if (sock->has_reconnect_ms) { - reconnect_ms = sock->reconnect_ms; - } - if (qmp_chardev_open_socket_client(chr, reconnect_ms, errp) < 0) { return; } @@ -1526,8 +1514,6 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend, */ sock->has_wait = qemu_opt_find(opts, "wait") || sock->server; sock->wait = qemu_opt_get_bool(opts, "wait", true); - sock->has_reconnect = qemu_opt_find(opts, "reconnect"); - sock->reconnect = qemu_opt_get_number(opts, "reconnect", 0); sock->has_reconnect_ms = qemu_opt_find(opts, "reconnect-ms"); sock->reconnect_ms = qemu_opt_get_number(opts, "reconnect-ms", 0); diff --git a/chardev/char.c b/chardev/char.c index bbebd246c3..a43b7e5481 100644 --- a/chardev/char.c +++ b/chardev/char.c @@ -892,9 +892,6 @@ QemuOptsList qemu_chardev_opts = { },{ .name = "nodelay", .type = QEMU_OPT_BOOL, - },{ - .name = "reconnect", - .type = QEMU_OPT_NUMBER, },{ .name = "reconnect-ms", .type = QEMU_OPT_NUMBER, diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index dacf2882e4..aff3f13163 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -468,12 +468,6 @@ Backend ``memory`` (since 9.0) ``memory`` is a deprecated synonym for ``ringbuf``. -``reconnect`` (since 9.2) -^^^^^^^^^^^^^^^^^^^^^^^^^ - -The ``reconnect`` option only allows specifying second granularity timeouts, -which is not enough for all types of use cases, use ``reconnect-ms`` instead. - Net device options '''''''''''''''''' diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst index 53829f59e6..269f6bb654 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -1367,4 +1367,16 @@ The ``blacklist`` config file option has been renamed to ``block-rpcs`` (to be in sync with the renaming of the corresponding command line option). +Device options +-------------- + +Character device options +'''''''''''''''''''''''' + +``reconnect`` (removed in 10.2) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The ``reconnect`` has been replaced by ``reconnect-ms``, which provides +better precision. + .. _Intel discontinuance notification: https://www.intel.com/content/www/us/en/content-details/781327/intel-is-discontinuing-ip-ordering-codes-listed-in-pdn2312-for-nios-ii-ip.html diff --git a/qapi/char.json b/qapi/char.json index f0a53f742c..b07e3bb827 100644 --- a/qapi/char.json +++ b/qapi/char.json @@ -269,22 +269,11 @@ # @websocket: enable websocket protocol on server sockets # (default: false) (Since: 3.1) # -# @reconnect: For a client socket, if a socket is disconnected, then -# attempt a reconnect after the given number of seconds. Setting -# this to zero disables this function. The use of this member is -# deprecated, use @reconnect-ms instead. (default: 0) (Since: 2.2) -# # @reconnect-ms: For a client socket, if a socket is disconnected, # then attempt a reconnect after the given number of milliseconds. -# Setting this to zero disables this function. This member is -# mutually exclusive with @reconnect. +# Setting this to zero disables this function. # (default: 0) (Since: 9.2) # -# Features: -# -# @deprecated: Member @reconnect is deprecated. Use @reconnect-ms -# instead. -# # Since: 1.4 ## { 'struct': 'ChardevSocket', @@ -297,7 +286,6 @@ '*telnet': 'bool', '*tn3270': 'bool', '*websocket': 'bool', - '*reconnect': { 'type': 'int', 'features': [ 'deprecated' ] }, '*reconnect-ms': 'int' }, 'base': 'ChardevCommon' } From 015051a21cf9b204c7ecd954f0fa8d8885985a5b Mon Sep 17 00:00:00 2001 From: Vladimir Sementsov-Ogievskiy Date: Wed, 24 Sep 2025 16:33:09 +0300 Subject: [PATCH 2/7] net/stream: remove deprecated 'reconnect' option MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It was deprecated in 9.2, time to remove. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Daniil Tatianin Reviewed-by: Ján Tomko Reviewed-by: Marc-André Lureau Acked-by: Markus Armbruster Reviewed-by: Michael Tokarev Signed-off-by: Michael Tokarev --- docs/about/deprecated.rst | 9 --------- docs/about/removed-features.rst | 10 ++++++++++ net/stream.c | 20 +++++--------------- qapi/net.json | 13 +------------ 4 files changed, 16 insertions(+), 36 deletions(-) diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index aff3f13163..bd86c036fb 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -469,15 +469,6 @@ Backend ``memory`` (since 9.0) ``memory`` is a deprecated synonym for ``ringbuf``. -Net device options -'''''''''''''''''' - -Stream ``reconnect`` (since 9.2) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The ``reconnect`` option only allows specifying second granularity timeouts, -which is not enough for all types of use cases, use ``reconnect-ms`` instead. - CPU device properties ''''''''''''''''''''' diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst index 269f6bb654..88ea0dc4ed 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -1379,4 +1379,14 @@ Character device options The ``reconnect`` has been replaced by ``reconnect-ms``, which provides better precision. +Net device options +'''''''''''''''''' + +Stream ``reconnect`` (removed in 10.2) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The ``reconnect`` has been replaced by ``reconnect-ms``, which provides +better precision. + + .. _Intel discontinuance notification: https://www.intel.com/content/www/us/en/content-details/781327/intel-is-discontinuing-ip-ordering-codes-listed-in-pdn2312-for-nios-ii-ip.html diff --git a/net/stream.c b/net/stream.c index 94f823a2a7..ea83f4a763 100644 --- a/net/stream.c +++ b/net/stream.c @@ -274,23 +274,13 @@ int net_init_stream(const Netdev *netdev, const char *name, sock = &netdev->u.stream; if (!sock->has_server || !sock->server) { - uint32_t reconnect_ms = 0; - - if (sock->has_reconnect && sock->has_reconnect_ms) { - error_setg(errp, "'reconnect' and 'reconnect-ms' are mutually " - "exclusive"); - return -1; - } else if (sock->has_reconnect_ms) { - reconnect_ms = sock->reconnect_ms; - } else if (sock->has_reconnect) { - reconnect_ms = sock->reconnect * 1000u; - } - return net_stream_client_init(peer, "stream", name, sock->addr, - reconnect_ms, errp); + sock->has_reconnect_ms ? + sock->reconnect_ms : 0, + errp); } - if (sock->has_reconnect || sock->has_reconnect_ms) { - error_setg(errp, "'reconnect' and 'reconnect-ms' options are " + if (sock->has_reconnect_ms) { + error_setg(errp, "'reconnect-ms' option is " "incompatible with socket in server mode"); return -1; } diff --git a/qapi/net.json b/qapi/net.json index 60d196afe5..7f62f8cc39 100644 --- a/qapi/net.json +++ b/qapi/net.json @@ -770,29 +770,18 @@ # # @server: create server socket (default: false) # -# @reconnect: For a client socket, if a socket is disconnected, then -# attempt a reconnect after the given number of seconds. Setting -# this to zero disables this function. (default: 0) (since 8.0) -# # @reconnect-ms: For a client socket, if a socket is disconnected, then # attempt a reconnect after the given number of milliseconds. Setting -# this to zero disables this function. This member is mutually -# exclusive with @reconnect. (default: 0) (Since: 9.2) +# this to zero disables this function. (default: 0) (Since: 9.2) # # Only `SocketAddress` types 'unix', 'inet' and 'fd' are supported. # -# Features: -# -# @deprecated: Member @reconnect is deprecated. Use @reconnect-ms -# instead. -# # Since: 7.2 ## { 'struct': 'NetdevStreamOptions', 'data': { 'addr': 'SocketAddress', '*server': 'bool', - '*reconnect': { 'type': 'int', 'features': [ 'deprecated' ] }, '*reconnect-ms': 'int' } } ## From 337c7a7ad13c0a0e45b0710d4fb00a87d145be01 Mon Sep 17 00:00:00 2001 From: Nir Lichtman Date: Fri, 15 Aug 2025 09:00:25 +0000 Subject: [PATCH 3/7] docs/system/keys: fix incorrect reset scaling key binding Fix incorrect key binding for resetting the graphical frontends scaling Signed-off-by: Nir Lichtman Fixes: 15421f7113 "ui/sdl2: fix reset scaling binding to be consistent with gtk" Reviewed-by: Thomas Huth Reviewed-by: Michael Tokarev Signed-off-by: Michael Tokarev --- docs/system/keys.rst.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/system/keys.rst.inc b/docs/system/keys.rst.inc index c28ae1a227..3b5307b775 100644 --- a/docs/system/keys.rst.inc +++ b/docs/system/keys.rst.inc @@ -21,7 +21,7 @@ while ``-display sdl,grab-mod=rctrl`` changes it to the right :kbd:`Ctrl` key. * - :kbd:`Ctrl+Alt+-` - Shrink the screen - * - :kbd:`Ctrl+Alt+u` + * - :kbd:`Ctrl+Alt+0` - Restore the screen's un-scaled dimensions * - :kbd:`Ctrl+Alt+n` From 2a5c43fafc668c845647c346be0604bd8792fc3b Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Mon, 27 Oct 2025 11:40:12 +0100 Subject: [PATCH 4/7] tests/functional/i386: Remove unused variable from the replay test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove a left-over from the time when this test was still an avocado-based test. Signed-off-by: Thomas Huth Reviewed-by: Daniel P. Berrangé Reviewed-by: Zhao Liu Reviewed-by: Michael Tokarev Signed-off-by: Michael Tokarev --- tests/functional/i386/test_replay.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/functional/i386/test_replay.py b/tests/functional/i386/test_replay.py index 7c4c2602da..3a92ecde17 100755 --- a/tests/functional/i386/test_replay.py +++ b/tests/functional/i386/test_replay.py @@ -17,7 +17,6 @@ class I386Replay(ReplayKernelBase): def test_pc(self): self.set_machine('pc') - kernel_url = () kernel_path = self.ASSET_KERNEL.fetch() kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=ttyS0' console_pattern = 'VFS: Cannot open root device' From e1be0f37e2eb142e807a99815dc073b2ade72d51 Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Mon, 27 Oct 2025 15:04:20 +0000 Subject: [PATCH 5/7] docs/system/sriov.rst: Fix typo in title Fix a typo in the title of the sriov.rst document. Signed-off-by: Peter Maydell Reviewed-by: Michael Tokarev Signed-off-by: Michael Tokarev --- docs/system/sriov.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/system/sriov.rst b/docs/system/sriov.rst index d12178f3c3..b19e787339 100644 --- a/docs/system/sriov.rst +++ b/docs/system/sriov.rst @@ -1,7 +1,7 @@ .. SPDX-License-Identifier: GPL-2.0-or-later -Compsable SR-IOV device -======================= +Composable SR-IOV device +======================== SR-IOV (Single Root I/O Virtualization) is an optional extended capability of a PCI Express device. It allows a single physical function (PF) to appear as From aba49488cb4fa1c7501a454457c20be73bcba651 Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Mon, 13 Oct 2025 13:11:52 +0200 Subject: [PATCH 6/7] hw/xen: Avoid non-inclusive language in params.h Copy the latest version of Xen's params.h to the QEMU repository: https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=0291089f6ea81690f37035a124d54c51fa7ba097#patch8 With this patch, we get rid of a non-inclusive word in the comment there. Signed-off-by: Thomas Huth Acked-by: Anthony PERARD Signed-off-by: Michael Tokarev --- include/hw/xen/interface/hvm/params.h | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/include/hw/xen/interface/hvm/params.h b/include/hw/xen/interface/hvm/params.h index a22b4ed45d..99c40b4287 100644 --- a/include/hw/xen/interface/hvm/params.h +++ b/include/hw/xen/interface/hvm/params.h @@ -246,16 +246,11 @@ #define HVM_PARAM_VM_GENERATION_ID_ADDR 34 /* - * Set mode for altp2m: - * disabled: don't activate altp2m (default) + * Get mode for altp2m: + * disabled: altp2m not active (default) * mixed: allow access to all altp2m ops for both in-guest and external tools * external: allow access to external privileged tools only * limited: guest only has limited access (ie. control VMFUNC and #VE) - * - * Note that 'mixed' mode has not been evaluated for safety from a - * security perspective. Before using this mode in a - * security-critical environment, each subop should be evaluated for - * safety, with unsafe subops blacklisted in XSM. */ #define HVM_PARAM_ALTP2M 35 #define XEN_ALTP2M_disabled 0 From 7c7089321670fb51022a1c4493cbcc69aa288a0f Mon Sep 17 00:00:00 2001 From: Bastian Blank Date: Tue, 28 Oct 2025 13:16:12 +0100 Subject: [PATCH 7/7] linux-user: Use correct type for FIBMAP and FIGETBSZ emulation Both the FIBMAP and FIGETBSZ ioctl get "int *" (pointer to 32bit integer) as argument, not "long *" as specified in qemu. Using the correct type makes the emulation work in cross endian context. Both ioctl does not seem to be documented. However the kernel implementation has always used "int *". Signed-off-by: Bastian Blank Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3185 Reviewed-by: Peter Maydell Reviewed-by: Helge Deller Reviwed-by: Michael Tokarev Signed-off-by: Michael Tokarev --- linux-user/ioctls.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h index 3b41128fd7..2f62fd2cb9 100644 --- a/linux-user/ioctls.h +++ b/linux-user/ioctls.h @@ -130,7 +130,7 @@ IOCTL(FDTWADDLE, 0, TYPE_NULL) IOCTL(FDEJECT, 0, TYPE_NULL) - IOCTL(FIBMAP, IOC_W | IOC_R, MK_PTR(TYPE_LONG)) + IOCTL(FIBMAP, IOC_W | IOC_R, MK_PTR(TYPE_INT)) #ifdef FICLONE IOCTL(FICLONE, IOC_W, TYPE_INT) IOCTL(FICLONERANGE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_file_clone_range))) @@ -145,7 +145,7 @@ IOCTL(FITRIM, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_fstrim_range))) #endif - IOCTL(FIGETBSZ, IOC_R, MK_PTR(TYPE_LONG)) + IOCTL(FIGETBSZ, IOC_R, MK_PTR(TYPE_INT)) #ifdef CONFIG_FIEMAP IOCTL_SPECIAL(FS_IOC_FIEMAP, IOC_W | IOC_R, do_ioctl_fs_ioc_fiemap, MK_PTR(MK_STRUCT(STRUCT_fiemap)))