update to qemu-11.0.1, from Brad (maintainer)

This commit is contained in:
sthen
2026-05-29 15:55:47 +00:00
parent 887206546b
commit 8ef52db105
7 changed files with 23 additions and 149 deletions
+1 -1
View File
@@ -6,7 +6,7 @@ USE_NOBTCFI= Yes
COMMENT-main= multi system emulator
COMMENT-ga= QEMU guest agent
VERSION= 10.2.2
VERSION= 11.0.1
DISTNAME= qemu-${VERSION}
CATEGORIES= emulators
SITES= https://download.qemu.org/
+2 -2
View File
@@ -1,2 +1,2 @@
SHA256 (qemu-10.2.2.tar.xz) = eEspb/KcFBeqcjI6vLLS6pq5dxck9Xfc14XDsE8h4XY=
SIZE (qemu-10.2.2.tar.xz) = 141119364
SHA256 (qemu-11.0.1.tar.xz) = DSNfWCAnjZFKMVXsJ6+OQljWl+qJKJVXCAfWnAy4zWQ=
SIZE (qemu-11.0.1.tar.xz) = 141368572
-121
View File
@@ -1,121 +0,0 @@
- block/nfs: add support for libnfs v6
Index: block/nfs.c
--- block/nfs.c.orig
+++ block/nfs.c
@@ -69,7 +69,9 @@ typedef struct NFSClient {
typedef struct NFSRPC {
BlockDriverState *bs;
int ret;
+#ifndef LIBNFS_API_V2
QEMUIOVector *iov;
+#endif
struct stat *st;
Coroutine *co;
NFSClient *client;
@@ -237,6 +239,7 @@ nfs_co_generic_cb(int ret, struct nfs_context *nfs, vo
NFSRPC *task = private_data;
task->ret = ret;
assert(!task->st);
+#ifndef LIBNFS_API_V2
if (task->ret > 0 && task->iov) {
if (task->ret <= task->iov->size) {
qemu_iovec_from_buf(task->iov, 0, data, task->ret);
@@ -244,6 +247,7 @@ nfs_co_generic_cb(int ret, struct nfs_context *nfs, vo
task->ret = -EIO;
}
}
+#endif
if (task->ret < 0) {
error_report("NFS Error: %s", nfs_get_error(nfs));
}
@@ -266,13 +270,36 @@ static int coroutine_fn nfs_co_preadv(BlockDriverState
{
NFSClient *client = bs->opaque;
NFSRPC task;
+ char *buf = NULL;
+ bool my_buffer = false;
nfs_co_init_task(bs, &task);
- task.iov = iov;
+#ifdef LIBNFS_API_V2
+ if (iov->niov != 1) {
+ buf = g_try_malloc(bytes);
+ if (bytes && buf == NULL) {
+ return -ENOMEM;
+ }
+ my_buffer = true;
+ } else {
+ buf = iov->iov[0].iov_base;
+ }
+#endif
+
WITH_QEMU_LOCK_GUARD(&client->mutex) {
+#ifdef LIBNFS_API_V2
if (nfs_pread_async(client->context, client->fh,
+ buf, bytes, offset,
+ nfs_co_generic_cb, &task) != 0) {
+#else
+ task.iov = iov;
+ if (nfs_pread_async(client->context, client->fh,
offset, bytes, nfs_co_generic_cb, &task) != 0) {
+#endif
+ if (my_buffer) {
+ g_free(buf);
+ }
return -ENOMEM;
}
@@ -280,6 +307,13 @@ static int coroutine_fn nfs_co_preadv(BlockDriverState
}
qemu_coroutine_yield();
+ if (my_buffer) {
+ if (task.ret > 0) {
+ qemu_iovec_from_buf(iov, 0, buf, task.ret);
+ }
+ g_free(buf);
+ }
+
if (task.ret < 0) {
return task.ret;
}
@@ -315,9 +349,15 @@ static int coroutine_fn nfs_co_pwritev(BlockDriverStat
}
WITH_QEMU_LOCK_GUARD(&client->mutex) {
+#ifdef LIBNFS_API_V2
if (nfs_pwrite_async(client->context, client->fh,
+ buf, bytes, offset,
+ nfs_co_generic_cb, &task) != 0) {
+#else
+ if (nfs_pwrite_async(client->context, client->fh,
offset, bytes, buf,
nfs_co_generic_cb, &task) != 0) {
+#endif
if (my_buffer) {
g_free(buf);
}
@@ -856,6 +896,13 @@ static void coroutine_fn nfs_co_invalidate_cache(Block
}
#endif
+static void nfs_refresh_limits(BlockDriverState *bs, Error **errp)
+{
+ NFSClient *client = bs->opaque;
+ bs->bl.max_transfer = MIN((uint32_t)nfs_get_readmax(client->context),
+ (uint32_t)nfs_get_writemax(client->context));
+}
+
static const char *nfs_strong_runtime_opts[] = {
"path",
"user",
@@ -893,6 +940,7 @@ static BlockDriver bdrv_nfs = {
.bdrv_detach_aio_context = nfs_detach_aio_context,
.bdrv_attach_aio_context = nfs_attach_aio_context,
.bdrv_refresh_filename = nfs_refresh_filename,
+ .bdrv_refresh_limits = nfs_refresh_limits,
.bdrv_dirname = nfs_dirname,
.strong_runtime_opts = nfs_strong_runtime_opts,
+2 -12
View File
@@ -1,20 +1,10 @@
- block/nfs: add support for libnfs v6
- localstatedir does not belong under prefix
- remove hardcoding of optimization
Index: meson.build
--- meson.build.orig
+++ meson.build
@@ -1178,7 +1178,7 @@ endif
libnfs = not_found
if not get_option('libnfs').auto() or have_block
- libnfs = dependency('libnfs', version: ['>=1.9.3', '<6.0.0'],
+ libnfs = dependency('libnfs', version: '>=1.9.3',
required: get_option('libnfs'),
method: 'pkg-config')
endif
@@ -2411,7 +2411,7 @@ config_host_data.set('CONFIG_QEMU_FIRMWAREPATH', qemu_
@@ -2406,7 +2406,7 @@ config_host_data.set('CONFIG_QEMU_FIRMWAREPATH', qemu_
config_host_data.set_quoted('CONFIG_QEMU_HELPERDIR', get_option('prefix') / get_option('libexecdir'))
config_host_data.set_quoted('CONFIG_QEMU_ICONDIR', get_option('prefix') / qemu_icondir)
config_host_data.set_quoted('CONFIG_QEMU_LOCALEDIR', get_option('prefix') / get_option('localedir'))
@@ -23,7 +13,7 @@ Index: meson.build
config_host_data.set_quoted('CONFIG_QEMU_MODDIR', get_option('prefix') / qemu_moddir)
config_host_data.set_quoted('CONFIG_SYSCONFDIR', get_option('prefix') / get_option('sysconfdir'))
@@ -4731,9 +4731,6 @@ if have_rust
@@ -4747,9 +4747,6 @@ if have_rust
summary_info += {'bindgen version': bindgen.version()}
endif
option_cflags = (get_option('debug') ? ['-g'] : [])
+2 -2
View File
@@ -3,7 +3,7 @@ Adapted from https://github.com/aborche/qemu-guest-agent
Index: qga/main.c
--- qga/main.c.orig
+++ qga/main.c
@@ -45,7 +45,11 @@
@@ -47,7 +47,11 @@
#else /* CONFIG_BSD */
#define QGA_VIRTIO_PATH_DEFAULT "/dev/virtio-ports/org.qemu.guest_agent.0"
#endif /* CONFIG_BSD */
@@ -15,7 +15,7 @@ Index: qga/main.c
#define QGA_STATE_RELATIVE_DIR "run"
#else
#define QGA_VIRTIO_PATH_DEFAULT "\\\\.\\Global\\org.qemu.guest_agent.0"
@@ -1656,7 +1660,11 @@ int main(int argc, char **argv)
@@ -1690,7 +1694,11 @@ int main(int argc, char **argv)
}
if (config->method == NULL) {
@@ -1,7 +1,7 @@
Index: tests/qtest/meson.build
--- tests/qtest/meson.build.orig
+++ tests/qtest/meson.build
@@ -394,14 +394,6 @@ qtests = {
@@ -405,14 +405,6 @@ qtests = {
'netdev-socket': files('netdev-socket.c', '../unit/socket-helpers.c'),
}
+15 -10
View File
@@ -15,7 +15,6 @@
@bin bin/qemu-system-loongarch64
@bin bin/qemu-system-m68k
@bin bin/qemu-system-microblaze
@bin bin/qemu-system-microblazeel
@bin bin/qemu-system-mips
@bin bin/qemu-system-mips64
@bin bin/qemu-system-mips64el
@@ -143,6 +142,7 @@ share/doc/qemu/devel/migration/qpl-compression.html
share/doc/qemu/devel/migration/uadk-compression.html
share/doc/qemu/devel/migration/vfio.html
share/doc/qemu/devel/migration/virtio.html
share/doc/qemu/devel/migration/xbzrle.html
share/doc/qemu/devel/modules.html
share/doc/qemu/devel/multi-process.html
share/doc/qemu/devel/multi-thread-tcg.html
@@ -231,6 +231,7 @@ share/doc/qemu/specs/edu.html
share/doc/qemu/specs/fsi.html
share/doc/qemu/specs/fw_cfg.html
share/doc/qemu/specs/index.html
share/doc/qemu/specs/iommu-testdev.html
share/doc/qemu/specs/ivshmem-spec.html
share/doc/qemu/specs/pci-ids.html
share/doc/qemu/specs/pci-serial.html
@@ -267,7 +268,6 @@ share/doc/qemu/system/arm/emcraft-sf2.html
share/doc/qemu/system/arm/emulation.html
share/doc/qemu/system/arm/exynos.html
share/doc/qemu/system/arm/fby35.html
share/doc/qemu/system/arm/highbank.html
share/doc/qemu/system/arm/imx25-pdk.html
share/doc/qemu/system/arm/imx8mp-evk.html
share/doc/qemu/system/arm/integratorcp.html
@@ -314,6 +314,9 @@ share/doc/qemu/system/devices/ivshmem.html
share/doc/qemu/system/devices/keyboard.html
share/doc/qemu/system/devices/net.html
share/doc/qemu/system/devices/nvme.html
share/doc/qemu/system/devices/scsi/
share/doc/qemu/system/devices/scsi/index.html
share/doc/qemu/system/devices/scsi/migrate-pr.html
share/doc/qemu/system/devices/usb-u2f.html
share/doc/qemu/system/devices/usb.html
share/doc/qemu/system/devices/vfio-user.html
@@ -352,11 +355,12 @@ share/doc/qemu/system/managed-startup.html
share/doc/qemu/system/monitor.html
share/doc/qemu/system/multi-process.html
share/doc/qemu/system/mux-chardev.html
share/doc/qemu/system/openrisc/
share/doc/qemu/system/openrisc/cpu-features.html
share/doc/qemu/system/openrisc/emulation.html
share/doc/qemu/system/openrisc/or1k-sim.html
share/doc/qemu/system/openrisc/virt.html
share/doc/qemu/system/nitro.html
share/doc/qemu/system/or1k/
share/doc/qemu/system/or1k/cpu-features.html
share/doc/qemu/system/or1k/emulation.html
share/doc/qemu/system/or1k/or1k-sim.html
share/doc/qemu/system/or1k/virt.html
share/doc/qemu/system/ppc/
share/doc/qemu/system/ppc/amigang.html
share/doc/qemu/system/ppc/embedded.html
@@ -367,12 +371,14 @@ share/doc/qemu/system/ppc/prep.html
share/doc/qemu/system/ppc/pseries.html
share/doc/qemu/system/pr-manager.html
share/doc/qemu/system/qemu-block-drivers.html
share/doc/qemu/system/qemu-colo.html
share/doc/qemu/system/qemu-cpu-models.html
share/doc/qemu/system/qemu-manpage.html
share/doc/qemu/system/replay.html
share/doc/qemu/system/riscv/
share/doc/qemu/system/riscv/microblaze-v-generic.html
share/doc/qemu/system/riscv/microchip-icicle-kit.html
share/doc/qemu/system/riscv/mips.html
share/doc/qemu/system/riscv/shakti-c.html
share/doc/qemu/system/riscv/sifive_u.html
share/doc/qemu/system/riscv/virt.html
@@ -395,7 +401,7 @@ share/doc/qemu/system/target-i386.html
share/doc/qemu/system/target-loongarch.html
share/doc/qemu/system/target-m68k.html
share/doc/qemu/system/target-mips.html
share/doc/qemu/system/target-openrisc.html
share/doc/qemu/system/target-or1k.html
share/doc/qemu/system/target-ppc.html
share/doc/qemu/system/target-riscv.html
share/doc/qemu/system/target-rx.html
@@ -408,6 +414,7 @@ share/doc/qemu/system/tls.html
share/doc/qemu/system/virtio-net-failover.html
share/doc/qemu/system/vm-templating.html
share/doc/qemu/system/vnc-security.html
share/doc/qemu/system/whpx.html
share/doc/qemu/tools/
share/doc/qemu/tools/index.html
share/doc/qemu/tools/qemu-img.html
@@ -532,9 +539,7 @@ share/qemu/keymaps/sv
share/qemu/keymaps/th
share/qemu/keymaps/tr
share/qemu/kvmvapic.bin
share/qemu/linuxboot.bin
share/qemu/linuxboot_dma.bin
share/qemu/multiboot.bin
share/qemu/multiboot_dma.bin
share/qemu/npcm7xx_bootrom.bin
share/qemu/npcm8xx_bootrom.bin