From: Brad Smith Subject: Re: UPDATE: QEMU 10.2.0 To: ports@openbsd.org Date: Sun, 1 Feb 2026 01:28:39 -0500 ping. On 2026-01-11 8:02 p.m., Brad Smith wrote: > Here is an update to QEMU 10.2.0. > > > https://wiki.qemu.org/ChangeLog/10.2 > https://wiki.qemu.org/ChangeLog/10.1 > > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/emulators/qemu/Makefile,v > retrieving revision 1.258 > diff -u -p -u -p -r1.258 Makefile > --- Makefile 6 Aug 2025 08:34:53 -0000 1.258 > +++ Makefile 27 Dec 2025 10:37:25 -0000 > @@ -1,4 +1,4 @@ > -ONLY_FOR_ARCHS= aarch64 amd64 powerpc64 riscv64 > +ONLY_FOR_ARCHS= aarch64 amd64 powerpc64 riscv64 sparc64 > DPB_PROPERTIES= parallel > > USE_NOBTCFI= Yes > @@ -6,7 +6,7 @@ USE_NOBTCFI= Yes > COMMENT-main= multi system emulator > COMMENT-ga= QEMU guest agent > > -VERSION= 10.0.2 > +VERSION= 10.2.0 > DISTNAME= qemu-${VERSION} > CATEGORIES= emulators > SITES= https://download.qemu.org/ > Index: distinfo > =================================================================== > RCS file: /cvs/ports/emulators/qemu/distinfo,v > retrieving revision 1.83 > diff -u -p -u -p -r1.83 distinfo > --- distinfo 20 Jul 2025 14:53:32 -0000 1.83 > +++ distinfo 27 Dec 2025 10:37:25 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (qemu-10.0.2.tar.xz) = 73hvI5jLUYRgD2mu9NXWke/URXajz/QSbTjUxv7Id1k= > -SIZE (qemu-10.0.2.tar.xz) = 135678180 > +SHA256 (qemu-10.2.0.tar.xz) = njCtG4ufe0RjABWC0aspfznPzOpdCFQMDKbWZyeFiDo= > +SIZE (qemu-10.2.0.tar.xz) = 141093360 > Index: patches/patch-block_nfs_c > =================================================================== > RCS file: /cvs/ports/emulators/qemu/patches/patch-block_nfs_c,v > retrieving revision 1.1 > diff -u -p -u -p -r1.1 patch-block_nfs_c > --- patches/patch-block_nfs_c 20 Jul 2025 14:53:32 -0000 1.1 > +++ patches/patch-block_nfs_c 27 Dec 2025 10:37:25 -0000 > @@ -3,7 +3,7 @@ > Index: block/nfs.c > --- block/nfs.c.orig > +++ block/nfs.c > -@@ -271,8 +271,13 @@ static int coroutine_fn nfs_co_preadv(BlockDriverState > +@@ -270,8 +270,13 @@ static int coroutine_fn nfs_co_preadv(BlockDriverState > task.iov = iov; > > WITH_QEMU_LOCK_GUARD(&client->mutex) { > @@ -17,7 +17,7 @@ Index: block/nfs.c > return -ENOMEM; > } > > -@@ -317,9 +322,15 @@ static int coroutine_fn nfs_co_pwritev(BlockDriverStat > +@@ -314,9 +319,15 @@ static int coroutine_fn nfs_co_pwritev(BlockDriverStat > } > > WITH_QEMU_LOCK_GUARD(&client->mutex) { > Index: patches/patch-meson_build > =================================================================== > RCS file: /cvs/ports/emulators/qemu/patches/patch-meson_build,v > retrieving revision 1.18 > diff -u -p -u -p -r1.18 patch-meson_build > --- patches/patch-meson_build 20 Jul 2025 14:53:32 -0000 1.18 > +++ patches/patch-meson_build 27 Dec 2025 10:37:25 -0000 > @@ -1,4 +1,3 @@ > -- revert retguard bug workaround > - support for libnfs API v2 > - localstatedir does not belong under prefix > - remove hardcoding of optimization > @@ -6,17 +5,7 @@ > Index: meson.build > --- meson.build.orig > +++ meson.build > -@@ -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 > --if host_os != 'openbsd' and \ > -- cc.compiles('extern struct { void (*cb)(void); } s; void f(void) { s.cb(); }', > -+if cc.compiles('extern struct { void (*cb)(void); } s; void f(void) { s.cb(); }', > - name: '-fzero-call-used-regs=used-gpr', > - args: ['-O2', '-fzero-call-used-regs=used-gpr']) > - hardening_flags += '-fzero-call-used-regs=used-gpr' > -@@ -1154,7 +1153,7 @@ endif > +@@ -1178,7 +1178,7 @@ endif > > libnfs = not_found > if not get_option('libnfs').auto() or have_block > @@ -25,7 +14,7 @@ Index: meson.build > required: get_option('libnfs'), > method: 'pkg-config') > endif > -@@ -2412,7 +2411,7 @@ config_host_data.set('CONFIG_QEMU_FIRMWAREPATH', qemu_ > +@@ -2411,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')) > @@ -34,7 +23,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')) > > -@@ -4584,9 +4583,6 @@ if have_rust > +@@ -4731,9 +4731,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.10 > diff -u -p -u -p -r1.10 patch-qga_main_c > --- patches/patch-qga_main_c 20 Jul 2025 14:53:32 -0000 1.10 > +++ patches/patch-qga_main_c 27 Dec 2025 10:37:25 -0000 > @@ -3,7 +3,7 @@ Adapted from https://github.com/aborche/ > Index: qga/main.c > --- qga/main.c.orig > +++ qga/main.c > -@@ -44,7 +44,11 @@ > +@@ -45,7 +45,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" > -@@ -1613,7 +1617,11 @@ int main(int argc, char **argv) > +@@ -1656,7 +1660,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.3 > diff -u -p -u -p -r1.3 patch-qga_qapi-schema_json > --- patches/patch-qga_qapi-schema_json 20 Jul 2025 14:53:32 -0000 1.3 > +++ patches/patch-qga_qapi-schema_json 27 Dec 2025 10:37:25 -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 > -@@ -775,7 +775,7 @@ > +@@ -762,7 +762,7 @@ > 'data': {'logical-id': 'int', > 'online': 'bool', > '*can-offline': 'bool'}, > @@ -14,7 +14,7 @@ Index: qga/qapi-schema.json > > ## > # @guest-get-vcpus: > -@@ -791,7 +791,7 @@ > +@@ -778,7 +778,7 @@ > ## > { 'command': 'guest-get-vcpus', > 'returns': ['GuestLogicalProcessor'], > @@ -23,16 +23,16 @@ Index: qga/qapi-schema.json > > ## > # @guest-set-vcpus: > -@@ -887,7 +887,7 @@ > +@@ -874,7 +874,7 @@ > 'data': [ 'ide', 'fdc', 'scsi', 'virtio', 'xen', 'usb', 'uml', 'sata', > 'sd', 'unknown', 'ieee1394', 'ssa', 'fibre', 'raid', 'iscsi', > 'sas', 'mmc', 'virtual', 'file-backed-virtual', 'nvme' ], > - 'if': { 'any': [ 'CONFIG_WIN32', 'CONFIG_LINUX' ] } } > + 'if': { 'any': [ 'CONFIG_WIN32', 'CONFIG_LINUX', 'CONFIG_BSD' ] } } > > - > ## > -@@ -906,7 +906,7 @@ > + # @GuestPCIAddress: > +@@ -892,7 +892,7 @@ > { 'struct': 'GuestPCIAddress', > 'data': {'domain': 'int', 'bus': 'int', > 'slot': 'int', 'function': 'int'}, > @@ -41,7 +41,7 @@ Index: qga/qapi-schema.json > > ## > # @GuestCCWAddress: > -@@ -926,7 +926,7 @@ > +@@ -912,7 +912,7 @@ > 'ssid': 'int', > 'subchno': 'int', > 'devno': 'int'}, > @@ -50,7 +50,7 @@ Index: qga/qapi-schema.json > > ## > # @GuestDiskAddress: > -@@ -956,7 +956,7 @@ > +@@ -942,7 +942,7 @@ > 'bus': 'int', 'target': 'int', 'unit': 'int', > '*serial': 'str', '*dev': 'str', > '*ccw-address': 'GuestCCWAddress'}, > @@ -59,7 +59,7 @@ Index: qga/qapi-schema.json > > ## > # @GuestNVMeSmart: > -@@ -1076,7 +1076,7 @@ > +@@ -1063,7 +1063,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: > -@@ -1090,7 +1090,7 @@ > +@@ -1077,7 +1077,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.2 > diff -u -p -u -p -r1.2 patch-tests_qtest_meson_build > --- patches/patch-tests_qtest_meson_build 20 Jul 2025 14:53:32 -0000 1.2 > +++ patches/patch-tests_qtest_meson_build 27 Dec 2025 10:37:25 -0000 > @@ -1,8 +1,8 @@ > Index: tests/qtest/meson.build > --- tests/qtest/meson.build.orig > +++ tests/qtest/meson.build > -@@ -385,14 +385,6 @@ qtests = { > - 'ast2700-smc-test': files('aspeed-smc-utils.c', 'ast2700-smc-test.c'), > +@@ -394,14 +394,6 @@ qtests = { > + 'netdev-socket': files('netdev-socket.c', '../unit/socket-helpers.c'), > } > > -if vnc.found() > Index: patches/patch-util_cacheflush_c > =================================================================== > RCS file: patches/patch-util_cacheflush_c > diff -N patches/patch-util_cacheflush_c > --- patches/patch-util_cacheflush_c 23 Apr 2023 19:07:49 -0000 1.2 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,19 +0,0 @@ > -Set OpenBSD/powerpc cache sizes. > - > -Index: util/cacheflush.c > ---- util/cacheflush.c.orig > -+++ util/cacheflush.c > -@@ -167,6 +167,13 @@ static void arch_cache_info(int *isize, int *dsize) > - have_coherent_icache = qemu_getauxval(AT_HWCAP) & PPC_FEATURE_ICACHE_SNOOP; > - } > - > -+#elif defined(_ARCH_PPC) && defined (__OpenBSD__) > -+static void arch_cache_info(int *isize, int *dsize) > -+{ > -+ *isize = 32; > -+ *dsize = 32; > -+} > -+ > - #else > - static void arch_cache_info(int *isize, int *dsize) { } > - #endif /* arch_cache_info */ > Index: pkg/PLIST-main > =================================================================== > RCS file: /cvs/ports/emulators/qemu/pkg/PLIST-main,v > retrieving revision 1.24 > diff -u -p -u -p -r1.24 PLIST-main > --- pkg/PLIST-main 20 Jul 2025 14:53:32 -0000 1.24 > +++ pkg/PLIST-main 27 Dec 2025 10:37:25 -0000 > @@ -106,6 +106,7 @@ share/doc/qemu/devel/build-environment.h > 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/code-provenance.html > share/doc/qemu/devel/codebase.html > share/doc/qemu/devel/conflict-resolution.html > share/doc/qemu/devel/control-flow-integrity.html > @@ -167,7 +168,6 @@ share/doc/qemu/devel/tcg-plugins.html > share/doc/qemu/devel/tcg.html > share/doc/qemu/devel/testing/ > share/doc/qemu/devel/testing/acpi-bits.html > -share/doc/qemu/devel/testing/avocado.html > share/doc/qemu/devel/testing/blkdebug.html > share/doc/qemu/devel/testing/blkverify.html > share/doc/qemu/devel/testing/ci.html > @@ -199,9 +199,12 @@ share/doc/qemu/interop/nbd.html > share/doc/qemu/interop/parallels.html > share/doc/qemu/interop/pr-helper.html > share/doc/qemu/interop/prl-xml.html > +share/doc/qemu/interop/qcow2.html > +share/doc/qemu/interop/qed_spec.html > share/doc/qemu/interop/qemu-qmp-ref.html > share/doc/qemu/interop/qemu-storage-daemon-qmp-ref.html > share/doc/qemu/interop/qmp-spec.html > +share/doc/qemu/interop/vfio-user.html > share/doc/qemu/interop/vhost-user-gpu.html > share/doc/qemu/interop/vhost-user.html > share/doc/qemu/interop/vhost-vdpa.html > @@ -267,6 +270,7 @@ 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/max78000.html > share/doc/qemu/system/arm/mcimx6ul-evk.html > share/doc/qemu/system/arm/mcimx7d-sabre.html > share/doc/qemu/system/arm/mps2.html > @@ -309,6 +313,7 @@ share/doc/qemu/system/devices/net.html > share/doc/qemu/system/devices/nvme.html > share/doc/qemu/system/devices/usb-u2f.html > share/doc/qemu/system/devices/usb.html > +share/doc/qemu/system/devices/vfio-user.html > share/doc/qemu/system/devices/vhost-user-input.html > share/doc/qemu/system/devices/vhost-user-rng.html > share/doc/qemu/system/devices/vhost-user.html > @@ -327,8 +332,10 @@ share/doc/qemu/system/i386/microvm.html > share/doc/qemu/system/i386/nitro-enclave.html > share/doc/qemu/system/i386/pc.html > share/doc/qemu/system/i386/sgx.html > +share/doc/qemu/system/i386/tdx.html > share/doc/qemu/system/i386/xen.html > share/doc/qemu/system/i386/xenpvh.html > +share/doc/qemu/system/igvm.html > share/doc/qemu/system/images.html > share/doc/qemu/system/index.html > share/doc/qemu/system/introduction.html > @@ -365,6 +372,7 @@ share/doc/qemu/system/riscv/microchip-ic > share/doc/qemu/system/riscv/shakti-c.html > share/doc/qemu/system/riscv/sifive_u.html > share/doc/qemu/system/riscv/virt.html > +share/doc/qemu/system/riscv/xiangshan-kunminghu.html > share/doc/qemu/system/s390x/ > share/doc/qemu/system/s390x/3270.html > share/doc/qemu/system/s390x/bootdevices.html > @@ -376,6 +384,7 @@ share/doc/qemu/system/s390x/vfio-ap.html > share/doc/qemu/system/s390x/vfio-ccw.html > share/doc/qemu/system/secrets.html > share/doc/qemu/system/security.html > +share/doc/qemu/system/sriov.html > share/doc/qemu/system/target-arm.html > share/doc/qemu/system/target-avr.html > share/doc/qemu/system/target-i386.html > @@ -440,11 +449,15 @@ share/locale/zh_CN/LC_MESSAGES/qemu.mo > share/qemu/ > share/qemu/QEMU,cgthree.bin > share/qemu/QEMU,tcx.bin > -share/qemu/bamboo.dtb > +share/qemu/ast27x0_bootrom.bin > share/qemu/bios-256k.bin > share/qemu/bios-microvm.bin > share/qemu/bios.bin > -share/qemu/canyonlands.dtb > +share/qemu/dtb/ > +share/qemu/dtb/bamboo.dtb > +share/qemu/dtb/canyonlands.dtb > +share/qemu/dtb/petalogix-ml605.dtb > +share/qemu/dtb/petalogix-s3adsp1800.dtb > share/qemu/edk2-aarch64-code.fd > share/qemu/edk2-arm-code.fd > share/qemu/edk2-arm-vars.fd > @@ -525,8 +538,6 @@ share/qemu/openbios-sparc64 > share/qemu/opensbi-riscv32-generic-fw_dynamic.bin > share/qemu/opensbi-riscv64-generic-fw_dynamic.bin > 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