From: Brad Smith Subject: UPDATE: QEMU 10.0.2 To: ports@openbsd.org Date: Wed, 9 Jul 2025 14:53:00 -0400 Here is an update to QEMU 10.0.2. https://wiki.qemu.org/ChangeLog/10.0 Tested on aarch64. Index: Makefile =================================================================== RCS file: /cvs/ports/emulators/qemu/Makefile,v retrieving revision 1.254 diff -u -p -u -p -r1.254 Makefile --- Makefile 31 May 2025 09:48:22 -0000 1.254 +++ Makefile 28 Jun 2025 22:05:32 -0000 @@ -6,13 +6,11 @@ USE_NOBTCFI= Yes COMMENT-main= multi system emulator COMMENT-ga= QEMU guest agent -VERSION= 9.2.2 +VERSION= 10.0.2 DISTNAME= qemu-${VERSION} CATEGORIES= emulators SITES= https://download.qemu.org/ EXTRACT_SUFX= .tar.xz - -REVISION-main= 0 HOMEPAGE= https://www.qemu.org/ Index: distinfo =================================================================== RCS file: /cvs/ports/emulators/qemu/distinfo,v retrieving revision 1.82 diff -u -p -u -p -r1.82 distinfo --- distinfo 27 Feb 2025 19:41:15 -0000 1.82 +++ distinfo 28 Jun 2025 22:05:32 -0000 @@ -1,2 +1,2 @@ -SHA256 (qemu-9.2.2.tar.xz) = dS6u63cpI6c9U2sjHgW8wJybH1FpCkGtmXPZAOTsn78= -SIZE (qemu-9.2.2.tar.xz) = 134756816 +SHA256 (qemu-10.0.2.tar.xz) = 73hvI5jLUYRgD2mu9NXWke/URXajz/QSbTjUxv7Id1k= +SIZE (qemu-10.0.2.tar.xz) = 135678180 Index: patches/patch-block_nfs_c =================================================================== RCS file: patches/patch-block_nfs_c diff -N patches/patch-block_nfs_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-block_nfs_c 28 Jun 2025 22:05:32 -0000 @@ -0,0 +1,35 @@ +- support for libnfs API v2 + +Index: block/nfs.c +--- block/nfs.c.orig ++++ block/nfs.c +@@ -271,8 +271,13 @@ static int coroutine_fn nfs_co_preadv(BlockDriverState + task.iov = iov; + + WITH_QEMU_LOCK_GUARD(&client->mutex) { ++#ifdef LIBNFS_API_V2 + if (nfs_pread_async(client->context, client->fh, ++ NULL, bytes, offset, nfs_co_generic_cb, &task) != 0) { ++#else ++ if (nfs_pread_async(client->context, client->fh, + offset, bytes, nfs_co_generic_cb, &task) != 0) { ++#endif + return -ENOMEM; + } + +@@ -317,9 +322,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); + } Index: patches/patch-meson_build =================================================================== RCS file: /cvs/ports/emulators/qemu/patches/patch-meson_build,v retrieving revision 1.17 diff -u -p -u -p -r1.17 patch-meson_build --- patches/patch-meson_build 27 Feb 2025 19:41:15 -0000 1.17 +++ patches/patch-meson_build 28 Jun 2025 22:05:32 -0000 @@ -1,11 +1,12 @@ - revert retguard bug workaround +- support for libnfs API v2 - localstatedir does not belong under prefix -- Remove hardcoding of optimization +- remove hardcoding of optimization Index: meson.build --- meson.build.orig +++ meson.build -@@ -673,8 +673,7 @@ hardening_flags = [ +@@ -702,8 +702,7 @@ hardening_flags = [ # # NB2: This clashes with the "retguard" extension of OpenBSD's Clang # https://gitlab.com/qemu-project/qemu/-/issues/2278 @@ -15,7 +16,16 @@ Index: meson.build name: '-fzero-call-used-regs=used-gpr', args: ['-O2', '-fzero-call-used-regs=used-gpr']) hardening_flags += '-fzero-call-used-regs=used-gpr' -@@ -2376,7 +2375,7 @@ config_host_data.set('CONFIG_QEMU_FIRMWAREPATH', qemu_ +@@ -1154,7 +1153,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 +@@ -2412,7 +2411,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')) @@ -24,7 +34,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')) -@@ -4564,9 +4563,6 @@ if have_rust +@@ -4584,9 +4583,6 @@ if have_rust summary_info += {'bindgen version': bindgen.version()} endif option_cflags = (get_option('debug') ? ['-g'] : []) Index: patches/patch-qga_main_c =================================================================== RCS file: /cvs/ports/emulators/qemu/patches/patch-qga_main_c,v retrieving revision 1.9 diff -u -p -u -p -r1.9 patch-qga_main_c --- patches/patch-qga_main_c 29 Oct 2024 12:28:54 -0000 1.9 +++ patches/patch-qga_main_c 28 Jun 2025 22:05:32 -0000 @@ -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" -@@ -1601,7 +1605,11 @@ int main(int argc, char **argv) +@@ -1613,7 +1617,11 @@ int main(int argc, char **argv) } if (config->method == NULL) { Index: patches/patch-qga_qapi-schema_json =================================================================== RCS file: /cvs/ports/emulators/qemu/patches/patch-qga_qapi-schema_json,v retrieving revision 1.2 diff -u -p -u -p -r1.2 patch-qga_qapi-schema_json --- patches/patch-qga_qapi-schema_json 8 Jan 2025 15:19:11 -0000 1.2 +++ patches/patch-qga_qapi-schema_json 28 Jun 2025 22:05:32 -0000 @@ -5,7 +5,7 @@ Adds support for "guest-get-fsinfo" and Index: qga/qapi-schema.json --- qga/qapi-schema.json.orig +++ qga/qapi-schema.json -@@ -758,7 +758,7 @@ +@@ -775,7 +775,7 @@ 'data': {'logical-id': 'int', 'online': 'bool', '*can-offline': 'bool'}, @@ -14,7 +14,7 @@ Index: qga/qapi-schema.json ## # @guest-get-vcpus: -@@ -774,7 +774,7 @@ +@@ -791,7 +791,7 @@ ## { 'command': 'guest-get-vcpus', 'returns': ['GuestLogicalProcessor'], @@ -23,7 +23,7 @@ Index: qga/qapi-schema.json ## # @guest-set-vcpus: -@@ -870,7 +870,7 @@ +@@ -887,7 +887,7 @@ 'data': [ 'ide', 'fdc', 'scsi', 'virtio', 'xen', 'usb', 'uml', 'sata', 'sd', 'unknown', 'ieee1394', 'ssa', 'fibre', 'raid', 'iscsi', 'sas', 'mmc', 'virtual', 'file-backed-virtual', 'nvme' ], @@ -32,7 +32,7 @@ Index: qga/qapi-schema.json ## -@@ -889,7 +889,7 @@ +@@ -906,7 +906,7 @@ { 'struct': 'GuestPCIAddress', 'data': {'domain': 'int', 'bus': 'int', 'slot': 'int', 'function': 'int'}, @@ -41,7 +41,7 @@ Index: qga/qapi-schema.json ## # @GuestCCWAddress: -@@ -909,7 +909,7 @@ +@@ -926,7 +926,7 @@ 'ssid': 'int', 'subchno': 'int', 'devno': 'int'}, @@ -50,7 +50,7 @@ Index: qga/qapi-schema.json ## # @GuestDiskAddress: -@@ -939,7 +939,7 @@ +@@ -956,7 +956,7 @@ 'bus': 'int', 'target': 'int', 'unit': 'int', '*serial': 'str', '*dev': 'str', '*ccw-address': 'GuestCCWAddress'}, @@ -59,7 +59,7 @@ Index: qga/qapi-schema.json ## # @GuestNVMeSmart: -@@ -1059,7 +1059,7 @@ +@@ -1076,7 +1076,7 @@ 'data': {'name': 'str', 'mountpoint': 'str', 'type': 'str', '*used-bytes': 'uint64', '*total-bytes': 'uint64', '*total-bytes-privileged': 'uint64', 'disk': ['GuestDiskAddress']}, @@ -68,7 +68,7 @@ Index: qga/qapi-schema.json ## # @guest-get-fsinfo: -@@ -1073,7 +1073,7 @@ +@@ -1090,7 +1090,7 @@ ## { 'command': 'guest-get-fsinfo', 'returns': ['GuestFilesystemInfo'], Index: patches/patch-tests_qtest_meson_build =================================================================== RCS file: /cvs/ports/emulators/qemu/patches/patch-tests_qtest_meson_build,v retrieving revision 1.1 diff -u -p -u -p -r1.1 patch-tests_qtest_meson_build --- patches/patch-tests_qtest_meson_build 3 Feb 2025 17:05:52 -0000 1.1 +++ patches/patch-tests_qtest_meson_build 28 Jun 2025 22:05:32 -0000 @@ -1,14 +1,14 @@ Index: tests/qtest/meson.build --- tests/qtest/meson.build.orig +++ tests/qtest/meson.build -@@ -362,14 +362,6 @@ qtests = { - 'netdev-socket': files('netdev-socket.c', '../unit/socket-helpers.c'), +@@ -385,14 +385,6 @@ qtests = { + 'ast2700-smc-test': files('aspeed-smc-utils.c', 'ast2700-smc-test.c'), } -if vnc.found() - gvnc = dependency('gvnc-1.0', method: 'pkg-config', required: false) - if gvnc.found() -- qtests += {'vnc-display-test': [gvnc]} +- qtests += {'vnc-display-test': [gvnc, keymap_targets]} - qtests_generic += [ 'vnc-display-test' ] - endif -endif Index: pkg/PLIST-main =================================================================== RCS file: /cvs/ports/emulators/qemu/pkg/PLIST-main,v retrieving revision 1.23 diff -u -p -u -p -r1.23 PLIST-main --- pkg/PLIST-main 26 Feb 2025 20:26:08 -0000 1.23 +++ pkg/PLIST-main 28 Jun 2025 22:05:32 -0000 @@ -47,6 +47,7 @@ share/applications/qemu.desktop share/doc/pkg-readmes/${PKGSTEM} share/doc/qemu/.buildinfo +share/doc/qemu/_sources/ share/doc/qemu/_static/ share/doc/qemu/_static/_sphinx_javascript_frameworks_compat.js share/doc/qemu/_static/basic.css @@ -79,6 +80,7 @@ share/doc/qemu/_static/jquery.js share/doc/qemu/_static/js/ share/doc/qemu/_static/js/badge_only.js share/doc/qemu/_static/js/theme.js +share/doc/qemu/_static/js/versions.js share/doc/qemu/_static/language_data.js share/doc/qemu/_static/minus.png share/doc/qemu/_static/plus.png @@ -100,9 +102,11 @@ share/doc/qemu/devel/ share/doc/qemu/devel/atomics.html share/doc/qemu/devel/bitops.html share/doc/qemu/devel/block-coroutine-wrapper.html +share/doc/qemu/devel/build-environment.html share/doc/qemu/devel/build-system.html share/doc/qemu/devel/clocks.html share/doc/qemu/devel/code-of-conduct.html +share/doc/qemu/devel/codebase.html share/doc/qemu/devel/conflict-resolution.html share/doc/qemu/devel/control-flow-integrity.html share/doc/qemu/devel/crypto.html @@ -142,12 +146,14 @@ share/doc/qemu/devel/multi-thread-tcg.ht share/doc/qemu/devel/multiple-iothreads.html share/doc/qemu/devel/pci.html share/doc/qemu/devel/qapi-code-gen.html +share/doc/qemu/devel/qapi-domain.html share/doc/qemu/devel/qdev-api.html share/doc/qemu/devel/qom-api.html share/doc/qemu/devel/qom.html share/doc/qemu/devel/rcu.html share/doc/qemu/devel/replay.html share/doc/qemu/devel/reset.html +share/doc/qemu/devel/rust.html share/doc/qemu/devel/s390-cpu-topology.html share/doc/qemu/devel/s390-dasd-ipl.html share/doc/qemu/devel/secure-coding-practices.html @@ -173,12 +179,14 @@ share/doc/qemu/devel/testing/qgraph.html share/doc/qemu/devel/testing/qtest.html share/doc/qemu/devel/tracing.html share/doc/qemu/devel/trivial-patches.html +share/doc/qemu/devel/uefi-vars.html share/doc/qemu/devel/ui.html share/doc/qemu/devel/vfio-iommufd.html share/doc/qemu/devel/virtio-backends.html share/doc/qemu/devel/writing-monitor-commands.html share/doc/qemu/devel/zoned-storage.html share/doc/qemu/genindex.html +share/doc/qemu/glossary.html share/doc/qemu/index.html share/doc/qemu/interop/barrier.html share/doc/qemu/interop/bitmaps.html @@ -200,6 +208,9 @@ share/doc/qemu/interop/vhost-vdpa.html share/doc/qemu/interop/virtio-balloon-stats.html share/doc/qemu/interop/vnc-ledstate-pseudo-encoding.html share/doc/qemu/objects.inv +share/doc/qemu/qapi-qga-index.html +share/doc/qemu/qapi-qmp-index.html +share/doc/qemu/qapi-qsd-index.html share/doc/qemu/search.html share/doc/qemu/searchindex.js share/doc/qemu/specs/ @@ -210,6 +221,7 @@ share/doc/qemu/specs/acpi_hw_reduced_hot share/doc/qemu/specs/acpi_mem_hotplug.html share/doc/qemu/specs/acpi_nvdimm.html share/doc/qemu/specs/acpi_pci_hotplug.html +share/doc/qemu/specs/aspeed-intc.html share/doc/qemu/specs/edu.html share/doc/qemu/specs/fsi.html share/doc/qemu/specs/fw_cfg.html @@ -226,6 +238,7 @@ share/doc/qemu/specs/ppc-spapr-xive.html share/doc/qemu/specs/ppc-xive.html share/doc/qemu/specs/pvpanic.html share/doc/qemu/specs/rapl-msr.html +share/doc/qemu/specs/riscv-aia.html share/doc/qemu/specs/riscv-iommu.html share/doc/qemu/specs/rocker.html share/doc/qemu/specs/sev-guest-firmware.html @@ -251,6 +264,7 @@ 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 share/doc/qemu/system/arm/kzm.html share/doc/qemu/system/arm/mcimx6ul-evk.html @@ -271,6 +285,7 @@ share/doc/qemu/system/arm/sx1.html share/doc/qemu/system/arm/versatile.html share/doc/qemu/system/arm/vexpress.html share/doc/qemu/system/arm/virt.html +share/doc/qemu/system/arm/vmapple.html share/doc/qemu/system/arm/xenpvh.html share/doc/qemu/system/arm/xlnx-versal-virt.html share/doc/qemu/system/arm/xlnx-zcu102.html @@ -287,6 +302,7 @@ share/doc/qemu/system/devices/canokey.ht share/doc/qemu/system/devices/ccid.html share/doc/qemu/system/devices/cxl.html share/doc/qemu/system/devices/igb.html +share/doc/qemu/system/devices/ivshmem-flat.html share/doc/qemu/system/devices/ivshmem.html share/doc/qemu/system/devices/keyboard.html share/doc/qemu/system/devices/net.html @@ -344,6 +360,7 @@ share/doc/qemu/system/qemu-cpu-models.ht 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/shakti-c.html share/doc/qemu/system/riscv/sifive_u.html @@ -362,6 +379,7 @@ share/doc/qemu/system/security.html share/doc/qemu/system/target-arm.html share/doc/qemu/system/target-avr.html 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 @@ -500,6 +518,7 @@ share/qemu/linuxboot_dma.bin share/qemu/multiboot.bin share/qemu/multiboot_dma.bin share/qemu/npcm7xx_bootrom.bin +share/qemu/npcm8xx_bootrom.bin share/qemu/openbios-ppc share/qemu/openbios-sparc32 share/qemu/openbios-sparc64 @@ -508,6 +527,7 @@ share/qemu/opensbi-riscv64-generic-fw_dy share/qemu/palcode-clipper share/qemu/petalogix-ml605.dtb share/qemu/petalogix-s3adsp1800.dtb +share/qemu/pnv-pnor.bin share/qemu/pvh.bin share/qemu/pxe-e1000.rom share/qemu/pxe-eepro100.rom