head 1.8; access; symbols pkgsrc-2026Q1:1.8.0.2 pkgsrc-2026Q1-base:1.8 pkgsrc-2025Q4:1.7.0.8 pkgsrc-2025Q4-base:1.7 pkgsrc-2025Q3:1.7.0.6 pkgsrc-2025Q3-base:1.7 pkgsrc-2025Q2:1.7.0.4 pkgsrc-2025Q2-base:1.7 pkgsrc-2025Q1:1.7.0.2 pkgsrc-2025Q1-base:1.7 pkgsrc-2024Q4:1.5.0.4 pkgsrc-2024Q4-base:1.5 pkgsrc-2024Q3:1.5.0.2 pkgsrc-2024Q3-base:1.5 pkgsrc-2024Q2:1.4.0.2 pkgsrc-2024Q2-base:1.4 pkgsrc-2024Q1:1.3.0.26 pkgsrc-2024Q1-base:1.3 pkgsrc-2023Q4:1.3.0.24 pkgsrc-2023Q4-base:1.3 pkgsrc-2023Q3:1.3.0.22 pkgsrc-2023Q3-base:1.3 pkgsrc-2023Q2:1.3.0.20 pkgsrc-2023Q2-base:1.3 pkgsrc-2023Q1:1.3.0.18 pkgsrc-2023Q1-base:1.3 pkgsrc-2022Q4:1.3.0.16 pkgsrc-2022Q4-base:1.3 pkgsrc-2022Q3:1.3.0.14 pkgsrc-2022Q3-base:1.3 pkgsrc-2022Q2:1.3.0.12 pkgsrc-2022Q2-base:1.3 pkgsrc-2022Q1:1.3.0.10 pkgsrc-2022Q1-base:1.3 pkgsrc-2021Q4:1.3.0.8 pkgsrc-2021Q4-base:1.3 pkgsrc-2021Q3:1.3.0.6 pkgsrc-2021Q3-base:1.3 pkgsrc-2021Q2:1.3.0.4 pkgsrc-2021Q2-base:1.3 pkgsrc-2021Q1:1.3.0.2 pkgsrc-2021Q1-base:1.3; locks; strict; comment @# @; 1.8 date 2026.01.05.10.11.38; author adam; state Exp; branches; next 1.7; commitid TQ9HuqvyM0UOMbpG; 1.7 date 2025.03.02.12.44.19; author nia; state Exp; branches; next 1.6; commitid 4MU7FXkhaRQezuLF; 1.6 date 2024.12.27.11.16.42; author adam; state Exp; branches; next 1.5; commitid VUkptcJpnQiFa8DF; 1.5 date 2024.09.05.07.40.08; author adam; state Exp; branches; next 1.4; commitid Muvl5ELE4IwsBAoF; 1.4 date 2024.04.24.07.20.59; author adam; state Exp; branches; next 1.3; commitid zZzrfagA2Nb4Om7F; 1.3 date 2021.02.20.22.59.29; author ryoon; state Exp; branches; next 1.2; commitid pvG3PIr8gVPOfvIC; 1.2 date 2021.02.17.17.16.01; author reinoud; state Exp; branches; next 1.1; commitid f6Gq2q8ZzdXEr5IC; 1.1 date 2021.02.15.22.15.12; author reinoud; state Exp; branches; next ; commitid SRl8OKUCVmbhaRHC; desc @@ 1.8 log @qemu: updated to 10.2.0 10.2.0 https://wiki.qemu.org/ChangeLog/10.2 Removed features and incompatible changes * The -old-param option has been removed * The Arm pxa CPU family has been removed @ text @$NetBSD: patch-hw-mips-Kconfig,v 1.7 2025/03/02 12:44:19 nia Exp $ Adding support for VirtIO extensions to the MIPSSIM machine, which NetBSD has special extensions to support. --- hw/mips/Kconfig.orig 2025-12-23 19:48:56.000000000 +0000 +++ hw/mips/Kconfig @@@@ -12,6 +12,8 @@@@ config MALTA select PFLASH_CFI01 select SERIAL_MM select SMBUS_EEPROM + select VIRTIO_MMIO + select OR_IRQ config JAZZ bool @ 1.7 log @qemu: Delint and document patches. @ text @d1 1 a1 1 $NetBSD: patch-hw-mips-Kconfig,v 1.6 2024/12/27 11:16:42 adam Exp $ d6 1 a6 1 --- hw/mips/Kconfig.orig 2024-12-10 23:46:36.000000000 +0000 d8 2 a9 2 @@@@ -19,6 +19,8 @@@@ config MIPSSIM depends on MIPS d11 1 a11 1 select MIPSNET @ 1.6 log @qemu: updated to 9.2.0 9.2.0 https://wiki.qemu.org/ChangeLog/9.2 @ text @d1 4 a4 1 $NetBSD: patch-hw-mips-Kconfig,v 1.5 2024/09/05 07:40:08 adam Exp $ @ 1.5 log @qemu: updated to 9.1.0 9.1.0 https://wiki.qemu.org/ChangeLog/9.1 @ text @d1 1 a1 1 $NetBSD: patch-hw-mips-Kconfig,v 1.4 2024/04/24 07:20:59 adam Exp $ d3 1 a3 1 --- hw/mips/Kconfig.orig 2024-09-04 17:40:41.000000000 +0000 d7 1 a7 1 select SERIAL @ 1.4 log @qemu: updated to 9.0.0 9.0.0 https://wiki.qemu.org/ChangeLog/9.0 @ text @d1 1 a1 1 $NetBSD$ d3 1 a3 1 --- hw/mips/Kconfig.orig 2024-04-10 17:43:25.000000000 +0000 d5 2 a6 2 @@@@ -15,6 +15,8 @@@@ config MIPSSIM bool @ 1.3 log @Update to 5.2.0 Changelog: IMPORTANT NOTE: in this release we have switched our build system to internally use Meson. Building should be broadly unchanged for most users, but please see the [[#Build Information|Build Information]] section of the changelog for details and for '''the list of new [[#Build Dependencies |build dependencies]] you now need to install'''. == System emulation == === Incompatible changes === === New deprecated options and features === Consult the [https://www.qemu.org/docs/master/system/deprecated.html "Deprecated Features"] chapter of the QEMU System Emulation User's Guide for the full list of historically deprecated features/options. In particular, note that the Unicore32 and lm32 guest support have been deprecated and will be removed in a future version. They are now only built if explicitly enabled in --target-list. === 68k === === Alpha === === Arm === * ARMv8.2 FEAT_FP16 (half-precision floating point) is now implemented for AArch32 emulation (AArch64 already supported this) * AArch64 BTI is now supported in linux-user emulation mode (it was already implemented for system emulation) * The SMMUv3 model now supports SMMUv3.2 range invalidation * The sbsa-ref board now has an embedded controller model for guest powerdown and reboot requests * The sbsa-ref board now has an SBSA-compatible generic watchdog device * The Raspberry Pi boards now emulate the CPRMAN clock manager device * Support for KVM on 32-bit host CPUs (deprecated in 5.0) has now been removed. (32-bit KVM guests on 64-bit hosts remain supported.) * Two new board models in the mps2 family: mps2-an386 (Cortex-M4 based) and mps2-an500 (Cortex-M7 based) * New board models in the raspi family: raspi3ap (the Pi 3 model A+), raspi0 (the Pi Zero) and raspi1ap (the Pi A+) * New Nuvoton iBMC board models: npcm750-evb, quanta-gsj * The 'max' CPU now implements a 48-bit physical address size when using TCG emulation. * The 'virt' board supports kvm-steal-time (enabled by default for virt-5.2 and on) so that a guest OS can account for time when its CPUs were not running due to the host not scheduling the corresponding vCPU threads. === AVR === === HPPA === * Added power button emulation * Boots NetBSD * Boots old Linux CDs, e.g debian-0.5 and debian-0.6.1 * Artist framebuffer fixes when running dtwm on HP-UX * Artist graphics allows screen resolution up to 2048 x 2048 pixels * fw_cfg interface added === Microblaze === === MIPS === === Nios2 === === OpenRISC === === PowerPC === * The pseries machine now respects the nvdimm= machine option (previously NVDIMMs could be attached even with nvdimm=off) * The pseries machine now does a better job of reflecting the user specified NUMA distances in the guest (PAPR limitations mean it's still a pretty poor approximation, though) * We now fail more gracefully if attempting to run an HPT guest as a nested KVM guest (which isn't supported in the kernel for now) * spapr_vscsi should now properly report that it does not support hotplug * The pnv machine now allows firmware images up to 16MiB, instead of just 4 MiB (this matches the limit on physical FSP machines) === Renesas RX === === Renesas SH === === RISC-V === * Improvements to the Ibex (OpenTitan) PLIC * OpenSBI v0.8 included by default * Generic OpenSBI platform used when no -bios argument is supplied * Support for a noMMU Linux kernel with the `-kernel` option * A dummy L2 cache controller for the sifive_u is now included * Support for the SiFive OTP device * PMPCFG CSR setting bug fixed for RV64 * Improvements to the floating point helpers * Experimental Hypervisor support updated to v0.6.1 and bug fixes * Support for NUMA sockets on Virt and Spike Machines * Support for the Microchip PolarFire SoC Icicle Kit * Fix for crash seen when running 'poweroff' command on virt machine * virt and sifive_u machines allow a custom dtb argument * Support for migrating machines === s390 === * KVM: The diagnose 0x318 instruction is now supported. * TCG: More instructions that were introduced with the z14 are now emulated. * zPCI: vfio-pci devices now report real hardware features for functions, instead of emulated values (needs host kernel support.) * virtiofs is now also supported on s390x via ccw === SPARC === * sun4m: fix panic when booting NetBSD with the TCX framebuffer * sun4u: fix for sabre PCI IRQs being lost due to memory overflow === TileGX === === Tricore === === x86 === * A new KVM feature which improves the handling of asynchronous page faults is available with ''-cpu ...,kvm-async-pf-int''. This requires Linux 5.8. === Xtensa === * DFPU coprocessor with single and double precision floating point opcodes is now supported * NMI is now supported === Device emulation and assignment === ==== ACPI ==== ==== Audio ==== ==== Block devices ==== ==== Graphics ==== ==== Input devices ==== ==== IPMI ==== ==== Network devices ==== ==== NVDIMM ==== ==== NVMe ==== * Add support for mandatory features of version 1.3 of the NVM Express specification * Add support for the Abort, Asynchronous Event Request and Get Log Page commands * Add support for Scatter Gather Lists (supported descriptors: Data Block, Bit Bucket, Segment and Last Segment) * Allow the device to be configured with the "Admin Only" command set * Support multiple namespaces through the new nvme-ns device * The unallocated Intel PCI Vendor and Device ID has been replaced with a QEMU allocated "Red Hat" ID * Support per-namespace SMART log ==== PCI/PCIe ==== ==== SCSI ==== ==== SD card ==== ==== SMBIOS ==== * The OEM Strings data can now be loaded from a file ==== TPM ==== ==== USB ==== ==== VFIO ==== ==== virtio ==== ==== Xen ==== ==== fw_cfg ==== ==== 9pfs ==== * Significant [https://lists.gnu.org/archive/html/qemu-devel/2020-01/msg05539.html performance improvement of Treaddir] requests. * A performance warning is now logged on host side if 'msize' is set to a very small value, which especially includes Linux 9P clients not having any user specified 'msize' parameter at all. Simply setting 'msize' (on client/guest side) to any value larger than 8192 will cause the warning to disappear. See [https://wiki.qemu.org/Documentation/9psetup#msize msize documentation] for details. ==== virtiofs ==== * virtiofsd xattrmap option to allow the host to see different xattr names to the guest * virtiofsd alternate sandbox option for environments where pivot_root isn't available * virtiofsd 'submount' mechanism (requiring newer guest kernel) allows different host mounts to be seen as separate submounts in the guest, avoiding inode clashes. ==== Semihosting ==== === Audio === === Character devices === * Inverted logic in QAPI handling the "tight" option for abstract UNIX sockets was fixed. * The QAPI schema now only reports support for abstract UNIX sockets on platforms where it is available (Linux). === Crypto subsystem === ==== experimental qmp interface ==== === GUI === * Spice: add support for SIDE and EXTRA mouse buttons. Improve HiDPI, set physical dimensions of client monitors. * Build spice and opengl as modules === GDBStub === === Host support === === Memory backends === === Migration === * A new 'block-bitmap-mapping' migration parameter is added, allowing finer control of which bitmaps to migrate, even when node names differ between source and destination. * Migration over 'vsock' is now allowed, for nested environments or hosts with hardware that looks like a vsock. * A new 'calc-dirty-rate'/'query-dirty-rate' call gathers an approximation of the rate at which the guest is dirtying RAM and thus gives an idea about whether precopy migration is likely to proceed. * The default migration bandwidth has been increased to 1Gbps; users are still encouraged to tune it to their own hardware. * TLS+multifd is now supported for higher bandwidth encrypted migration. * Migration with dirty bitmaps has several bugs fixed. === Monitor === ==== QMP ==== * Command block_resize no longer blocks the main loop. ==== HMP ==== * Command block_resize no longer blocks the main loop. === Network === === Block device backends and tools === * qcow2 files now support extended L2 entries that allow subcluster-based allocation (enable with extended_l2=on when creating the image). * Using qemu as an NBD client has fewer scenarios where network timeouts stall guest execution * More explicit errors are reported when use of O_DIRECT fails * The 'block-export-add' QMP command has been introduced to support qemu-storage-daemon, and replaces the now-deprecated 'nbd-server-add' command. * The 'vhost-user-blk' export type has been added, allowing qemu-storage-daemon to act as a vhost-user-blk device backend. * qemu-nbd now supports multiple '-B name' options for exposing multiple dirty bitmaps at once; it also supports a new '-A' option for exposing the new "qemu:allocation-depth" metadata context over NBD. === Tracing === * Add support of dtrace backend on macOS === Miscellaneous === * The roms/edk2 submodule and the bundled edk2 binaries have been updated to [https://bugs.launchpad.net/qemu/+bug/1852196 edk2-stable202008]. == User-mode emulation == * ppc64abi32-linux-user is deprecated and only built when explicitly enabled in--target-list * tilegx-linux-user is deprecated and only built when explicitly enabled in--target-list * better reporting when we can't mmap the guest_base we want on systems without MAP_FIXED_NOREPLACE == TCG == == Guest agent == * New commands: guest-get-devices, guest-get-disks & guest-ssh-{get,add,remove}-authorized-keys * Support guest-get-fsinfo for non-PCI virtio devices, too == Build Information == * The build system is now partly based on Meson. However, building is still done with ''configure'' and ''make'' as in previous versions of QEMU. * Binaries for emulators are placed in the root build directory, for example as ''qemu-system-ppc'' instead of ''ppc-softmmu/qemu-system-ppc''. Symbolic links from the old binary are preserved to simplify the transition. * In-tree builds are not supported anymore. The build system will try to cater for ''./configure && make && make install'' by building QEMU in a directory named ''build'', but you are encouraged to switch to out-of-tree builds instead. * ivshmem-client and ivshmem-server are not installed anymore. They are merely examples, and not to be used in production. * QEMU installations are now relocatable. For example, if QEMU is configured with ''bindir=/usr/local/bin'' and ''datadir=/usr/local/share'', when QEMU is launched as ''/opt/local/qemu-5.2/bin/qemu-system-x86_64'' it will look automatically for data files in ''/opt/local/qemu-5.2/share''. Note that directories configured outside the prefix (as is often the case for ''/etc'' and ''/var'') will not be relocated! Previously this was done only under Windows and only for emulators. === Python === * Python 3.6 or newer is now required to build QEMU. === GIT submodules === === Container Based Builds === * All Debian 9 based cross-compiler containers have been updated to Debian 10 === Build Dependencies === * Ninja 1.7 or newer is now required to build QEMU: * '''$ apt-get install ninja-build''' (Debian/Ubuntu and derivative distros) * '''$ dnf/yum install ninja-build''' (RHEL/Fedora/CentOS and derivative distros) * '''$ brew install ninja''' (macOS with HomeBrew) * '''$ pkg install ninja''' (FreeBSD) === Windows === * qemu-nbd is now built on mingw, and works for simple cases even if it can't duplicate the full functionality available on Unix systems === Testing and CI === * a new script can wait on gitlab to finish with a pass/fail status (scripts/ci/gitlab-status) @ text @d1 1 a1 1 $NetBSD: patch-hw-mips-Kconfig,v 1.1 2021/02/15 22:15:12 reinoud Exp $ d3 1 a3 1 --- hw/mips/Kconfig.orig 2020-08-11 19:17:15.000000000 +0000 d5 3 a7 3 @@@@ -20,6 +20,8 @@@@ config MIPSSIM select ISA_BUS select SERIAL_ISA @ 1.2 log @On request create a new target called mipssim-virtio that has the extension leaving the original target in tact. @ text @d1 1 a1 1 $NetBSD$ d5 2 a6 1 @@@@ -21,6 +21,14 @@@@ config MIPSSIM a8 6 +config MIPSSIM_VIRTIO + bool + select ISA_BUS + select SERIAL_ISA + select MIPSNET d11 1 a11 1 + a13 1 select ISA_BUS @ 1.1 log @Add *local* patch for the Qemu MIPS target MIPSSIM adding VirtIO devices for development purposes. @ text @d5 1 a5 2 @@@@ -20,6 +20,8 @@@@ config MIPSSIM select ISA_BUS d8 6 d16 1 a16 1 d19 1 @