The NetBSD Project

CVS log for pkgsrc/emulators/qemu/distinfo

[BACK] Up to [cvs.NetBSD.org] / pkgsrc / emulators / qemu

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.216 / (download) - annotate - [select for diffs], Mon Mar 4 18:46:38 2024 UTC (3 weeks, 2 days ago) by adam
Branch: MAIN
CVS Tags: HEAD
Changes since 1.215: +4 -4 lines
Diff to previous 1.215 (colored) to selected 1.109 (colored)

qemu: updated to 8.2.2

8.2.2
Bug fixes

Revision 1.215 / (download) - annotate - [select for diffs], Tue Feb 20 14:16:57 2024 UTC (5 weeks, 2 days ago) by imil
Branch: MAIN
Changes since 1.214: +2 -1 lines
Diff to previous 1.214 (colored) to selected 1.109 (colored)

Updated emulators/qemu to 8.2.1nb1

* Added --enable-debug option
* Enabled backward compatibility
  * Test kernel against userland and not against kernel
  * Remove state_size test and handle backward compatibility in libnvmm

Revision 1.214 / (download) - annotate - [select for diffs], Tue Jan 30 18:20:09 2024 UTC (8 weeks, 1 day ago) by adam
Branch: MAIN
Changes since 1.213: +5 -5 lines
Diff to previous 1.213 (colored) to selected 1.109 (colored)

qemu: updated to 8.2.1

8.2.1
Bug fixes

Revision 1.213 / (download) - annotate - [select for diffs], Thu Dec 28 17:15:39 2023 UTC (2 months, 4 weeks ago) by adam
Branch: MAIN
Changes since 1.212: +5 -6 lines
Diff to previous 1.212 (colored) to selected 1.109 (colored)

qemu: updated to 8.2.0

https://wiki.qemu.org/ChangeLog/8.2

Revision 1.212 / (download) - annotate - [select for diffs], Sun Nov 26 10:34:23 2023 UTC (4 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2023Q4-base, pkgsrc-2023Q4
Changes since 1.211: +4 -4 lines
Diff to previous 1.211 (colored) to selected 1.109 (colored)

qemu: updated to 8.1.3

8.1.3
Bug fixes

Revision 1.211 / (download) - annotate - [select for diffs], Wed Oct 18 17:28:19 2023 UTC (5 months, 1 week ago) by adam
Branch: MAIN
Changes since 1.210: +4 -4 lines
Diff to previous 1.210 (colored) to selected 1.109 (colored)

qemu: updated to 8.1.2

8.1.2
Bug fixes

Revision 1.210 / (download) - annotate - [select for diffs], Wed Sep 27 08:24:04 2023 UTC (6 months ago) by adam
Branch: MAIN
Changes since 1.209: +5 -5 lines
Diff to previous 1.209 (colored) to selected 1.109 (colored)

qemu: updated to 8.1.1

8.1.1
Bug fixes

Revision 1.209 / (download) - annotate - [select for diffs], Sun Sep 10 16:16:14 2023 UTC (6 months, 2 weeks ago) by jperkin
Branch: MAIN
CVS Tags: pkgsrc-2023Q3-base, pkgsrc-2023Q3
Changes since 1.208: +2 -2 lines
Diff to previous 1.208 (colored) to selected 1.109 (colored)

qemu: Spell 'sunos' correctly.

Submitted upstream, should be fixed in next release.

Revision 1.208 / (download) - annotate - [select for diffs], Wed Aug 23 15:19:02 2023 UTC (7 months ago) by adam
Branch: MAIN
Changes since 1.207: +6 -7 lines
Diff to previous 1.207 (colored) to selected 1.109 (colored)

qemu: updated to 8.1.0

PkgSrc:
- SDL option is now suggested for all platforms

8.1.0
Read this: https://wiki.qemu.org/ChangeLog/8.1

Revision 1.207 / (download) - annotate - [select for diffs], Mon Aug 21 12:10:59 2023 UTC (7 months, 1 week ago) by adam
Branch: MAIN
Changes since 1.206: +4 -4 lines
Diff to previous 1.206 (colored) to selected 1.109 (colored)

qemu: updated to 8.0.4

8.0.4
Bug fixes

Revision 1.206 / (download) - annotate - [select for diffs], Mon Jul 17 11:24:59 2023 UTC (8 months, 1 week ago) by adam
Branch: MAIN
Changes since 1.205: +4 -5 lines
Diff to previous 1.205 (colored) to selected 1.109 (colored)

qemu: updated to 8.0.3

8.0.3
Bug fixes

Revision 1.205 / (download) - annotate - [select for diffs], Fri Jun 30 13:36:04 2023 UTC (8 months, 4 weeks ago) by wiz
Branch: MAIN
Changes since 1.204: +2 -2 lines
Diff to previous 1.204 (colored) to selected 1.109 (colored)

qemu: add upstream patch link

Revision 1.204 / (download) - annotate - [select for diffs], Fri Jun 30 13:34:21 2023 UTC (8 months, 4 weeks ago) by wiz
Branch: MAIN
Changes since 1.203: +2 -1 lines
Diff to previous 1.203 (colored) to selected 1.109 (colored)

qemu: use 'ara' keymap

The 'ar' keymap is obsolete since 2004.

Revision 1.203 / (download) - annotate - [select for diffs], Wed Jun 7 07:19:22 2023 UTC (9 months, 3 weeks ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2023Q2-base, pkgsrc-2023Q2
Changes since 1.202: +5 -5 lines
Diff to previous 1.202 (colored) to selected 1.109 (colored)

qemu: updated to 8.0.2

8.0.2
Bug fixes

Revision 1.202 / (download) - annotate - [select for diffs], Sat May 6 19:22:37 2023 UTC (10 months, 3 weeks ago) by ryoon
Branch: MAIN
Changes since 1.201: +6 -8 lines
Diff to previous 1.201 (colored) to selected 1.109 (colored)

qemu: Update to 8.0.0

* Add libusb1 dependency unconditionally.
* Add graphics/SDL2_image for sdl option.

Changelog:
8.0.0
Highlights include:

  * ARM: emulation support for FEAT_EVT, FEAT_FGT, and AArch32 ARMv8-R
  * ARM: CPU emulation for Cortex-A55 and Cortex-R52, and new Olimex STM32 H405
    machine type
  * ARM: gdbstub support for M-profile system registers
  * HPPA: fid (Floating-Point Identify) instruction support and 32-bit
    emulation improvements
  * RISC-V: additional ISA and Extension support for smstateen, native debug
    icount trigger, cache-related PMU events in virtual mode, Zawrs/Svadu/
    T-Head/Zicond extensions, and ACPI support
  * RISC-V: updated machine support for OpenTitan, PolarFire, and OpenSBI
  * RISC-V: wide ranges of fixes covering PMP propagation for TLB, mret
    exceptions, uncompressed instructions, and other emulation/virtualization
    improvements
  * s390x: improved zPCI passthrough device handling
  * s390x: support for asynchronous teardown of memory of secure KVM guests
    during reboot
  * x86: support for Xen guests under KVM with Linux v5.12+
  * x86: new SapphireRapids CPU model
  * x86: TCG support for FSRM, FZRM, FSRS, and FSRC CPUID flags
  * virtio-mem: support for using preallocation in conjunction with live
    migration
  * VFIO: experimental migration support updated to v2 VFIO migration protocol
  * qemu-nbd: improved efficient over TCP and when using TLS
  * and lots more...

Revision 1.201 / (download) - annotate - [select for diffs], Fri May 5 07:49:29 2023 UTC (10 months, 3 weeks ago) by adam
Branch: MAIN
Changes since 1.200: +4 -4 lines
Diff to previous 1.200 (colored) to selected 1.109 (colored)

qemu: updated to 7.2.1

7.2.1
Bug fixes

Revision 1.200 / (download) - annotate - [select for diffs], Mon Mar 27 12:42:07 2023 UTC (12 months ago) by tnn
Branch: MAIN
CVS Tags: pkgsrc-2023Q1-base, pkgsrc-2023Q1
Changes since 1.199: +2 -1 lines
Diff to previous 1.199 (colored) to selected 1.109 (colored)

qemu: add Linux (glibc) build fix from upstream

Revision 1.199 / (download) - annotate - [select for diffs], Wed Mar 15 11:49:20 2023 UTC (12 months, 2 weeks ago) by jperkin
Branch: MAIN
Changes since 1.198: +4 -1 lines
Diff to previous 1.198 (colored) to selected 1.109 (colored)

qemu: Various SunOS fixes.

Revision 1.198 / (download) - annotate - [select for diffs], Fri Jan 20 08:36:24 2023 UTC (14 months, 1 week ago) by adam
Branch: MAIN
Changes since 1.197: +6 -6 lines
Diff to previous 1.197 (colored) to selected 1.109 (colored)

qemu: updated to 7.2.0

https://wiki.qemu.org/ChangeLog/7.2

Revision 1.197 / (download) - annotate - [select for diffs], Tue Oct 25 18:46:08 2022 UTC (17 months ago) by jperkin
Branch: MAIN
CVS Tags: pkgsrc-2022Q4-base, pkgsrc-2022Q4
Changes since 1.196: +2 -1 lines
Diff to previous 1.196 (colored) to selected 1.109 (colored)

qemu: Fix build on SunOS.

Revision 1.196 / (download) - annotate - [select for diffs], Tue Oct 25 18:32:29 2022 UTC (17 months ago) by jperkin
Branch: MAIN
Changes since 1.195: +1 -2 lines
Diff to previous 1.195 (colored) to selected 1.109 (colored)

qemu: Remove obsolete patch.

Revision 1.195 / (download) - annotate - [select for diffs], Sat Sep 17 13:50:42 2022 UTC (18 months, 1 week ago) by tnn
Branch: MAIN
CVS Tags: pkgsrc-2022Q3-base, pkgsrc-2022Q3
Changes since 1.194: +1 -2 lines
Diff to previous 1.194 (colored) to selected 1.109 (colored)

qemu: no need to patch file in FILESDIR, apply patch directly

Revision 1.194 / (download) - annotate - [select for diffs], Sat Sep 17 09:54:56 2022 UTC (18 months, 1 week ago) by tnn
Branch: MAIN
Changes since 1.193: +6 -7 lines
Diff to previous 1.193 (colored) to selected 1.109 (colored)

qemu: update to 7.1.0

This release includes initial support for LoongArch64 as well as CPU
architecture and driver emulation improvements for ARM, HPPA, Nios2,
OpenRISC, PowerPC, Renesas, s390, x86 and Xtensa.

Incompatible changes
  The -enable-fips option to QEMU system emulators has been removed
  The -writeconfig option to QEMU system emulators has been removed
  The deprecated x86 CPU model Icelake-Client has been removed
  The deprecated properties loaded (for crypto objects) and opened
    (for RNG backends) are now read-only
  The deprecated -soundhw option has been replaced by -audio
    (e.g. -audio pa,model=hda)
  The deprecated -sdl and -curses have been removed, use -display sdl
    and -display curses instead.
  The -display sdl,window_close=... suboption has been removed, use
   -display sdl,window-close=... instead, i.e. with a minus instead of an
   underscore between ãà×Øindowãàand ãà×Äloseãà  The -alt-grab option and the -display sdl,alt_grab=on suboption have been
    removed, use -display sdl,grab-mod=lshift-lctrl-lalt instead.
  The -ctrl-grab option and the -display sdl,ctrl_grab=on suboption have
    been removed, use -display sdl,grab-mod=rctrl instead.
  The x86 Icelake-Client CPU does not exist in the real world and has
    therefore been removed.

Revision 1.193 / (download) - annotate - [select for diffs], Sun Jun 12 13:49:28 2022 UTC (21 months, 2 weeks ago) by leot
Branch: MAIN
CVS Tags: pkgsrc-2022Q2-base, pkgsrc-2022Q2
Changes since 1.192: +3 -1 lines
Diff to previous 1.192 (colored) to selected 1.109 (colored)

qemu: Permit to use `-cpu host' with NVMM

PKGREVISION++

Revision 1.192 / (download) - annotate - [select for diffs], Sat Jun 11 10:13:05 2022 UTC (21 months, 2 weeks ago) by bsiegert
Branch: MAIN
Changes since 1.191: +2 -2 lines
Diff to previous 1.191 (colored) to selected 1.109 (colored)

qemu: correct pthread_setname_np invocation on macOS

From kflu in PR NetBSD/pkgsrc#107.

Note that I did not test a macOS build due to a lack of access to a Mac.

Revision 1.191 / (download) - annotate - [select for diffs], Thu May 19 16:10:15 2022 UTC (22 months, 1 week ago) by ryoon
Branch: MAIN
Changes since 1.190: +5 -6 lines
Diff to previous 1.190 (colored) to selected 1.109 (colored)

qemu: Update to 7.0.0

CHangelog:
== System emulation ==

=== Incompatible changes ===

Consult the [https://qemu-project.gitlab.io/qemu/about/removed-features.html 'Removed features' ] page for details of suggested replacement functionality

=== New deprecated options and features ===

Consult the [https://qemu-project.gitlab.io/qemu/about/deprecated.html "Deprecated Features"] chapter of the QEMU System Emulation User's Guide for further details of the deprecations and their suggested replacements.

Additional note: The QEMU project currently considers to drop the slirp submodule in future releases, i.e. the QEMU tarball won't embed the code for user mode networking in the future anymore, so that an external libslirp installation is required. Most OS distribution already ship a libslirp package nowadays (except for OpenBSD which is already known and hopefully will be fixed soon), but if you are still using another OS distribution that does not provide a libslirp package yet, please send a note to the [[Contribute/MailingLists|qemu-devel mailing list]] and ask your OS vendor to include such a package in the next release.

=== 68k ===

=== Alpha ===

=== Arm ===

* The virt board has gained a new control knob to disable passing a RNG seed in the DTB (dtb-kaslr-seed)
* The AST2600 SoC now supports a dummy version of the i3c device
* The virt board can now run guests with KVM on hosts with restricted IPA ranges
* The virt board now supports virtio-mem-pci
* The virt board now supports specifying the guest CPU topology
* On the virt board, we now enable PAuth when using KVM or hvf and the host CPU supports it
* xlnx-versal-virt now emulates the PMC SLCR
* xlnx-versal-virt now emulates the OSPI flash memory controller
* xlnx-zynqmp now models the CRF and APU control
* The Arm GICv3 ITS now emulates the previously missing MOVI and MOVALL commands
* New board model: mori-bmc
* We now support emulating FEAT_LVA
* We now support emulating FEAT_LPA
* We now support emulating FEAT_LPA2. (Note that this is disabled by default for the 'virt' board's versioned machine types prior to 7.0 (ie 'virt-6.2', 'virt-6.1', etc) because Linux kernels prior to v5.12 have a bug which means they will not boot on a CPU which has LPA2.)

=== AVR ===

=== Hexagon ===

=== HPPA ===
* Support up to 16 virtual CPUs
* Improved artist graphics driver for HP-UX VDE, HP-UX CDE and Linux framebuffer
* Mouse cursor focus and positioning now works much better under HP-UX X11
* Emulated TOC button can be triggered with "nmi" in the qemu monitor
* Added support for Qemu SCSI boot order option
* Possibility to change system HOSTID for HP-UX and Linux
* Added firmware 16x32 pixel bitmap font for use on HDPI screens
* Ability to choose serial or graphical console as default firmware console

=== Microblaze ===

=== MIPS ===

=== Nios2 ===

=== OpenRISC ===
==== Machines ====
* Support up to 4 cores up from 2 on the OpenRISC sim machine
* Support loading an external initrd image on the OpenRISC sim machine
* OpenRISC sim machine now automatically generates a device tree and passes it to the kernel

=== PowerPC ===
* Updates of PowerNV and pSeries documentation

==== Machines ====

* Deprecation of taihu machine
* Large rework of PPC405 machine
* General cleanup for Mac machines
* PowerNV PHB3/4 cleanups
* PowerNV XIVE improvements
* Extension of the powernv10 machine with XIVE2 ans PHB5 models
* New SLOF for PPC970 and POWER5+
* ppc: nested KVM HV for spapr virtual hypervisor
* spapr: nvdimm: Introduce spapr-nvdimm device

==== Extensions/removal====

* Removal of 401/403 CPUs
* Removal of 601/602 CPUs
* Removal of SoftTLBs support for PPC74x CPUs

* Initial support for PMU
* PMU EBB support
* Rework of powerpc exception handling
* Support for new ISA31 instructions
* Large cleanup of FPU implementation

==== Fixes ====

* Fixes for ivshmem
* Fixes for POWER5+ pseries
* Fixes for FPU exceptions
* Fixes for exception models in MPCx and 60x CPUs
* Fix for e6500 CPU
* Fixes for the 7448 CPU
* Exception and TLB fixes for the 405 CPU
* 603 CPUs fixes
* Book-E exception fixes
* Clang fixes
* VOF installation
* Radix MMU fixes


=== Renesas RX ===

=== Renesas SH ===

=== RISC-V ===
==== Extensions ====
* Add support for ratified 1.0 Vector extension
* Support for the Zve64f and Zve32f extensions
* Drop support for draft 0.7.1 Vector extension
* Support Zfhmin and Zfh extensions
* RISC-V KVM support
* Mark Hypervisor extension as non experimental
* Enable Hypervisor extension by default
* Support for svnapot, svinval and svpbmt extensions
* Experimental support for 128-bit CPUs
* Initial support for XVentanaCondOps custom extension
* stval and mtval support for illegal instructions
* Support for the UXL field in xstatus
* Add support for zfinx, zdinx and zhinx{min} extensions

==== Machines ====
* OpenSBI binary loading support for the Spike machine
* Improve kernel loading for non-Linux platforms
* SiFive PDMA 64-bit support
* Support 32 cores on the virt machine
* Add AIA support for virt machine

==== Fixes ====
* Fix illegal instruction when PMP is disabled
* Corrections for the Vector extension
* Fixes for OpenTitan timer
* Correction of OpenTitan PLIC stride length
* Removal of OpenSBI ELFs
* Fix trap cause for RV32 HS-mode CSR access from RV64 HS-mode
* Fixup OpenTitan SPI address

=== s390x ===

* Support Linux kernel command line length of more than 896 bytes (if the guest kernel supports it, too)
* Emulate the instructions from the "Miscellaneous-Instruction-Extensions Facility 3" (a z15 extension)
* Fixes for various emulated instructions (SLDA, SRDA, SLAG, BRASL, BRCL)

=== SPARC ===

=== Tricore ===

=== x86 ===
* Support for Intel AMX.
==== KVM ====

==== x86_64 ====

==== AMD SEV ====

=== Xtensa ===

=== Device emulation and assignment ===

==== ACPI / SMBIOS ====
* advertise i8042 in FADT if it is present (5334bf5703)
* new ''acpi-erst'' device, for logging guest evens using standard ACPI ERST interface (0ef0506e559)
* added support for new ''processor-id'' SMBIOS option (cb5fb04fe6)
* fixed SMBIOS memory handles overlap for large VMs (8Tb and more) (a379d4550c4)
* added 'SMBIOS 3.0' support in SeaBIOS, in QEMU it's opt-in feature, use ''-machine smbios-ep=3-0'' option to enable it
* fixed regression in ACPI table headers where OEM ID and OEM Table ID weren't padded correctly (748c030f360)
* fixed QEMU crash when started with user provided SLIC table (8cdb99af45)
* arm/virt: add VIOT table to describe virtio-iommu (cf1a5cc935c)
* x86: 'pc' machine type: fixed acpi-index not being migrated which might result in NIC name change if migration happens when guest is asking QEMU for it. Migration should work properly since 7.0 and newer machine types, for older machine types migration of acpi-index is broken and can't be fixed for compatibility reasons.

==== Audio ====

==== Block devices ====

==== Graphics ====

==== I2C ====

==== Input devices ====

==== IPMI ====

==== Multi-process QEMU ====

==== Network devices ====

==== NVDIMM ====

==== NVMe ====

===== Emulated NVMe Controller =====

==== PCI/PCIe ====
* Q35: fix PCIe device becoming disabled after migration when ACPI based PCI hotplug is used (6b0969f1ec)
* initial bits of SR/IOV support (250346169)
* arm/virt: fixed PXB interrupt routing (e609301b45)
* arm/virt: support for virtio-mem-pci (b1b87327a9)

==== SCSI ====

==== SD card ====

==== SMBIOS ====

==== TPM ====

==== USB ====


==== VFIO ====

==== virtio ====

==== Xen ====

==== fw_cfg ====

==== 9pfs ====
* [https://gitlab.com/qemu-project/qemu/-/commit/e64e27d5cb103b7764f1a05b6eda7e7fedd517c5 Fixed 9p server crash] ([https://gitlab.com/qemu-project/qemu/-/issues/841 issue #841]) that happened on some host systems due to incorrect (system dependant) handling of struct dirent size.
* [https://gitlab.com/qemu-project/qemu/-/commit/f45cc81911adc7726e8a2801986b6998b91b816e Added support for macOS hosts].

==== virtiofs ====
* Fix for CVE-2022-0358 - behaviour with supplementary groups and SGID directories
* Improved security label support
* The virtiofsd in qemu is now starting to be deprecated; please start using and contributing to [https://gitlab.com/virtio-fs/virtiofsd Rust virtiofsd]

==== Semihosting ====

* We now generate sane numbers for SYS_HEAPINFO under system emulation

=== Audio ===

=== Character devices ===

=== Crypto subsystem ===

=== Authorization subsystem ===

=== GUI ===
* a new [https://www.qemu.org/docs/master/interop/dbus-display.html "-display dbus"] option to export the display for external processes. A [https://gitlab.com/marcandre.lureau/qemu-display/ gtk4-rs based widget] is in the works (for future Boxes, virt-viewer etc). Potential other users include remote desktop protocols.

=== GDBStub ===

=== TCG Plugins ===
* new coverage plugin in contrib which support drcov format traces

=== Host support ===

=== Memory backends ===

=== Migration ===

=== Monitor ===

==== QMP ====

==== HMP ====

=== Network ===

=== Block device backends and tools ===
* Fleecing backup has been made more flexible: Fleecing backup means exposing a temporary snapshot of an actively used image, and having the copy-before-write (CBW) filter (or historically the backup block job) copy data there from areas written by the guest to the active image, before they are overwritten, so that the snapshot keeps representing the point-in-time state of the disk when the snapshot was created.  This snapshot can then be read (either by qemu itself using the backup or mirror block jobs, or by outside users e.g. via an NBD export) to create a backup.  As of qemu 7.0, instead of reading the snapshot image directly, it can also be accessed through the new snapshot-access block driver, by installing such a node on top of the CBW filter.  Doing so has some advantages over accessing the snapshot image directly; for example, the image can then be in any format (not just COW formats like qcow2), because the CBW filter keeps track of its allocation bitmap.  Once an area has been backed up, users can send a discard request to mark it as done, so that the CBW filter will not potentially copy it to the snapshot image on a subsequent guest write.  Furthermore, the CBW filter now has a bitmap parameter that allows limiting its scope as specified by the bitmap at the time the CBW filter node is created.
* A bug in caching block status has been fixed that was causing over-eager treatment of a format layer as all data rather than detecting holes, if an earlier block status query had merely been checking for which portions of the backing chain were allocated.  While the bug did not affect guest-visible data, it caused some performance regressions, particularly noticeable and easy to trigger when using 'qemu-nbd --allocation-depth'.
* The ''qemu-nbd'' program has gained a new ''--tls-hostname'' parameter to allow TLS validation against a different hostname, such as when setting up TLS through a TCP tunnel, and now supports TLS over Unix sockets.
* The SSH driver supports sha256 fingerprints with pre-blockdev command line configuration syntax.
* The SSH driver will print the actual fingerprint and its type when failing to validate a host key.

=== Tracing ===

=== Miscellaneous ===

* The -sandbox 'spawn' filter, will now correctly block use of the clone syscall for spawnnig processes, while allowing thread creation
* The -sandbox 'spawn' filter, will now entirely block use of the clone3 syscall entirely since there is no way to access its flags parameter from seccomp to distinguish thread vs process creation
* The -sandbox 'spawn' filter, will now block setns, unshare and execveat syscalls since they are not desired.

== User-mode emulation ==

* fixed a bug that caused issues mapping the ARM commpage on 32 bit builds

=== binfmt_misc ===

=== Hexagon ===

== TCG ==

User-mode emulation (linux-user, bsd-user) will enforce guest alignment constraints and raise SIGBUS to the guest program as appropriate.

=== ARM ===

Support for for ARMv4 and ARMv5 hosts has been dropped.  These older Arm versions do not have support for misaligned memory access; such support was added to ARMv6.  Since ARMv5 is quite old, it is presumed that such systems do not have sufficient RAM to even run QEMU, and so practically speaking no systems are impacted.

== Guest agent ==
* Support Windows 11 for <code>guest-get-osinfo</code> command
* Fix memory leaks in Windows <code>guest-get-fsinfo</code> command

== Build Information ==

=== Python ===

=== GIT submodules ===

=== Container Based Builds ===

* a large number of containers are now updated by lcitool
* TESTS and IMAGES environment variables can be used filter again when building against all docker targets

=== VM Based Builds ===

=== Build Dependencies ===
* xfs libraries are not needed anymore for build, since the only ioctl used by qemu which was defined there got local implementation.  With this, --enable-xfsctl configure option is also gone.

=== Windows ===

=== Testing and CI ===

Revision 1.190 / (download) - annotate - [select for diffs], Mon Dec 27 10:12:57 2021 UTC (2 years, 3 months ago) by nia
Branch: MAIN
CVS Tags: pkgsrc-2022Q1-base, pkgsrc-2022Q1, pkgsrc-2021Q4-base, pkgsrc-2021Q4
Changes since 1.189: +2 -1 lines
Diff to previous 1.189 (colored) to selected 1.109 (colored)

qemu: bulk builds with jack enabled get jack picked up through a
dependency of qemu, resulting in a build failure on NetBSD. just add
support for jack on netbsd to fix this.

Revision 1.189 / (download) - annotate - [select for diffs], Thu Dec 16 12:59:43 2021 UTC (2 years, 3 months ago) by tnn
Branch: MAIN
Changes since 1.188: +5 -8 lines
Diff to previous 1.188 (colored) to selected 1.109 (colored)

qemu: update to 6.2.0

Tested on NetBSD-current/amd64 w/nvmm and macOS/aarch64 w/hvf.

pkgsrc note: Recent upstream changes seem to have unintentionally broken the
NetBSD usermode emulation. User-mode emulation is thus disabled until someone
fixes this. Hint: see qemu/bsd-user/freebsd commits by M. Warner Losh.

Changes:

m68k
  Improved support for Apple's Nubus, including the ability to load
    declaration ROMs and slot IRQ support
  The macfb framebuffer device now supports the same video modes found
  on a real Quadra 800
Arm
  On macOS hosts with Apple Silicon CPUs we now support the 'hvf'
    accelerator for running AArch64 guests
  M-profile CPUs now emulate trapping on division by zero via CCR.DIV_0_TRP
  The pl011 UART model now supports sending 'break'
  The Fujitsu A64FX processor model is now supported in TCG ('-cpu a64fx')
  The M-profile MVE extension is now supported, and enabled in the Cortex-M55
  The deprecated machine names 'raspi2' and 'raspi3' have been removed;
    use 'raspi2b' and 'raspi3b' instead
  The 'virt' machine now supports an emulated ITS
  New machine type: kudo-bmc
  The xlnx-zcu102 and xlnx-versal-virt machines now support
    BBRAM and eFUSE devices
  The 'virt' machine now supports more than 123 CPUs in TCG emulation mode
  The pl031 real-time clock device now supports sending RTC_CHANGE QMP events
PowerPC
  Improved POWER10 support for the 'powernv' machine
  Initial support for POWER10 DD2.0 CPU added
  Added support for FORM2 PAPR NUMA descriptions in the "pseries" machine type
RISC-V
  Add Zb[abcs] instruction support
  Remove RVB support
  Fixup virt flash node
  Don't override users supplied ISA version
  Fixup some CSR accesses
  Fix an overflow in the SiFive CLINT
  ePMP CSR address updates
  SiFive PWM support
  Support for RISC-V ACLINT
  Support vhost-user and numa mem options on all boards
  mstatus.SD bug fix for hypervisor extensions
  OpenTitan fix for USB dev address
  OpenTitan update to latest bitstream build
  Remove the Ibex PLIC
  Bug fix of setting mstatus_hs.[SD|FS] bits
  Fixes for sifive PDMA
  Mark shakti_c as not user creatable
  Add support for the experimental J extension
  Update the fmin/fmax handling
s390x
  Improved storage key emulation
  New gen16 CPU features are now enabled automatically
SPARC
  Fix for booting sun4m machines with more than 1 CPU
x86
  New Snowridge-v4 CPU model, with split-lock-detect feature disabled
KVM
  Support for SGX in the virtual machine
  New "hv-apicv" CPU property (aliased to "hv-avic")
AMD SEV
  Measured launch with direct kernel boot is now possible
virtio
  QEMU now fully supports guest memory dumps with virtio-mem.
  QEMU now cleanly supports precopy/postcopy migration & background snapshots
9pfs
  Fixed an occasional crash when handling 'Twalk' requests
  Fixed sub-optimal I/O performance on guest
QMP
  New event DEVICE_UNPLUG_GUEST_ERROR
Block device backends and tools
  qemu-nbd now defaults to writeback caching
  qemu-nbd now has a --selinux-label option for Unix socket label
TCG
  plugins now have a bool arg parsing helper and cleaned up argument syntax
  the cache plugin is now multi-core aware

Revision 1.188 / (download) - annotate - [select for diffs], Tue Oct 26 10:23:59 2021 UTC (2 years, 5 months ago) by nia
Branch: MAIN
Changes since 1.187: +3 -3 lines
Diff to previous 1.187 (colored) to selected 1.109 (colored)

emulators: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

The following distfiles could not be fetched (mostly distfiles fetched
conditionally...):

./emulators/compat30/distinfo compat30-alpha-3.1.tar.bz2
./emulators/compat30/distinfo compat30-arm-3.1.tar.bz2
./emulators/compat30/distinfo compat30-m68k-3.1.tar.bz2
./emulators/compat30/distinfo compat30-mipseb-3.1.tar.bz2
./emulators/compat30/distinfo compat30-mipsel-3.1.tar.bz2
./emulators/compat30/distinfo compat30-powerpc-3.1.tar.bz2
./emulators/compat30/distinfo compat30-sh3eb-3.1.tar.bz2
./emulators/compat30/distinfo compat30-sh3el-3.1.tar.bz2
./emulators/compat30/distinfo compat30-sparc-3.1.tar.bz2
./emulators/compat30/distinfo compat30-sparc64-3.1.tar.bz2
./emulators/compat30/distinfo compat30-vax-3.1.tar.bz2
./emulators/compat51-x11/distinfo compat51-x11-alpha-5.1.tar.bz2
./emulators/compat51-x11/distinfo compat51-x11-arm-5.1.tar.bz2
./emulators/compat51-x11/distinfo compat51-x11-m68k-5.1.tar.bz2
./emulators/compat51-x11/distinfo compat51-x11-mipseb-5.1.tar.bz2
./emulators/compat51-x11/distinfo compat51-x11-mipsel-5.1.tar.bz2
./emulators/compat51-x11/distinfo compat51-x11-powerpc-5.1.tar.bz2
./emulators/compat51-x11/distinfo compat51-x11-sparc-5.1.tar.bz2
./emulators/compat51-x11/distinfo compat51-x11-sparc64-5.1.tar.bz2
./emulators/xbeeb/distinfo BASIC2.rom
./emulators/xbeeb/distinfo OS-1.2.rom
./emulators/compat61/distinfo 20150430/compat61-alpha-6.1.tar.bz2
./emulators/compat61/distinfo 20150430/compat61-arm-6.1.tar.bz2
./emulators/compat61/distinfo 20150430/compat61-m68k-6.1.tar.bz2
./emulators/compat61/distinfo 20150430/compat61-mips64eb-6.1.tar.bz2
./emulators/compat61/distinfo 20150430/compat61-mips64el-6.1.tar.bz2
./emulators/compat61/distinfo 20150430/compat61-mipseb-6.1.tar.bz2
./emulators/compat61/distinfo 20150430/compat61-mipsel-6.1.tar.bz2
./emulators/compat61/distinfo 20150430/compat61-powerpc-6.1.tar.bz2
./emulators/compat61/distinfo 20150430/compat61-sparc-6.1.tar.bz2
./emulators/compat61/distinfo 20150430/compat61-sparc64-6.1.tar.bz2
./emulators/compat16/distinfo compat16-alpha-1.6.2.tar.bz2
./emulators/compat16/distinfo compat16-arm-1.6.2.tar.bz2
./emulators/compat16/distinfo compat16-m68k-1.6.2.tar.bz2
./emulators/compat16/distinfo compat16-mipseb-1.6.2.tar.bz2
./emulators/compat16/distinfo compat16-mipsel-1.6.2.tar.bz2
./emulators/compat16/distinfo compat16-powerpc-1.6.2.tar.bz2
./emulators/compat16/distinfo compat16-sparc-1.6.2.tar.bz2
./emulators/compat16/distinfo compat16-sparc64-1.6.2.tar.bz2
./emulators/compat16/distinfo compat16-vax-1.6.2.tar.bz2
./emulators/compat40/distinfo 20071230/compat40-alpha-4.0.tar.bz2
./emulators/compat40/distinfo 20071230/compat40-arm-4.0.tar.bz2
./emulators/compat40/distinfo 20071230/compat40-m68k-4.0.tar.bz2
./emulators/compat40/distinfo 20071230/compat40-mipseb-4.0.tar.bz2
./emulators/compat40/distinfo 20071230/compat40-mipsel-4.0.tar.bz2
./emulators/compat40/distinfo 20071230/compat40-powerpc-4.0.tar.bz2
./emulators/compat40/distinfo 20071230/compat40-sh3eb-4.0.tar.bz2
./emulators/compat40/distinfo 20071230/compat40-sh3el-4.0.tar.bz2
./emulators/compat40/distinfo 20071230/compat40-sparc-4.0.tar.bz2
./emulators/compat40/distinfo 20071230/compat40-sparc64-4.0.tar.bz2
./emulators/compat20/distinfo compat20-alpha-2.1.tar.bz2
./emulators/compat20/distinfo compat20-arm-2.1.tar.bz2
./emulators/compat20/distinfo compat20-m68k-2.1.tar.bz2
./emulators/compat20/distinfo compat20-mipseb-2.1.tar.bz2
./emulators/compat20/distinfo compat20-mipsel-2.1.tar.bz2
./emulators/compat20/distinfo compat20-powerpc-2.1.tar.bz2
./emulators/compat20/distinfo compat20-sh3eb-2.1.tar.bz2
./emulators/compat20/distinfo compat20-sh3el-2.1.tar.bz2
./emulators/compat20/distinfo compat20-sparc-2.1.tar.bz2
./emulators/compat20/distinfo compat20-sparc64-2.1.tar.bz2
./emulators/compat20/distinfo compat20-vax-2.1.tar.bz2
./emulators/compat50-x11/distinfo compat50-x11-sparc64-5.0.tar.bz2
./emulators/compat12/distinfo compat12-m68k-1.2.1.tar.bz2
./emulators/compat12/distinfo compat12-ns32k-1.2.tar.bz2
./emulators/compat12/distinfo compat12-sparc-1.2.1.tar.bz2
./emulators/compat15/distinfo compat15-alpha-1.5.3.tar.bz2
./emulators/compat15/distinfo compat15-arm-1.5.3.tar.bz2
./emulators/compat15/distinfo compat15-m68k-1.5.3.tar.bz2
./emulators/compat15/distinfo compat15-mipsel-1.5.3.tar.bz2
./emulators/compat15/distinfo compat15-ns32k-1.5.3.tar.bz2
./emulators/compat15/distinfo compat15-powerpc-1.5.3.tar.bz2
./emulators/compat15/distinfo compat15-sparc-1.5.3.tar.bz2
./emulators/compat15/distinfo compat15-sparc64-1.5.2.tar.bz2
./emulators/compat15/distinfo compat15-vax-1.5.3.tar.bz2
./emulators/compat50/distinfo compat50-alpha-5.0.tar.bz2
./emulators/compat50/distinfo compat50-arm-5.0.tar.bz2
./emulators/compat50/distinfo compat50-m68k-5.0.tar.bz2
./emulators/compat50/distinfo compat50-mipseb-5.0.tar.bz2
./emulators/compat50/distinfo compat50-mipsel-5.0.tar.bz2
./emulators/compat50/distinfo compat50-powerpc-5.0.tar.bz2
./emulators/compat50/distinfo compat50-sparc-5.0.tar.bz2
./emulators/compat50/distinfo compat50-sparc64-5.0.tar.bz2
./emulators/compat16-extras/distinfo compat16-extras-sparc-1.6.2.tar.bz2
./emulators/compat40-extras/distinfo 20071230/compat40-extras-sparc-4.0.tar.bz2
./emulators/compat15-extras/distinfo compat15-extras-sparc-1.5.3.tar.bz2
./emulators/compat60/distinfo 20150428/compat60-alpha-6.0.tar.bz2
./emulators/compat60/distinfo 20150428/compat60-arm-6.0.tar.bz2
./emulators/compat60/distinfo 20150428/compat60-m68k-6.0.tar.bz2
./emulators/compat60/distinfo 20150428/compat60-mipseb-6.0.tar.bz2
./emulators/compat60/distinfo 20150428/compat60-mipsel-6.0.tar.bz2
./emulators/compat60/distinfo 20150428/compat60-powerpc-6.0.tar.bz2
./emulators/compat60/distinfo 20150428/compat60-sparc-6.0.tar.bz2
./emulators/compat60/distinfo 20150428/compat60-sparc64-6.0.tar.bz2
./emulators/compat61-x11/distinfo 20150430/compat61-x11-alpha-6.1.tar.bz2
./emulators/compat61-x11/distinfo 20150430/compat61-x11-arm-6.1.tar.bz2
./emulators/compat61-x11/distinfo 20150430/compat61-x11-m68k-6.1.tar.bz2
./emulators/compat61-x11/distinfo 20150430/compat61-x11-mips64eb-6.1.tar.bz2
./emulators/compat61-x11/distinfo 20150430/compat61-x11-mips64el-6.1.tar.bz2
./emulators/compat61-x11/distinfo 20150430/compat61-x11-mipseb-6.1.tar.bz2
./emulators/compat61-x11/distinfo 20150430/compat61-x11-mipsel-6.1.tar.bz2
./emulators/compat61-x11/distinfo 20150430/compat61-x11-powerpc-6.1.tar.bz2
./emulators/compat61-x11/distinfo 20150430/compat61-x11-sparc-6.1.tar.bz2
./emulators/compat61-x11/distinfo 20150430/compat61-x11-sparc64-6.1.tar.bz2
./emulators/osf1_lib/distinfo netscape-4.7-3.alpha.rpm
./emulators/compat20-extras/distinfo compat20-extras-sparc-2.1.tar.bz2
./emulators/compat30-extras/distinfo compat30-extras-sparc-3.1.tar.bz2
./emulators/compat30-extras/distinfo compat30-extras-vax-3.1.tar.bz2
./emulators/compat14/distinfo compat14-alpha-1.4.3.tar.bz2
./emulators/compat14/distinfo compat14-arm-1.4.3.tar.bz2
./emulators/compat14/distinfo compat14-m68k-1.4.3.tar.bz2
./emulators/compat14/distinfo compat14-mipsel-1.4.3.tar.bz2
./emulators/compat14/distinfo compat14-ns32k-1.4.2.tar.bz2
./emulators/compat14/distinfo compat14-powerpc-1.4.3.tar.bz2
./emulators/compat14/distinfo compat14-sparc-1.4.3.1.tar.bz2
./emulators/compat14/distinfo compat14-vax-1.4.3.tar.bz2
./emulators/compat51/distinfo compat51-alpha-5.1.tar.bz2
./emulators/compat51/distinfo compat51-arm-5.1.tar.bz2
./emulators/compat51/distinfo compat51-m68k-5.1.tar.bz2
./emulators/compat51/distinfo compat51-mipseb-5.1.tar.bz2
./emulators/compat51/distinfo compat51-mipsel-5.1.tar.bz2
./emulators/compat51/distinfo compat51-powerpc-5.1.tar.bz2
./emulators/compat51/distinfo compat51-sparc-5.1.tar.bz2
./emulators/compat51/distinfo compat51-sparc64-5.1.tar.bz2
./emulators/compat13/distinfo compat13-alpha-1.3.3.tar.bz2
./emulators/compat13/distinfo compat13-arm-1.3.2.tar.bz2
./emulators/compat13/distinfo compat13-m68k-1.3.3.tar.bz2
./emulators/compat13/distinfo compat13-mipsel-1.3.3.tar.bz2
./emulators/compat13/distinfo compat13-ns32k-1.3.3.tar.bz2
./emulators/compat13/distinfo compat13-sparc-1.3.3.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-alpha-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-arm-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-armeb-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-armv6hf-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-armv7hf-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-earm-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-earmv7hfeb-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-m68k-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-mips64eb-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-mips64el-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-mipseb-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-mipsel-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-powerpc-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-sh3eb-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-sh3el-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-sparc-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-sparc64-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-vax-8.0.tar.bz2

Revision 1.187 / (download) - annotate - [select for diffs], Thu Oct 7 13:49:37 2021 UTC (2 years, 5 months ago) by nia
Branch: MAIN
Changes since 1.186: +1 -3 lines
Diff to previous 1.186 (colored) to selected 1.109 (colored)

emulators: Remove SHA1 hashes for distfiles

Revision 1.186 / (download) - annotate - [select for diffs], Sun Sep 19 13:49:12 2021 UTC (2 years, 6 months ago) by yhardy
Branch: MAIN
CVS Tags: pkgsrc-2021Q3-base, pkgsrc-2021Q3
Changes since 1.185: +2 -1 lines
Diff to previous 1.185 (colored) to selected 1.109 (colored)

emulators/qemu: fix crash in slirp:tcp_subr.c

Reported upstream to the qemu and slirp projects (thanks to Marc), fixed in

 https://gitlab.freedesktop.org/slirp/libslirp/-/commit/23db43abdb5740287bbb7cbf5cc99eb22e121298

This adds the corresponding patch for qemu-6.1.0.

Revision 1.185 / (download) - annotate - [select for diffs], Fri Sep 10 19:44:37 2021 UTC (2 years, 6 months ago) by nia
Branch: MAIN
Changes since 1.184: +2 -1 lines
Diff to previous 1.184 (colored) to selected 1.109 (colored)

qemu: add patch checksum

Revision 1.184 / (download) - annotate - [select for diffs], Sun Sep 5 20:58:16 2021 UTC (2 years, 6 months ago) by nia
Branch: MAIN
Changes since 1.183: +3 -2 lines
Diff to previous 1.183 (colored) to selected 1.109 (colored)

qemu: Re-add NetBSD 9 NVMM support.

Revision 1.183 / (download) - annotate - [select for diffs], Fri Aug 27 03:32:37 2021 UTC (2 years, 7 months ago) by ryoon
Branch: MAIN
Changes since 1.182: +9 -39 lines
Diff to previous 1.182 (colored) to selected 1.109 (colored)

qemu: Update to 6.1.0

* 6.1.0 release has NetBSD NVMM support.
* Fix NetBSD NVMM compile errors.
* Remove integrated Alpha patches.

Changelog:
Highlights include:

  * block: support for changing block node options after creation via
    'blockdev-reopen' QMP command
  * Crypto: more performant backend recommendations and improved documentation
  * I2C: emulation support for I2C muxes (pca9546, pca9548) and PMBus
  * TCG Plugins: now enabled by default, with new execlog and cache modelling
    plugins.
  * ARM: new board support for Aspeed (rainier-bmc, quanta-q7l1), npcm7xx
    (quanta-gbs-bmc), and Cortex-M3 (stm32vldiscovery) based machines
  * ARM: Aspeed support of Hash and Crypto Engine
  * ARM: emulation support for SVE2 (including bfloat16), integer matrix
    multiply accumulate operations, TLB invalidate in Outer Shareable domain,
    TLB range invalidate, and more.
  * PowerPC: pseries: support for detecting hotplug failures in newer guests
  * PowerPC: pseries: increased maximum CPU count
  * PowerPC: pseries: emulation support for some POWER10 prefixed instructions
  * PowerPC: new board support for Genesi/bPlan Pegasos II (pegasos2)
  * RISC-V: updates to OpenTitan platform support, including OpenTitan timer
  * RISC-V: support for virtio-vga
  * RISC-V: documentation improvements and general code cleanups/fixes
  * s390: emulation support for the vector-enhancements facility
  * s390: support for gen16 CPU models
  * x86: new Intel CPU model versions with support for XSAVES instruction
  * x86: added ACPI based PCI hotplug support for Q35 machine (now the default)
  * x86: improvements to emulation of AMD virtualization extensions
  * and lots more...

Revision 1.182 / (download) - annotate - [select for diffs], Fri Jul 9 21:08:33 2021 UTC (2 years, 8 months ago) by schmonz
Branch: MAIN
Changes since 1.181: +2 -2 lines
Diff to previous 1.181 (colored) to selected 1.109 (colored)

Apply upstream commit 75eebe0 to fix macOS Big Sur build (working around
C++ "version" vs. "VERSION" crud).

Revision 1.181 / (download) - annotate - [select for diffs], Tue Jun 22 04:09:06 2021 UTC (2 years, 9 months ago) by thorpej
Branch: MAIN
CVS Tags: pkgsrc-2021Q2-base, pkgsrc-2021Q2
Changes since 1.180: +2 -1 lines
Diff to previous 1.180 (colored) to selected 1.109 (colored)

Uptream patch (that's in the pipeline) to address an issue in
qemu-system-alpha where FEN traps were never generated.  Fixes
a whole slew of FP-related problems on NetBSD/alpha running in
Qemu (including a broken jot(1)).

Bump package version to qemu-6.0.0nb2.

Revision 1.180 / (download) - annotate - [select for diffs], Wed Jun 16 09:39:17 2021 UTC (2 years, 9 months ago) by jperkin
Branch: MAIN
Changes since 1.179: +2 -1 lines
Diff to previous 1.179 (colored) to selected 1.109 (colored)

qemu: Fix build on SunOS.

Revision 1.179 / (download) - annotate - [select for diffs], Tue Jun 1 16:28:05 2021 UTC (2 years, 9 months ago) by nia
Branch: MAIN
Changes since 1.178: +2 -2 lines
Diff to previous 1.178 (colored) to selected 1.109 (colored)

qemu: Fix build on NetBSD/x86 9.0

Based on an earlier NVMM patch reinoud sent to qemu-devel.

Revision 1.178 / (download) - annotate - [select for diffs], Mon May 24 14:22:08 2021 UTC (2 years, 10 months ago) by ryoon
Branch: MAIN
Changes since 1.177: +21 -21 lines
Diff to previous 1.177 (colored) to selected 1.109 (colored)

qemu: Update to 6.0.0

* Add zstd dependency.

Changelog:
== System emulation ==

=== Incompatible changes ===

Consult the [https://qemu-project.gitlab.io/qemu/system/removed-features.html 'Removed features' ] page for details of suggested replacement functionality

* The deprecated ''pc-1.0'', ''pc-1.1'', ''pc-1.2'' and ''pc-1.3'' machine types have been removed (they likely could not be used for live migration from old QEMU versions anymore anyway). Use a newer ''pc-i440fx-...'' machine type instead.
* TileGX emulation has been removed without replacement
* The ''change'' QMP command has been removed. Use ''blockdev-change-medium'' or ''change-vnc-password'' instead.
* The ''-show-cursor'' option has been removed. Use ''-display sdl,show-cursor=on'' instead.
* The ''-realtime'' option has been removed. Use ''-overcommit mem-lock=on|off' instead.
* The ''-tb-size'' option has been removed. Use ''-accel tcg,tb-size=...'' instead.
* The configure script --enable/disable-git-update args have been replaced with --with-git-submodules
* The ''-usbdevice audio'' option has been removed.  Use ''-device usb-audio'' instead.
* The ''-usbdevice ccid'' option has been removed with no replacement
* The ''-vnc'' parameter ''acl'' option, and ''acl_*'' monitor commands have been removed.
* The ''pretty'' option is no longer accepted when used with the human monitor
* The ''change'' QMP command has been removed. Use ''blockdev-change-medium'' or ''change-vnc-password'' instead.
* The ''query-events'' QMP command has been removed
* The ''migrate_set_speed'', ''migrate_set_downtime'' and ''migrate-set-cache-size'' QMP/HMP commands have been removed.
* The ''query-cpus'' QMP command has been removed
* The ''arch'' field in the ''query-cpus-fast'' command has been removed
* The ''-chardev'' parameter ''wait'' option is no longer accepted for socket clients
* The ''ide-drive'' device type has been removed
* The ''scsi-disk'' device type has been removed
* The ''encryption_key_missing'' field has been removed from block device info data
* The ''status'' field has been removed from dirty bitmap info
* The ''dirty-bitmaps'' field has been removed from the ''BlockInfo'' struct
* The ''file'' block driver no longer permits use with block devices
* The use of ''-global'' to set floppy controllers is removed. Use ''-device floppy,...'' instead.
* The ''-drive'' option must now use ''if=none'' for drives the onboard device does not pick up.
* The ''object-add'' QMP command member ''props'' has been removed.  Its contents may be used with less nesting instead.
* The mips ''fulong2e'' machine alias has been removed. Use ''fuloong2e'' instead.

=== 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 further details of the deprecations and their suggested replacements.

* The --enable-fips option has been deprecated. Consumers wishing to have FIPS compliance must build QEMU with libcrypt and gnutls, NOT nettle.
* The ''-writeconfig'' option has been deprecated. The functionality of ''-writeconfig'' is limited and the code does not even try to detect cases where it prints incorrect syntax (for example if values have a quote in them). It will be removed without replacement.
* Boolean parameters such as ''share=on'' / ''share=off'' could be written in short form as ''share'' and ''noshare''.  This is now deprecated and will cause a warning.
* ''-chardev'' backend aliases ''tty'' and ''parport'' are aliases that will be removed. Instead, the actual backend names ''serial'' and ''parallel'' should be used.
* The ''delay'' option for socket character devices is now deprecated.
* Userspace local APIC with KVM (''-M kernel-irqchip=off'')
* hexadecimal sizes with scaling multipliers (e.g. ''0x20M'')
* ''-spice password=string'' is deprecated now. Use ''password-secret'' option instead.
* ''opened'' property of ''rng-*'' objects
* ''loaded'' property of ''secret'' and ''secret_keyring''
* MIPS ''Trap-and-Emulate'' KVM support

=== 68k ===

* Add a new machine, virt, based on virtio devices

=== Alpha ===

=== Arm ===

* QEMU now supports emulation of the Arm-v8.1M architecture and the Cortex-M55 CPU
* Emulation of the ARMv8.4-TTST extension is now supported
* Emulation of the ARMv8.4-SEL2 extension is now supported
* Emulation of the FEAT_SSBS extension is now supported
* Emulation of the PAuth extension now supports an optional IMPDEF pauth algorithm which is not cryptographically secure but is much faster to compute
* Emulation of the ARMv8.4-DIT extension is now supported. (Note that QEMU's implementation does not in fact provide any timing guarantees; emulation of the extension is purely to support guests which query its presence and work with the PSTATE.DIT bit.)
* Emulation of the ARMv8.5-MemTag extension is now supported for linux-user. (It was already supported for system emulation.)
* xlnx-zynqmp boards now support the Xilinx ZynqMP CAN controllers
* the sbsa-ref board now supports Cortex-A53/57/72 cpus
* the xlnx-versal board now has USB support, and a model of the XRAMs and the XRAM controller
* the sabrelite board emulation has been improved and it can now run U-Boot
* the npcm7xx boards support more devices: ADC, PWM, SMBus, EMC, MFT
* the gdbstub's representation of SVE registers allows GDB to properly handle aliasing
* the 'virt' board now provides a mechanism for secure (EL3) firmware to power down or reset the system
* documentation for vexpress/versatile has been updated with example kernel configuration/command lines
* A new board model mps3-an524 (using Cortex-M33) is now implemented
* A new board model mps3-an547 (using Cortex-M55) is now implemented

=== AVR ===

=== Hexagon ===

* QEMU can now emulate Qualcomm's Hexagon DSP units.

=== HPPA ===

=== Microblaze ===

=== MIPS ===
* Loongson-3 "virt" machine added

=== Nios2 ===

=== OpenRISC ===

=== PowerPC ===
* Deprecated 'compat' property of server class POWER cpus removed (use the 'max-cpu-compat' machine option instead)
* You can now explicitly choose 'kvm_type=auto' rather than only being able to do that by not setting it at all.
* powernv machine type now defaults to 1GiB of RAM
* powernv now allows an external BMC
* pseries will now send MEM_UNPLUG_ERROR QAPI message in cases where it can detect that a memory unplug has failed
* pseries will now allow cpu unplug requests to be retried, even if the guest hasn't responded to them yet.
  * This will re-signal the guest, which might an unplug to complete which the guest previous rejected

=== Renesas RX ===

=== Renesas SH ===

=== RISC-V ===
* Improve the sifive_u DTB generation
* Add QSPI NOR flash to Microchip PFSoC
* Improvements to the Microchip PFSoc to improve support with the SDK
* A range of fixes to the Hypervisor extension
* Fix some mstatus mask defines
* Ibex PLIC and UART improvements
* OpenTitan memory layout update (Breaking change)
* Initial steps towards support for 32-bit CPUs on 64-bit builds
* Automate GDB XML generation (should fix GDB E14 errors)
* Sifive OTP handle OTP access failures
* Correctly generate a PMP failure when no PMP entry is configured
* Fixes to PMP region checking
* Fix 32-bit Linux boot problems with DTB placement
* OpenSBI upgraded to v0.9
* Support the QMP dump-guest-memory command
* Add support for the SiFive SPI controller (sifive_u)
* Initial RISC-V system documentation
* Support for high PCIe memory in the virt machine
* Fixes to the vector extensions CSR accesses
* ramfb support in the virt machine

=== s390 ===
* Linux kernels built with clang-11 and clang-12 now work correctly under tcg

=== SPARC ===

=== TileGX ===

* TileGX has been removed without replacement.TileGX was only implemented in linux-user mode, but support for this CPU was removed from the upstream Linux kernel in 2018, and it has also been dropped from glibc, so there is no new Linux development taking place with this architecture, rendering the linux-user mode emulation rather useless. For running older binaries, users can simply use older versions of QEMU.

=== Tricore ===
* Added Triboard with tc27x SoC

=== x86 ===
* TCG can emulate the PKS feature (protection keys for supervisor pages).
* Intel PT can now be exposed to KVM guests when <code>CPUID.(EAX=14,ECX=0).ECX[LIP]</code> (bit 31) is 1. Previous versions only supported Intel PT when LIP=0
* New <code>sev-inject-launch-secret</code> QMP command
* The WHPX accelerator supports accelerated APIC ("-accel whpx,kernel-irqchip=on")
* The microvm machine type got a second (optional) ioapic for the virtio-mmio irq lines, which in turn allows 24 (instead of 8) virtio-mmio devices.
* Support for running SEV-ES encrypted guests.

=== Xtensa ===

=== Device emulation and assignment ===

==== ACPI ====
* new ''-machine'' options ''oem-id'' and ''oem-table-id'' to allow setting custom values for ''OEM ID'' and ''OEM table ID'' ACPI table fields
* in QEMU 5.1, PCI root UID changed to from 1 to 0 for all x86 machine types, this caused issues in Windows guest with virtio devices being re-enumeraed as new devices. QEMU 6.0 fixes it by reverting UID to 1 for 5.1 and older machine types. See commit 0a343a5add75 for details. For 5.2 and later machine types it might be necessary to reconfigure/reinstall Windows VM, if used disk image was created on 5.1 and older machine types.
* Support for user provided PCI NIC index on ''pc'' machine type with help of new ''acpi-index'' PCI device option. For linux guests, It lets user to use ''onboard'' naming scheme ''enoX'' where X is set with ''acpi-index'' option. It makes NIC naming independent from which PCI slot it is plugged in. Works with cold and hot-plugged NICs, as long as used PCI bus is managed by ACPI PCI hotplug (which is enabled for PCI root bus and bridges present at boot time by default on latest ''pc'' machine type ).

==== Audio ====

==== Block devices ====
* virtio-blk reports <tt>--device virtio-blk-pci,discard_granularity=</tt> in the virtio-blk <tt>discard_sector_alignment</tt> configuration space field so that guests with new machine types can take advantage of this information. Previously virtio-blk devices reported <tt>--device virtio-blk-pci,logical_block_size=</tt> instead.

==== Graphics ====

==== Input devices ====

==== IPMI ====

==== Multi-process QEMU ====

* The experimental <code>-machine x-remote</code> and <code>-device x-pci-proxy-dev</code> options have been added to support out-of-process device emulation. Currently only the <code>lsi53c895</code> SCSI device can be emulated in a separate process. Please see [https://qemu.readthedocs.io/en/latest/system/multi-process.html the documentation] and [[Features/MultiProcessQEMU]] for details on this experimental feature, which is still subject to change.

==== Network devices ====

==== NVDIMM ====

* nvdimm devices will check that <code>-device nvdimm,unarmed=on</code>  option is used when using <code>-object memory-backend-file,readonly=on</code>

==== NVMe ====

===== Emulated NVMe Controller =====

* ''Highlights''
** The implemented spec version has been bumped to v1.4
** Experimental support for Zoned Namespaces (TP 4053) has been added
** Experimental support for NVM Subsystems, multipath I/O and namespace sharing
** Experimental support for Metadata and End-to-End Data Protection
* ''New commands''
** Dataset Management
** Compare
** Simple Copy (TP 4065)
** Format NVM
** Verify
* ''Other new features''
** Support for reporting the Deallocated or Unwritten Logical Block Error (DULBE)
** Namespace UUID reported as a Namespace Descriptor
** Support for Namespace Types (TP 4056)
** Support for triggering a SMART Critical Warning through QMP
** Controller Memory Buffer support has been enhanced for NVMe v1.4 (to revert to v1.3 behavior, use the new <code>legacy-cmb</code> controller parameter)
** Persistent Memory Region RDS/WDS support
* ''New log pages''
** Commands Supported and Effects

==== PCI/PCIe ====

* The 'pvpanic-pci' device is a PCI-device version of the 'pvpanic' ISA device, which can be used on systems with only PCI and no ISA bus as a mechanism for the guest to inform QEMU that it has paniced.

==== SCSI ====
* Rework of the ESP SCSI emulation to allow mixed FIFO/(P)DMA commands along with various other fixes

==== SD card ====

==== SMBIOS ====

==== TPM ====

==== USB ====

* Support for writing usb traffic to package capture files for inspection with wireshark has been added.  Use the new pcap=<file> property added to all usb devices to enable this.

==== VFIO ====

==== virtio ====

==== Xen ====

* A new [https://qemu.readthedocs.io/en/latest/system/guest-loader.html guest loader] which allows testing of Xen-like hypervisors booting kernels without messing around with firmware/bootloaders

==== fw_cfg ====

==== 9pfs ====

==== virtiofs ====
* Security fix for CVE-2020-35517 - prevent opening of special files
* Security fix for CVE-2021-20263 - when used with xattrmap, drop remapped security.capability
* Performance improvements with new guest kernel feature FUSE_KILLPRIV_V2

==== Semihosting ====
* Added support for RiscV (ARM style s= Character devices ===

=== Crypto subsystem ===

==== experimental qmp interface ====

=== GUI ===
* vnc: support for cursors with alpha channel has been added.
* vnc: support for extended desktop resize has been added.  With virtio-vga the guest displab representation for SVE registers

=== TCG Plugins ===

* New API for querying details about HW access
* Bug fix to avoid double counting some instructions when using -icount

=== Host support ===

=== Memory backends ===

* hostmem-file: added readonly=lation to NBD_STATE_HOLE.
* ''qemu-img'' gained more accurate parsing for size values.  Previously, only 53 significant digits were supported, and large sizes could end up with inadvertent rounding; now the parser supports a full 64 bits of precision.
* The ''object-add'' QMP command is now available in qemu-storage-daemon.
* qemu-storage-daemon supports a ''--pidfile'' option now
* The ''parallels'' image format driver has gained support for dirty bitmaps in read-only mode

=== Tracing ===

=== Miscellaneous ===
* The command line option ''-object'' (or ''--object'') accepts JSON input now in all binaries (system emulators and tools). In tools, it also supports non-scalar options using the dotted key syntax known from options like ''--blockdev''.
* The QMP command ''object-add'' is now covered by the QAPI schema and clients can use schema introspection to detect object types and options supported by the given QEMU binary.
* A new command line option ''-action'', with suboptions ''panic'', ''shutdown'', ''reboot'' and ''watchdog''.  ''-action'' subsumes the pre-existing options ''-no-shutdown'' (''-action panic=pause,shutdown=pause''), ''-no-reboot'' (''-action reboot=shutdown'') and ''-watchdog-action''; plus, it allows the user to choose whether guest panic should pause the guest (''-action panic=pause''), shut it down (''-action panic=poweroff'', the default) or be ignored (''-action panic=none'').
* A new generic machine option ''confidential-guest-support'' was added to (partially) unify configuration for AMD SEV memory encrypt, POWER PEF and s390 Protected Virtualization, plus future methods of protecting a guest from eavesdropping by a compromised hypervisor.
* A new [https://qemu.readthedocs.io/en/latest/system/guest-loader.html guest loader] whications.

== User-mode emulation ==
=== binfmt_misc ===

Added support of 'P' flag (preserve-argv[0])

With kernel v5.12, QEMU can detect if it is started with preserve-argv[0] flag and adjust the list of arguments accordingly.

=== Hexagon ===

Added support for the Qualcomm Hexagon processor, in linux-user mode only.

For more information, see [https://www.youtube.com/watch?v=3EpnTYBOXCI our presenation from the 2019 KVM Forum]
or the [https://github.com/qemu/qemu/blob/master/target/hexagon/README README] file

== TCG ==

* Added support for Apple Silicon hosts (macOS)

Revision 1.177 / (download) - annotate - [select for diffs], Sun May 23 13:53:10 2021 UTC (2 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.176: +6 -6 lines
Diff to previous 1.176 (colored) to selected 1.109 (colored)

Fix a bug in the Qemu Alpha PALcode's unaligned access exception vector:
after advancing the PC past the faulting instruction as defined by the
architecture spec, actually store it in the stack frame passed to the
operating system.

Fixes the difference in behavior between Qemu and real hardware in
PR bin/56198.

Revision 1.176 / (download) - annotate - [select for diffs], Wed Mar 31 08:52:27 2021 UTC (2 years, 11 months ago) by reinoud
Branch: MAIN
Changes since 1.175: +2 -2 lines
Diff to previous 1.175 (colored) to selected 1.109 (colored)

Add support for the enhanced NVMM found in -current

Revision 1.175 / (download) - annotate - [select for diffs], Fri Mar 19 13:25:36 2021 UTC (3 years ago) by reinoud
Branch: MAIN
CVS Tags: pkgsrc-2021Q1-base, pkgsrc-2021Q1
Changes since 1.174: +2 -2 lines
Diff to previous 1.174 (colored) to selected 1.109 (colored)

Also provide NVMM acceleration for qemu-system-i386

Revision 1.174 / (download) - annotate - [select for diffs], Sun Mar 14 11:16:45 2021 UTC (3 years ago) by reinoud
Branch: MAIN
Changes since 1.173: +2 -2 lines
Diff to previous 1.173 (colored) to selected 1.109 (colored)

Fix build on NetBSD machines that don't have NVMM capabilities. The logic
would select the nvmm library when it wasn't disabled that later was not
found.

While here, also fix a curses issue introduced in version 5.2.0nb2; it would
not find the appropriate library.

Revision 1.173 / (download) - annotate - [select for diffs], Sat Mar 6 21:50:34 2021 UTC (3 years ago) by leot
Branch: MAIN
Changes since 1.172: +2 -2 lines
Diff to previous 1.172 (colored) to selected 1.109 (colored)

qemu: Readd support for curses(3) (do not force ncursesw)

PKGREVISION++

Revision 1.172 / (download) - annotate - [select for diffs], Sat Mar 6 11:19:34 2021 UTC (3 years ago) by reinoud
Branch: MAIN
Changes since 1.171: +13 -2 lines
Diff to previous 1.171 (colored) to selected 1.109 (colored)

Re-add the NetBSD/amd64 Virtual Memory Monitor (NVMM) support to QEMU 5.2.0

thanks go to Ryo ONODERA <ryo@tetera.org> for his help with the build logic

Revision 1.171 / (download) - annotate - [select for diffs], Tue Feb 23 09:28:33 2021 UTC (3 years, 1 month ago) by wiz
Branch: MAIN
Changes since 1.170: +2 -1 lines
Diff to previous 1.170 (colored) to selected 1.109 (colored)

qemu: add missing build dependency on ninja

Fix some pkglint and an unportable test operator.

Revision 1.170 / (download) - annotate - [select for diffs], Sat Feb 20 22:59:29 2021 UTC (3 years, 1 month ago) by ryoon
Branch: MAIN
Changes since 1.169: +9 -24 lines
Diff to previous 1.169 (colored) to selected 1.109 (colored)

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 <code>extended_l2=on</code> 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: <code>guest-get-devices</code>, <code>guest-get-disks</code> & <code>guest-ssh-{get,add,remove}-authorized-keys</code>
* Support <code>guest-get-fsinfo</code> 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)

Revision 1.169 / (download) - annotate - [select for diffs], Wed Feb 17 17:16:00 2021 UTC (3 years, 1 month ago) by reinoud
Branch: MAIN
Changes since 1.168: +5 -3 lines
Diff to previous 1.168 (colored) to selected 1.109 (colored)

On request create a new target called mipssim-virtio that has the extension
leaving the original target in tact.

Revision 1.168 / (download) - annotate - [select for diffs], Mon Feb 15 22:15:12 2021 UTC (3 years, 1 month ago) by reinoud
Branch: MAIN
Changes since 1.167: +3 -1 lines
Diff to previous 1.167 (colored) to selected 1.109 (colored)

Add *local* patch for the Qemu MIPS target MIPSSIM adding VirtIO devices for
development purposes.

Revision 1.167 / (download) - annotate - [select for diffs], Mon Nov 2 17:17:15 2020 UTC (3 years, 4 months ago) by martin
Branch: MAIN
CVS Tags: pkgsrc-2020Q4-base, pkgsrc-2020Q4
Changes since 1.166: +2 -1 lines
Diff to previous 1.166 (colored) to selected 1.109 (colored)

Avoid an assertion when sparc %pc/%npc are set to invalid values (like
it happens in the NetBSD-current ATF test runs). Bump pkg revision.

Revision 1.166 / (download) - annotate - [select for diffs], Sun Oct 25 08:21:35 2020 UTC (3 years, 5 months ago) by gson
Branch: MAIN
Changes since 1.165: +2 -1 lines
Diff to previous 1.165 (colored) to selected 1.109 (colored)

qemu: fix regression causing failure to boot NetBSD/sparc

Fix the bug of https://bugs.launchpad.net/qemu/+bug/1892540/
by applying the patch submitted by Philippe Mathieu-Daude.
Bump PKGREVISION.

Revision 1.165 / (download) - annotate - [select for diffs], Sat Oct 10 16:29:21 2020 UTC (3 years, 5 months ago) by martin
Branch: MAIN
Changes since 1.164: +2 -1 lines
Diff to previous 1.164 (colored) to selected 1.109 (colored)

PR 54310: fix out of bounds memory write, analyzed and fix provided
by Harold Gutch. Already reported upstream.
Bump pkg revision.

Revision 1.164 / (download) - annotate - [select for diffs], Sun Oct 4 20:39:25 2020 UTC (3 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.163: +20 -1 lines
Diff to previous 1.163 (colored) to selected 1.109 (colored)

Fix several issues in qemu-system-alpha's system emulation and
PALcode.  qemu-system-alpha is now capable of running NetBSD/alpha.

Bump package revision to 6.

Revision 1.163 / (download) - annotate - [select for diffs], Sun Sep 27 21:29:57 2020 UTC (3 years, 6 months ago) by jakllsch
Branch: MAIN
Changes since 1.162: +2 -1 lines
Diff to previous 1.162 (colored) to selected 1.109 (colored)

fix SCSI disk block sizes outside range of 256 to 32768 in qemu

Revision 1.162 / (download) - annotate - [select for diffs], Wed Aug 12 18:31:27 2020 UTC (3 years, 7 months ago) by ryoon
Branch: MAIN
CVS Tags: pkgsrc-2020Q3-base, pkgsrc-2020Q3
Changes since 1.161: +11 -13 lines
Diff to previous 1.161 (colored) to selected 1.109 (colored)

qemu: Update to 5.1.0

Changelog:
Highlights include:

    ARM: support for ARMv8.2 TTS2UXN architecture feature
    ARM: support for ARMv8.5 MemTag architecture feature
    ARM: new board support for sonorapass-bmc
    ARM: virt: support for memory hot-unplug
    ARM: support for nvdimm hotplug for ACPI guests
    AVR: new architecture support for AVR CPUs
    AVR: new board support for Arduino Duemilanove, Arduino Mega 2560, Arduino Mega, and Arduino UNO
    MIPS: support for Loongson 3A CPUs (R1 and R4)
    MIPS: performance improvements for FPU and MSA instruction emulation
    PowerPC: support for guest error recovery via FWNMI
    RISC-V: support for SiFive E34 and Ibex CPUs
    RISC-V: new board support for HiFive1 revB and OpenTitan
    RISC-V: Spike machine now supports more than 1 CPU
    s390: KVM support for protected virtualization (secure execution mode)
    x86: improvements to HVF acceleration support on macOS
    x86: reduced virtualization overhead for non-enlightened Windows guests via Windows ACPI Emulated Device Table
    block: support for 2MB logical/physical blocksizes for virtual storage devices
    crypto: support for passing secrets to QEMU via Linux keyring
    crypto: support for LUKS keyslot management via qemu-img
    NVMe: support for Persistent Memory Region from NVMe 1.4 spec
    qemu-img: additional features added for map/convert/measure commands, as well as support for zstd compression
    qemu-img: support for new 'bitmap' command for manipulating persistent bitmaps in qcow2 files
    virtio: TCG guests can now use vhost-user threads
    virtio: vhost-user now supports registering more than 8 RAM slots
    and lots more...

Revision 1.161 / (download) - annotate - [select for diffs], Tue May 26 07:17:53 2020 UTC (3 years, 10 months ago) by skrll
Branch: MAIN
CVS Tags: pkgsrc-2020Q2-base, pkgsrc-2020Q2
Changes since 1.160: +1 -2 lines
Diff to previous 1.160 (colored) to selected 1.109 (colored)

Remove incorrect patch - the NetBSD/hppa kernel has been fixed.

Revision 1.160 / (download) - annotate - [select for diffs], Sat May 23 15:46:12 2020 UTC (3 years, 10 months ago) by leot
Branch: MAIN
Changes since 1.159: +2 -2 lines
Diff to previous 1.159 (colored) to selected 1.109 (colored)

qemu: Do not duplicate already existing configure nvmm test in pkgsrc Makefile

configure already had the logic to gracefully test for nvmm and if the
corresponding nvmm variable is set to an empty string do that.

No functional nor binary change intended except a CONFIGURE_ARGS difference.

Fixes PR pkg/55049.

Thanks Yasushi Oshima for reporting this problem, sharing an initial
patch and further testing the version committed now!

Revision 1.159 / (download) - annotate - [select for diffs], Sun May 10 11:33:23 2020 UTC (3 years, 10 months ago) by skrll
Branch: MAIN
Changes since 1.158: +3 -2 lines
Diff to previous 1.158 (colored) to selected 1.109 (colored)


Two fixes
- make qemu on aarch64 work (needs fixes in base OS)
- don't assert hppa lasi imr, but simply store the know interrupt bits

bump PKGREVISION

Revision 1.158 / (download) - annotate - [select for diffs], Thu Apr 30 17:16:04 2020 UTC (3 years, 10 months ago) by adam
Branch: MAIN
Changes since 1.157: +7 -8 lines
Diff to previous 1.157 (colored) to selected 1.109 (colored)

qemu: updated to 5.0.0

5.0.0:
Incompatible changes
The bluetooth code has been removed without replacement. It was quite neglected over the years and likely not usable anymore. You can passthrough a dedicated USB bluetooth dongle to guests on most machines instead if you still need bluetooth in your guest.
The pc-0.12, pc-0.13, pc-0.14, pc-0.15 machines have been removed. Newer versions of the machine type should be used instead.
The "prep" ppc machine has been removed. The "40p" machine should be used now instead.
The "-virtfs_synth" option has been removed. You can use "-fsdev synth" together with "-device virtio-9p-..." instead.
The "-accel" and "-machine accel=" options are now incompatible with each other.
The deprecated "[hub_id name]" parameter tuple of 'hostfwd_add' / 'hostfwd_remove' has been removed. Use a "netdev_id" instead.

New deprecated options and features
The "-tb-size N" option has been deprecated. It is replaced by "-accel tcg,tb-size=N".
The virtio-blk SCSI passthrough feature (" -device virtio-blk,scsi=on") is deprecated. Use virtio-scsi instead.
The "r4k" mips machine has been deprecated. The "malta" machine should be used nowadays instead.
Support for using an AArch32 host system to run KVM guests has been deprecated (because the Linux kernel has dropped its support for this) and will be removed in a future version of QEMU. AArch32 guests on an AArch64 host are still supported.

Arm
Support for using an AArch32 host system to run KVM guests is now deprecated (because the Linux kernel has dropped its support for this) and will be removed in a future version of QEMU. AArch32 guests on an AArch64 host are still supported.
Emulation of the following architecture features is now implemented:
- ARMv8.1-VHE
- ARMv8.1-VMID16
- ARMv8.1-PAN
- ARMv8.1-PMU
- ARMv8.2-UAO
- ARMv8.2-DCPoP
- ARMv8.2-ATS1E1
- ARMv8.2-TTCNP
- ARMv8.3-RCPC
- ARMv8.3-CCIDX
- ARMv8.4-PMU
- ARMv8.4-RCPC
The Cortex-M7 CPU is now supported
New board: tacoma-bmc
New board: Netduino Plus 2
New board: Orangepi PC (orangepi-pc)
QEMU now correctly implements trapping of more EL1 system register accesses to EL2 (eg HCR_EL2 TID1, TID2 bits, HSTR_EL2)
The no-op system registers required for a "trivial Jazelle" implementation have been added
The DC CVAP and DC CVADP instructions are now supported
Support for blocking semiconsole SYS_READC
the i.MX RNGC device is now supported
the watchdog device is now implemented on the i.MX6 boards
The Cortex-R5 and -R5f CPUs now provide a PMU
The Exynos4210 SoC model now correctly handles DMA to/from the UARTs
The Aspeed AST2600 SoC model now includes the eMMC controller
Under KVM, we now by default stop and restart the guest generic timer counter when the VM is stopped and started so the guest OS doesn't see surprising time jumps. (This can be disabled with the kvm-no-adjvtime property.)
The Aspeed AST2400, AST2500, AST2600 SoCs now support the EHCI controller
The z2 and mainstone boards now permit booting with just a kernel image and no flash image file
The Allwinner SoC model now wires up the USB ports
The integratorcp board now wires up the audio codec controller
The versal board now implements the ADMA DMA controllers
TPM is now supported
The iMX25 now wires up the eSDHC controllers and the USB controllers
The iMX6 machines wire up the USB controllers
the gdbstub now supports SVE registers
virtio-iommu is now supported with machvirt (DT boot only)

HPPA
Artist graphics emulation added.
PS2 keyboard and mouse added to LASI chip.
Accept LDCW to addresses not aligned mod 16.

MIPS
Support for R4000 machine is announced to be deprecated, and will be removed from code base in QEMU 5.2.
Amended support for MemoryMapID CP0 register.
Amended support for WatchHi CP0 register.
Added support for GINVT instruction.

OpenRISC
Fixed a bug that prevented the DZF bit of the FPCSR being set.

PowerPC
pseries machine type
- No longer require a reconfiguration reboot for a guest selecting XIVE interrupt controller when ic-mode=dual
- Now consumes less host resources when running a KVM guest with XIVE (with a recent enough host kernel). This allows running more concurrent guests with KVM accelerated XIVE.
- New 'kernel-addr' property to control the load address for -kernel
- NVDIMMs with file backend now supported
- If a guest panics with the ibm,os-term RTAS call, the error message it supplies is now reported
- Added firmware assisted NMI (FWNMI) support
- SLOF updated to work with iommu_platform=on for virtio devices
- Better handling of devices hotplugged early in boot (before the ibm,client-architecture-support call)
powernv machine type
- Numerous improvements to the model
- Can now run KVM guests under a TCG emulated powernv machine
- Basic POWER10 support
Removed num-chips machine property, use -smp sockets=NN instead
Deprecated the compat= property on CPUs (it's been obsolete for a while with a pseries specific machine property)
Fixed a longstanding bug if using big-endian ABIv2 binaries with linux-user
Implemented new forms of the slbia instruction present in POWER9

RISC-V
The virt and sifive_u boards now have syscon device tree nodes, which allows the generic syscon drivers in Linux to control power/reboot.
The GDB stub now allows for D on rv32 and non-D on rv64.
The virt board now contains a Goldfish RTC.
Experimental support for version 0.5 of the draft hypervisor extension has been added.

s390
Adpater interrupt suppression is now available when running with KVM (previously disabled due to migration issues); support under tcg has already been available since 2.10
- enable by specifying the cpu feature "ais=on"
QEMU now warns when it fixes up odd memory sizes for compatibility on compat machines
- Only done on compat machines to avoid breaking incoming migrations. If you can, fix up the memory size on old machines or switch to a machine type >= 5.0, which supports 1M increments
- The automatic fixup may be removed in a future version.

Revision 1.157 / (download) - annotate - [select for diffs], Fri Mar 13 13:57:04 2020 UTC (4 years ago) by tnn
Branch: MAIN
CVS Tags: pkgsrc-2020Q1-base, pkgsrc-2020Q1
Changes since 1.156: +2 -1 lines
Diff to previous 1.156 (colored) to selected 1.109 (colored)

qemu: enable iscsi initiator support

Revision 1.156 / (download) - annotate - [select for diffs], Thu Feb 6 23:23:21 2020 UTC (4 years, 1 month ago) by kamil
Branch: MAIN
Changes since 1.155: +2 -2 lines
Diff to previous 1.155 (colored) to selected 1.109 (colored)

qemu: Fix qemu-system-i386 nvmm warning

Revision 1.155 / (download) - annotate - [select for diffs], Thu Feb 6 21:42:29 2020 UTC (4 years, 1 month ago) by kamil
Branch: MAIN
Changes since 1.154: +2 -2 lines
Diff to previous 1.154 (colored) to selected 1.109 (colored)

qemu: Update NVMM patchset to v4

Address build warnings.

Revision 1.154 / (download) - annotate - [select for diffs], Thu Feb 6 16:46:17 2020 UTC (4 years, 1 month ago) by kamil
Branch: MAIN
Changes since 1.153: +11 -2 lines
Diff to previous 1.153 (colored) to selected 1.109 (colored)

nvmm: Merge NVMM support

NVMM v3 patchset pending upstream.

https://lists.gnu.org/archive/html/qemu-devel/2020-02/msg01405.html

Revision 1.153 / (download) - annotate - [select for diffs], Sun Dec 15 18:35:25 2019 UTC (4 years, 3 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q4-base, pkgsrc-2019Q4
Changes since 1.152: +8 -8 lines
Diff to previous 1.152 (colored) to selected 1.109 (colored)

qemu: updated to 4.2.0

4.2.0:

System emulation
----------------
Incompatible changes
On s390x, using KVM now explicitly requires a host kernel version of at least 3.15 (which includes the 'flic' KVM device). This had been broken since QEMU 2.10 already.
On s390x, migration of KVM guests with >8TB of memory from pre-4.2 QEMUs will no longer work. Migration of KVM guests with up to 8TB of memory continues to work, as will migration of >8TB guests from QEMU 4.2 on.
The "autoload" parameter of the "block-dirty-bitmap-add" QMP command has been removed (it's no longer needed).

New deprecated options and features
The "ide-drive" device is deprecated. Users should use 'ide-hd' or "ide-cd" as appropriate to get an IDE hard disk or CD-ROM as needed.
The "change" QMP command has been deprecated. Use "blockdev-change-medium" or "change-vnc-password" instead.
The "migrate_set_downtime", "migrate_set_speed" and "migrate-set-cache-size" QMP commands have been deprecated. Use "migrate-set-parameters" instead.
The "query-migrate-cache-size" QMP command has been deprecated. Use "query-migrate-parameters" instead.
The "scsi-disk" device is deprecated. Users should use 'scsi-hd' or "scsi-cd" as appropriate to get a SCSI hard disk or CD-ROM as needed.
Consult the "Deprecated Features" appendix for the full list of historically deprecated features/options.

68k
Added new "next-cube" machine for emulating a classic NeXTcube (still incomplete, can only boot to the firmware prompt)
Added new "q800" machine for emulating Macintosh Quadra 800 (can only boot Linux, MacOS ROM is not yet supported)

Arm
Added Aspeed AST2600 SoC and evaluation board model support
QEMU's Arm semihosting implementation now supports v2.0 of the specification, including the "STDOUT_STDERR" and "EXIT_EXTENDED" extensions
We now correctly support more than 256 CPUs when using KVM
The virt board now supports memory hotplugging, when used with a UEFI guest BIOS and ACPI.
The raspberry PI models now implement the bcm2835 system timer device and a dummy thermal sensor.
Performance of the TCG emulation of ARM cores has been improved.
SVE is supported in KVM guests (requires SVE hardware and kernel support)

MIPS
Fixed bug involving emulation of ST.W instruction in system mode only (there was no bug in Linux user mode).

PowerPC
Behavior for unplug of multifunction PCI devices has been changed to match x86. Attempting to unplug any function will cause an unplug of the whole slot.
There are now separate machine types for POWER8 based and POWER9 based non-virtualized machines (powernv8 & powernv9).
Default RAM size for powernv machines has been increased to 1.75G which should allow more things to work with the default parameters.
RTAS (runtime firmware) code is now supplied by SLOF (boot time firmware) instead of by qemu itself. This won't affect users in most cases, but will affect users of -bios which bypasses SLOF, which includes kvm-unit-tests. You'll need a sufficiently recent version of kvm-unit-tests to handle this.
mffsce, mffscrn and mffscrni POWER9 instructions now supported in TCG
powernv machine now includes models for the Homer and OCC SRAM system devices
"info pic" HMP command now reports whether the irq chip is emulated in kernel or in qemu
pseries machine type no longer permits NUMA nodes with no CPU and no memory - this was already unlikely to work due to problems expressing this configuration to the guest
On pseries-4.2 and later machine types, "vsmt" is set to be equal to smp_threads by default (previously it was different in some circumstances for compatibility with old KVM versions)
New defaults mean that with the pseries machine type and host kernels prior to 4.13 you may get errors about VSMT mode. You can either update your host kernel or work around this by setting -machine vsmt=8.

RISC-V
The `-initrd` argument is now supported.
The debugger can now see all architectural state regardless of the currently executing privilege mode on each hart.
The sifive_u board now contains additional memory regions that more closely match the board.

s390
TCG now implements IEP (Instruction Execution Protection), a CPU feature introduced with the z14. Until the "qemu" CPU model is lifted to a z14, it can be enabled using the "max" CPU model ("-cpu max").

SPARC
The sun4u IOMMU now support the "invert endianness" bit

x86
VMX features can be enabled/disabled via the "-cpu" flag.
When nested virtualization is enabled with an option like "-cpu Haswell,+vmx", the set of VMX features will also be constrained to what was available on the corresponding CPU model.
New "microvm" machine type that has virtio-mmio instead of PCI, and no ACPI support (so no hotplug too). The new machine type is meant as a baseline for performance optimizations of QEMU, firmware and guests. While inspired by Firecracker it is not entirely compatible with it (for example it does not have Firecracker's userspace IP stack and MicroVM Metadata Service).
Support for AVX512 BFloat16 extensions.
New CPU models: Denverton (a server-class Atom-based SoC), Snowridge, Dhyana
New CPU features clzero and xsaveerptr
Latest version of all CPU models now have TSX (HLE and RTM) disabled by default
Support for new IA32_ARCH_CAPABILITIES flags: MDS_NO, TSX_NO, TSX_CTRL
macOS Hypervisor.framework support ("-accel hvf") is now considered stable

Xtensa
Add new "virt" machine.


Device emulation and assignment

ACPI
ARM machines can use the ACPI generic event device for the system powerdown event

Audio
Audio devices support an "audiodev" property that can be used to choose a specific backend to connect to the device.

Block devices
Unmap operations are now accounted and visible in the output of "query-blockstats"/"info blockstats"

Graphics
Support for more ati-vga registers

IPMI
UUID handling for the built-in IPMI BMC has changed. Before the UUID was set from the qemu UUID, if that was set. However, in a real system, the UUID of a BMC will be independent of the system UUID. So now the UUID must be explicitly set for a BMC if you want one. Otherwise the BMC will not have a UUID. To set the UUID of a BMC, use the new property guid=11223344-5566-7788-99aa-bbccddeeff00 for the ipmi-bmc-sim device.
New PCI interfaces for IPMI KCS and BT devices are available. The devices pci-ipmi-kcs and pci-ipmi-bt are used to choose these devices.

Network devices
Support for network failover for easier migration of VFIO devices.

VFIO
vfio-pci supports the "failover_pair_id" property for easier migration of VFIO devices.

virtio
virtio-mmio now supports the virtio standard compatible v2 personality (still defaulting to the legacy v1 personality for compatibility reasons)
Support for virtio 1.1 packed virtqueues.

9pfs
the "local" backend now has a new 'multidevs' option to deal with cross-device setups (ie. when the shared directory spans over multiple devices on the host)


Character devices
Any backend that supports connection as a socket client (NBD, chardev, network device, monitor...) can now request to use TCP keep-alive with the server.

Crypto subsystem
With new enough gcrypt or nettle libraries, QEMU can now use the library's own XTS cipher mode code. This provides a potentially huge performance boost for AES-XTS encryption, which benefits the LUKS disk encryption block driver I/O performance.

Monitor
Fix not to leave the monitor wedged when the client disconnects while the queue is full, and the event timing is unlucky.

QMP
query-machines now report the default CPU type for each machine

Migration
The 'validate-uuid' migration compatibility checks the UUID matches on migration, preventing accidental migration of the wrong VM to the wrong destination. (Yury Kotov)

Network
The user mode host network backend now allows to set a guest-visible DNS address which is not in the virtual network, unless restrict mode is enabled.

Block device backends and tools
Block drivers can now support BDRV_REQ_PREFETCH for more efficient handling of copy-on-read requests; the NBD driver has wired this up to NBD_CMD_CACHE.
The LUKS block driver supports falloc/full preallocation.
The NBD server now advertises NBD_FLAG_CAN_MULTI_CONN on shared readonly connections.
The NBD server and client support the new NBD_CMD_FLAG_FAST_ZERO as an optimization during the copying of sparse images.
The backup block job now creates a filter node, just like mirror and commit do. Clients that care about the structure of the block graph need to take this into account.
Several assertion failures relating to the use of an NBD server with iothreads have been fixed.
Creation of an NBD client now allows an optional 'reconnect-delay' parameter, which can be used to reconnect rather than permanently fail in the face of a transient server hiccup.
NBD client and server now permit export names up to 4k in length (rather than 256 bytes), while at the same time being more careful to avoid over-long strings in violation of the NBD protocol.

Miscellaneous
bugs in gdbstub handling of F and ! packets have been fixed
The arguments to -kernel and -initrd are now mmap-ed for some targets. This allows sharing memory when many VMs are loaded with the same arguments.
User-mode emulation

Xtensa
call0 ABI may be selected for the user emulation with command line option -xtensa-abi-call0 (or with QEMU_XTENSA_ABI_CALL0 environment variable).

TCG
---
tcg tests are now in $BUILDDIR/tests/tcg/$TARGET/ (rather than $BUILDDIR/$TARGET/tests/)
new TCG Plugins feature allows instrumentation experiments to be written

Build Information
-----------------
Python
The minimum supported version of Python is now 3.5.

Container Based Builds
The docker.py tooling now supports podman containers [1] as an alternative to docker
the docker.py now requires python3 to run
a number of the cross compiler containers have been updated to Buster

Build Dependencies
The minimum version of the glib library is now 2.48

Revision 1.152 / (download) - annotate - [select for diffs], Wed Dec 11 16:44:22 2019 UTC (4 years, 3 months ago) by jperkin
Branch: MAIN
Changes since 1.151: +4 -1 lines
Diff to previous 1.151 (colored) to selected 1.109 (colored)

qemu: Various SunOS fixes.

Revision 1.151 / (download) - annotate - [select for diffs], Fri Aug 16 15:12:19 2019 UTC (4 years, 7 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q3-base, pkgsrc-2019Q3
Changes since 1.150: +7 -11 lines
Diff to previous 1.150 (colored) to selected 1.109 (colored)

qemu: updated to 4.1.0

4.1.0:

New deprecated options and features

The "-virtfs_synth" option is now deprecated. Please use "-fsdev synth" and "-device virtio-9p-..." instead.
The "-numa node,mem" sub-option is now deprecated. Please use "-numa node,memdev" instead.
Default memory distribution between NUMA nodes is now deprecated. Please specify memory per NUMA node explicitly using "-numa node,memdev"
Fallback to normal RAM allocation if QEMU is not able to allocate from the "-mem-path" provided file/filesystem is now deprecated. Make sure that host has sufficient resources on the filesystem/file pointed be "-mem-path".

Arm

QEMU now supports emulating an FPU for Cortex-M CPUs, and the Cortex-M4 and Cortex-M33 now provide the FPU.
The Cortex-R5F now correctly provides an FPU with registers D0-D15 only, rather than incorrectly providing also D16-D31.
The build config files have been switched to the new Kconfig system, so that a QEMU with individual boards can be built more easily.
The ARMv8.5-RNG extension is supported, for cpu generated random numbers.
The Exynos4210 SoC model now supports the PL330 DMA controllers.
Some bugs in handling of GICv3 ICC_CTLR_EL3 and ICH_VMCR_EL2 register writes have been fixed.
The built-in bootloader now handles loading AArch64 kernel Image files which are larger than 128MB.
The GICv3 now correctly reports GICD_TYPER.SecurityExtn as 0 if GICD_CTLR.DS is 1.
New board model: swift-bmc
New board-model: sbsa-ref (an AArch64 system intended for development of the server firmware and kernel software stack)
The Aspeed SoC/boards now support the RTC device and the xdma device
The i.mx7 PCI controller emulation has been improved so it can boot current Linux krenels
The pl031 RTC device now correctly makes the guest RTC track advances in host RTC time between a VM state save and a later reload.

MIPS

Improved marking referenced memory pages as executable (it is now restricted to necessary cases only).
Fixed logic errors for certain cases of MFTR and MTTR instruction handling.
Fixed some corner cases of MSA FCLASS.<W|D> instruction handling.
Improved 'division by zero' cases in MSA ASE instructions DIV_<U|S>.<B|H|W|D> and MOD_<U|S>.<B|H|W|D> - they are now handled both in QEMU and on the reference hardware the same way.
Fixed emulation of a number of MSA ASE instructions on big endian hosts. Affected instructions are LD.<B|H|W|D>, ST.<B|H|W|D>, COPY_S.<B|H|W|D>, COPY_U.<B|H|W>, INSERT.<B|H|W|D>, ILVEV.<B|H|W|D>, ILVOD.<B|H|W|D>, ILVL.<B|H|W|D>, ILVR.<B|H|W|D>, PCKEV.<B|H|W|D>, and PCKOD.<B|H|W|D>.
Improved emulation performance of numerous MSA instructions, mostly integer and data permuting operations.
Nios2

PowerPC

NVIDIA V100 GPU/NVLink2 passthrough for spapr using VFIO PCI
The TCG implementation of the Power9 DARN instruction now produces random numbers, instead of indicating failure.
pseries machine now supports KVM acceleration (kernel_irqchip=on) of the XIVE interrupt controller
pseries now defaults to XIVE interrupt controller if using pseries-4.1 machine version, POWER9 cpu and a guest OS which supports it
pseries now supports hot-plug of PCI bridges and hot-plug and unplug of devices under PCI bridges
powernv now supports dumping the device tree with the "dumpdtb" machine option
A number of vector (Altivec and VSX) instructions have had their implementations optimized in TCG

RISC-V

Arbitrary bits in SIP can no longer be set.
A new "spike" machine has been defined, with the old machines being deprecated.
sfence.vma can no longer execute from userspace.
Single-stepping over branches and jumps now works.
A handful of illegal instructions (all compressed) are now handled correctly, as opposed to being treated as NOPs.
Support for version 1.11.0 of the privileged specification has been added.
SiFive's PRCI now supports reading and writing all the device registers.
The ISA of the target machine can be controlled from the command line.
QEMU provides a cpu-topology device tree node on targets that support device trees.
Load reservations are broken by both store conditional and scheduling.
The 32-bit syscall ABI has various bug fixes.
The PCI bus-range property is now set correctly.

s390

The bios now supports IPL (boot) from ECKD DASD assigned to the guest via vfio-ccw.
The bios now tolerates the presence of bootmap signature entries written by zipl.
All Vector Instructions introduced with the "Vector Facility" have been implemented for TCG.
The "Vector Facility" is now indicated in the "qemu" cpu model, which has been updated to a stripped-down z13.
More facilities and gen15 machines (official name not yet known) have been added to the cpu model.
This also includes the AP Queue Interruption Facility, which allows to use interrupts for vfio-ap devices, if supported by the host kernel.
vfio-ccw now supports forwarding HALT SUBCHANNEL and CLEAR SUBCHANNEL to the device.

SPARC

sun4m and sun4u fixes when running with -vga none (OpenBIOS)
sunhme fixes when running on a TAP network interface

Tricore

Add FTOIZ/UTOF/QSEED insns
Fix sync of hflags and swapped args of RRPW_INSERT

x86

New Hygon Dhyana CPU model
New Intel SnowRidge CPU model
The host-cache-info CPU option now affects the TOPOEXT CPUID leaf (0x8000001D)
The RDRAND extension is implemented for TCG.
md-clear and mds-no feature flags, for detection and mitigation of MDS vulnerabilities (CVE-2018-12126, CVE-2018-12127, CVE-2018-12130, CVE-2019-11091)
All x86 CPU models are now versioned
CPU die topology can now be configured using the -smp ...,dies=... option

Xtensa

Implement memory protection unit (MPU) option
Implement Exclusive Access option

Revision 1.150 / (download) - annotate - [select for diffs], Wed Jul 3 14:38:13 2019 UTC (4 years, 8 months ago) by thorpej
Branch: MAIN
Changes since 1.149: +2 -1 lines
Diff to previous 1.149 (colored) to selected 1.109 (colored)

Fix building on NetBSD/arm by extracting the FSR from siginfo_t::si_trap
rathar than an mcontext field that NetBSD/arm doesn't have.

Revision 1.149 / (download) - annotate - [select for diffs], Fri Jun 28 17:11:14 2019 UTC (4 years, 9 months ago) by jperkin
Branch: MAIN
CVS Tags: pkgsrc-2019Q2-base, pkgsrc-2019Q2
Changes since 1.148: +2 -2 lines
Diff to previous 1.148 (colored) to selected 1.109 (colored)

qemu: Build fix on systems without O_DIRECTORY.

Revision 1.148 / (download) - annotate - [select for diffs], Sat Apr 27 18:00:46 2019 UTC (4 years, 11 months ago) by kamil
Branch: MAIN
Changes since 1.147: +2 -2 lines
Diff to previous 1.147 (colored) to selected 1.109 (colored)

qemu: Switch curses.c patches to the ones pending upstream

 * fix compatibility with NetBSD curses(3)

https://patchwork.ozlabs.org/patch/1092056/

 * fix portability of iconv(3) usage

https://patchwork.ozlabs.org/patch/1092057/

Both work better than the existing one. Borders are printed now correctly.

Bump PKGREVISION

Revision 1.147 / (download) - annotate - [select for diffs], Thu Apr 25 23:54:46 2019 UTC (4 years, 11 months ago) by kamil
Branch: MAIN
Changes since 1.146: +2 -2 lines
Diff to previous 1.146 (colored) to selected 1.109 (colored)

qemu: Fix unportable iconv(3) construct breaking on NetBSD

ui_curses.c contains now a new patch:

* Switch unportable iconv(3) UCS-2 <-> wchar_t conversions
  to a portable algorithm with an intermediate step with
  multibyte sequences

With this change qemu -curses works again.

Thanks to joerg@ for pointing out the proper algorithm.

Bump pkgrevision.

Revision 1.146 / (download) - annotate - [select for diffs], Thu Apr 25 11:33:02 2019 UTC (4 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.145: +4 -1 lines
Diff to previous 1.145 (colored) to selected 1.109 (colored)

Add two fixes accepted upstream to support NetBSD/hppa

Revision 1.145 / (download) - annotate - [select for diffs], Wed Apr 24 17:09:43 2019 UTC (4 years, 11 months ago) by adam
Branch: MAIN
Changes since 1.144: +3 -3 lines
Diff to previous 1.144 (colored) to selected 1.109 (colored)

qemu: fix checksums of some patche files

Revision 1.144 / (download) - annotate - [select for diffs], Wed Apr 24 13:59:32 2019 UTC (4 years, 11 months ago) by ryoon
Branch: MAIN
Changes since 1.143: +10 -16 lines
Diff to previous 1.143 (colored) to selected 1.109 (colored)

Update to 4.0.0

Changelog:
Incompatible changes

    The "handle" option to -fsdev and -virtfs has been removed. The "local" or "proxy" options should be used instead.
    The "-virtioconsole" option has been removed. Use "-device virtconsole" instead.
    The "-no-frame" option has been removed. It was only usable with SDL1.2, and support for this library has been suspended now.
    The "-enable-hax" option has been removed. Use "-accel hax" instead.
    The "-clock" option has been removed. It was only a "dummy" option without meaning since QEMU 1.7, so there is no replacement.
    The legacy "ivshmem" device has been removed. Use "ivshmem-doorbell" or "ivshmem-plain" instead.
    The x86 machine types "pc-0.10" and "pc-0.11" have been removed. Use a newer machine type instead.
    The "irq" property of the "spapr-vscsi", "spapr-vlan" and "spapr-vty" devices has been removed with no replacement.
    The "memory-backend-memfd" backend object type will be reported as unavailable on hosts systems without memfd sealing support. On previous versions, "memory-backend-memfd" was reported as available, but didn't work properly without sealing support.
    HMP snapshot commands (such as "savevm", "loadvm" and "delvm") use only the snapshot tag, and not the ID any more, to identify snapshots. This removes ambiguity from the interface, but may require changing the HMP command in existing scripts.

New deprecated options and features

    cpu-add QMP/HMP command
    machine-types pc-0.12, pc-0.13, pc-0.14 and pc-0.15
    qemu-nbd --partition=N option
    The query-events QMP command has been superseded by the more powerful and accurate query-qmp-schema command.
    The acl option to the "-vnc" argument has been replaced by the tls-authz and sasl-authz options.
    The acl_show, acl_reset, acl_policy, acl_add, and acl_remove commands are deprecated with no replacement. Authorization for VNC should be performed using the pluggable QAuthZ objects.
    QEMU_AUDIO_ environment variables and "-audio-help" are now deprecated. Use "-audiodev" instead.

Consult the "Deprecated Features" appendix for the full list of historically deprecated features/options.

Architercture specific summary:
Arm

    Implement the ARMv8.0-SB extension
    Implement the ARMv8.0-PredInv extension
    Implement the ARMv8.1-HPD extension
    Implement the ARMv8.1-LOR extension (as the trivial "no limited ordering regions provided" minimum)
    Implement the ARMv8.2-FHM extension
    Implement the ARMv8.2-AA32HPD extension
    Implement the ARMv8.3-PAuth extension
    Implement the ARMv8.3-JSConv extension
    Implement the ARMv8.4-CondM extension
    Implement the ARMv8.5-CondM extension
    Implement the ARMv8.5-FRINT extension
    And new boards

MIPS

    Added support for I7200 CPU (nanoMIPS32 ISA + DSP ASE; system mode only).
    Added support for I6500 CPU (MIPS64R6 ISA + MSA ASE + multicore features).
    Added support for QMP-based querying of the available CPU types.
    Added support for SAARI and SAAR configuration registers.
    Added support for MTTCG (multi-threaded TCG).
    Improved support for ITU (Interthread Communication Unit).
    Improved support for Fulong 2E machine.
    Improved end user documentation.
    Fixed build for MIPS n32 hosts.

RISC-V

    The virt board now supports PCI and USB.
    The FS field of mstatus now supports three states (dirty, clean, and off).
    The TSR, TW, and TVM fields of mstatus are now implemented.
    The misa CSR is now writable.
    The built-in gdbserver supports register lists via XML files.
    The sifive_u machine supports SMP.
    The SiFive UART supports TX interrupts.
    The sifive_u machine has the correct number of PLIC interrupts.


x86

    The HAX accelerator is now supported for POSIX hosts other than Darwin, including Linux and NetBSD.
    Machines pc-* now support configuring firmware with -machine pflash0=ID0,pflash1=ID1 in addition to -drive if=pflash,... This permits use of -blockdev.
    MPX is considered a failed experiment by Intel, and has thus been removed from all named CPU models. It is still accessible via "-cpu host".
    PVH Linux images can be booted with "-kernel".

Revision 1.143 / (download) - annotate - [select for diffs], Wed Feb 13 14:08:42 2019 UTC (5 years, 1 month ago) by jperkin
Branch: MAIN
CVS Tags: pkgsrc-2019Q1-base, pkgsrc-2019Q1
Changes since 1.142: +2 -1 lines
Diff to previous 1.142 (colored) to selected 1.109 (colored)

qemu: Fix build on SunOS.

Revision 1.142 / (download) - annotate - [select for diffs], Wed Feb 13 05:16:12 2019 UTC (5 years, 1 month ago) by kamil
Branch: MAIN
Changes since 1.141: +6 -1 lines
Diff to previous 1.141 (colored) to selected 1.109 (colored)

qemu: Add HAXM/NetBSD/amd64 support and fix NetBSD debug build

Bump PKGREVISION.

Revision 1.141 / (download) - annotate - [select for diffs], Thu Jan 31 13:39:10 2019 UTC (5 years, 1 month ago) by martin
Branch: MAIN
Changes since 1.140: +3 -2 lines
Diff to previous 1.140 (colored) to selected 1.109 (colored)

Replace aarch64 FPU exception trap handling fix with newer version
from upstream.

Revision 1.140 / (download) - annotate - [select for diffs], Tue Jan 29 16:01:29 2019 UTC (5 years, 1 month ago) by martin
Branch: MAIN
Changes since 1.139: +2 -1 lines
Diff to previous 1.139 (colored) to selected 1.109 (colored)

Apply upstream fix for FPCR register handling on aarch64, fixes bogus
test failures in our test runs.

Revision 1.139 / (download) - annotate - [select for diffs], Wed Dec 12 16:26:58 2018 UTC (5 years, 3 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2018Q4-base, pkgsrc-2018Q4
Changes since 1.138: +5 -5 lines
Diff to previous 1.138 (colored) to selected 1.109 (colored)

qemu: updated to 3.1.0

3.1.0:
Incompatible changes
- The "qemu-system-ppcemb" target has been removed. "qemu-system-ppc" or "qemu-system-ppc64" should be used instead.
- The "tls", "x509", and "x509verify" options to "-vnc" have been removed. The "tls-creds" option should be used instead to point to a "tls-creds-x509" object created using "-object"
- The -drive options "cyls", "heads", "secs", "trans", "addr" and "serial" have been removed. The corresponding options of the "-device" parameter have to be used instead now.
- The "-balloon" option has been removed since it is replaced by "-device virtio-balloon" now.
- The "-nodefconfig" option has been removed. Use "-no-user-config" instead.
- The "-startdate", "-localtime" and "-rtc-td-hack" options have been removed. Use the corresponding parameters of "-rtc" instead.
- The "-tftp", "-bootp", "-redir" and "-smb" options have been removed. Use the corresponding parameters of "-nic" or "-netdev" instead.
- The "ssi-sd" device cannot be created anymore with "-device". This could be changed again in the future.
- x86 machines cannot be live-migrated if nested Intel virtualization is enabled. The next version of QEMU will be able to do live migration when nested virtualization is enabled, if supported by the kernel.

New deprecated options and features
- The '-machine enforce-config-section' parameter is replaced by the '-global migration.send-configuration' option.
- The 'name' parameter of the '-net' option is a synonym for the 'id' parameter, which should now be used instead.
- The 'hub_id name' parameter tuple of the 'hostfwd_add' and 'hostfwd_remove' HMP commands has been replaced by 'netdev_id'.
- The PowerPC target 'prep' machine type should be replaced by the '40p' machine type.
- Parsing of key,value pair filenames for the RBD block device
- Incorrect CPU topologies specified by -smp socket,core,thread options that are describing number of VCPUs not equal to 'maxcpus'

Revision 1.138 / (download) - annotate - [select for diffs], Mon Nov 5 07:27:59 2018 UTC (5 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.137: +4 -1 lines
Diff to previous 1.137 (colored) to selected 1.109 (colored)

Support the uboot kernel_noload image type as used by NetBSD/evbarm
GENERIC kernel.

Bump PKGREVISION

Revision 1.137 / (download) - annotate - [select for diffs], Thu Aug 16 10:15:09 2018 UTC (5 years, 7 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2018Q3-base, pkgsrc-2018Q3
Changes since 1.136: +6 -7 lines
Diff to previous 1.136 (colored) to selected 1.109 (colored)

qemu: updated to 3.0.0

3.0.0:

Incompatible changes
Option "-no-kvm-pit-reinjection" has been removed. Use "-global kvm-pit.lost_tick_policy=discard" instead.
Option "-no-kvm-irqchip" has been removed. Use "-machine kernel_irqchip=off" instead.
The "vlan" parameter of the "-net" option has been removed. Use "-netdev" with IDs or the "hubport" netdev instead.
The deprecated -drive options "geometry", "addr" and "serial" have been removed. Use "-drive if=none" and pass the options to "-device" instead.
The "xlnx-ep108" machine has been replaced by the "xlnx-zcu102" machine.
The qemu-img "convert -s snapshot_id_or_name" argument has been removed. Use "convert -l snapshot_param" instead.
PPC support for explicitly allocated RMAs has been removed (kernel support removed in 2015).
The default for VFIO's "display" option has been changed from "auto" to "off", because "auto" requires an OpenGL-compatible configuration for vGPUs that require GL support.
The deprecated xlnx-ep108 machine was removed.
Some 32-bit guests on the "virt" machine may need "-machine highmem=off" if they are unable to support LPAE and are confused by the PCI ECAM now being above the 4GB mark in the address space

New deprecated options and features
The "arch" output member of the "query-cpus-fast" command is deprecated. Use the "target" output member instead.
Option "-virtioconsole" is deprecated, use "-device virtconsole" instead.
The non-functional "-clock" option will be removed soon.
The "pc-0.10" and "pc-0.11" machines are now deprecated. Use newer machine types instead.
Option "-enable-hax" is deprecated. Use "-accel hax" instead.
The "arch" memeber in the reply to query-cpus-fast is deprecated, use "target" instead.
The "file" driver for drives is no longer appropriate for character or host devices and will only accept regular files (S_IFREG). Use host_cdrom or host_device instead.
Consult the "Deprecated Features" appendix for the full list of historically deprecated features/options.

Future incompatible changes
Three options are using different names on the command line and in configuration file. In particular:
The "acpi" configuration file section matches command-line option "acpitable";
The "boot-opts" configuration file section matches command-line option "boot";
The "smp-opts" configuration file section matches command-line option "smp".
-readconfig will standardize on the name for the command line option.
Behavior of automatic calculation of SMP topology when some SMP topology options for -smp are omitted (sockets, cores, threads) will change in the future. If guest ABI needs to be preserved on upgrades while using the SMP topology options, users should either set set all options explicitly (sockets, cores, threads), or omit all of them.
Devices "allwinner-a10", "pc87312", "ssi-sd" will be configured with explicit properties instead of implicitly. This is unlikely to affect users.
For x86, specifying a CPUID feature with both "+feature/-feature" and "feature=on/off" will cause a warning. The current behavior for this combination ("+feature/-feature" wins over "feature=on/off") will be changed so that "+feature" and "-feature" will be synonyms for "feature=on" and "feature=off" respectively).
The read-only block drivers "bochs", "cloop" and "dmg" as well as "rbd" and "vvfat" in certain read-only configurations will no longer enable read-only mode automatically. It will be necessary to specify "read-only=on" explicitly on the command line and in QMP commands for the setup to keep working; the default "read-only=off" setting will result in an error.
On s390x, using KVM with a Linux host kernel version < 3.15 has been broken since QEMU version 2.10. This will not be fixed unless a need is communicated (otherwise the code will be removed in the near future, so that you need at least Linux kernel version 3.15 on the host to run KVM on System z)

Revision 1.136 / (download) - annotate - [select for diffs], Tue Aug 14 06:57:26 2018 UTC (5 years, 7 months ago) by adam
Branch: MAIN
Changes since 1.135: +5 -6 lines
Diff to previous 1.135 (colored) to selected 1.109 (colored)

qemu: updated to 2.12.1

2.12.1:
Bug fix release.

Revision 1.135 / (download) - annotate - [select for diffs], Wed Apr 25 07:56:05 2018 UTC (5 years, 11 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2018Q2-base, pkgsrc-2018Q2
Changes since 1.134: +6 -8 lines
Diff to previous 1.134 (colored) to selected 1.109 (colored)

qemu: updated to 2.12.0

2.12.0:

Incompatible changes
The deprecated CLI options "-tdf", "-no-kvm-pit" and "-drive boot=on|off" have been removed (they only emitted a warning since QEMU 1.3.0).
The deprecated CLI option "-net channel" has been removed. You can use "-netdev user,guestfwd=..." instead.
The deprecated CLI option "-hdachs" has been removed. You can specify the disk geometry e.g. via -device ide-hd,cyls=c,heads=h,secs=s instead.
The deprecated way of configuring SCSI devices with "-drive if=scsi" on x86 has been removed. Use an appropriate SCSI controller together "-device scsi-hd" or "-device scsi-cd" and a corresponding "-blockdev" parameter instead.
The deprecated way of configuring a "host", "serial", "disk" or "net" USB device with "-usbdevice" has been removed. Use "-device usb-..." instead.
The deprecated HMP commands "usb_add" and "usb_del" have been removed. Use "device_add" and "device_del" as replacement instead.
The deprecated HMP commands "host_net_add" and "host_net_remove" have been removed. Use "netdev_add" and "netdev_remove" instead.
The deprecated way of dumping network traffic with "-net dump" has been removed. Use "-object filter-dump" instead.
The deprecated "spapr-pci-vfio-host-bridge" device has been removed (from qemu-system-ppc64). It is not needed for vfio since QEMU v2.6.0 anymore.
Deprecated options and features
qemu-system-ppcemb is deprecated. Use qemu-system-ppc instead.
The parameters "serial", "trans", "secs", "heads", "cyls" and "addr" of the "-drive" option are now deprecated. Use the corresponding options of "-device" instead.
The "-nodefconfig" option is now deprecated. Use "-no-user-config" instead.
The "-s390-squash-mcss" parameter for the s390-ccw-virtio machine is now deprecated. It has been made obsolete by allowing to put any device into any channel subsystem image (unrestricted cssids).
The parameter "handle" of the "-fsdev" and "-virtfs" options is now depecrated. Use "local" instead.
The qmp command "query-cpus" is now deprecated. Use the new "query-cpus-fast" qmp command instead, which does not interrupt all running vCPUs. (However, there is a known bug that in 2.12, the "query-cpus-fast" command reports bogus architecture information for all architectures except "x86" and "s390".)
While "-net" is not deprecated yet, you are encouraged to use the new option "-nic" instead of "-net", as it provides a simpler and better interface ("-nic user" replaces the old "-net nic -net user").
The "-no-frame" parameter is now deprecated and will be removed together with SDL 1.2 in a future release.
The "-balloon" parameter is deprecated, use "-device virtio-balloon" instead.
The "-rtc-td-hack", "-localtime" and "-startdate" parameters are deprecated. You can use the "-rtc" parameter instead.
The "handle" backend for 9pfs is deprecated.
Consult the "Deprecated Features" appendix for the full list of historically deprecated features/options.

Future incompatible changes
Three options are using different names on the command line and in configuration file. In particular:
The "acpi" configuration file section matches command-line option "acpitable";
The "boot-opts" configuration file section matches command-line option "boot";
The "smp-opts" configuration file section matches command-line option "smp".
-readconfig will standardize on the name for the command line option.
Behavior of automatic calculation of SMP topology when some SMP topology options for -smp are omitted (sockets, cores, threads) will change in the future. If guest ABI needs to be preserved on upgrades while using the SMP topology options, users should either set set all options explicitly (sockets, cores, threads), or omit all of them.
Devices "allwinner-a10", "pc87312", "ssi-sd" will be configured with explicit properties instead of implicitly. This is unlikely to affect users.
For x86, specifying a CPUID feature with both "+feature/-feature" and "feature=on/off" will cause a warning. The current behavior for this combination ("+feature/-feature" wins over "feature=on/off") will be changed so that "+feature" and "-feature" will be synonyms for "feature=on" and "feature=off" respectively).
The read-only block drivers "bochs", "cloop" and "dmg" as well as "rbd" and "vvfat" in certain read-only configurations will no longer enable read-only mode automatically. It will be necessary to specify "read-only=on" explicitly on the command line and in QMP commands for the setup to keep working; the default "read-only=off" setting will result in an error.
On s390x, using KVM with a Linux host kernel version < 3.15 has been broken since QEMU version 2.10. This will not be fixed unless a need is communicated (otherwise the code will be removed in the near future, so that you need at least Linux kernel version 3.15 on the host to run KVM on System z)

Revision 1.134 / (download) - annotate - [select for diffs], Tue Apr 17 20:02:14 2018 UTC (5 years, 11 months ago) by gson
Branch: MAIN
Changes since 1.133: +2 -1 lines
Diff to previous 1.133 (colored) to selected 1.109 (colored)

emulators/qemu: fix control-a b

Fix qemu bug 1654137, "Ctrl-A b not working in 2.8.0", by
backporting qemu mainline commit 1b2503fcf7b5932c5a3779ca2ceb92bd403c4ee7.
Bump PKGREVISION.

Revision 1.133 / (download) - annotate - [select for diffs], Thu Feb 15 08:32:22 2018 UTC (6 years, 1 month ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2018Q1-base, pkgsrc-2018Q1
Changes since 1.132: +5 -5 lines
Diff to previous 1.132 (colored) to selected 1.109 (colored)

qemu: updated to 2.11.1

2.11.1:
Bug-fix release.

Revision 1.132 / (download) - annotate - [select for diffs], Thu Jan 4 16:48:17 2018 UTC (6 years, 2 months ago) by gson
Branch: MAIN
Changes since 1.131: +3 -2 lines
Diff to previous 1.131 (colored) to selected 1.109 (colored)

emulators/qemu: check for posix_memalign in configure script

qemu incorrectly checks for the presence of posix_memalign() by
testing whether the preprocessor symbol _POSIX_C_SOURCE is defined.
This causes qemu to use valloc() instead of posix_memalign() on NetBSD,
even on versions where posix_memalign() is supported, wasting
memory when the required alignment is smaller than a page.  Fix this
by checking for posix_memalign() support in the configure script.

Revision 1.131 / (download) - annotate - [select for diffs], Thu Dec 14 08:01:10 2017 UTC (6 years, 3 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2017Q4-base, pkgsrc-2017Q4
Changes since 1.130: +3 -2 lines
Diff to previous 1.130 (colored) to selected 1.109 (colored)

qemu: fixed block driver whitelisting problem

Revision 1.130 / (download) - annotate - [select for diffs], Thu Dec 14 02:03:52 2017 UTC (6 years, 3 months ago) by kamil
Branch: MAIN
Changes since 1.129: +7 -14 lines
Diff to previous 1.129 (colored) to selected 1.109 (colored)

qemu: Upgrade to 2.11.0

pkgsrc changes
==============

Remove merged patches, mostly for SmartOS. There are more to go and there
is a call for volunteers to step in as a maintainer and help to upstream the
remaining ones.

SmartOS as host support is scheduled to be removed in the next major version
of qemu.

upstream changes
================

The full list of changes are available at:

  https://wiki.qemu.org/ChangeLog/2.11

Highlights include:

 * Improved support for running Hyper-V on top of KVM
 * New hotpluggable PCIe-to-PCI bridge device with SHPC support
 * Experimental GPUDirect support for Nvidia passthrough devices (p2p DMA)
 * Better performance using integrated LUKS support for block devices
 * Added a qemu-block-drivers man page
 * TPM emulation support
 * Ability to hotplug a watchdog device and specify watchdog actions at
   runtime
 * UI: improved client support for VNC via websockets
 * UI: better keymap support for SDL/GTK/Cocoa front-ends and various input
   devices

 * ARM: support for Smartfusion2 board
 * ARM: improved performance for PCI passthrough devices using INTx
 * ARM: improved XEN support for AArch64 guests
 * OpenRISC: experimental support for SMP
 * PowerPC: fixes for Mac machine types
 * PowerPC: pseries: support for virtual SMT modes in guests
 * s390: support for virtio-input-ccw and virtio-gpu-ccw
 * s390: support for CPU hotplug via newer device_add interface
 * s390: experimental support for multiple vcpu threads under full emulation
 * SPARC: sun4u: support for sunhme (Happy Meal Ethernet) NIC
 * SPARC: sun4u: use of Simba PCI bridges to better match Ultra 5 PCI
   topology

 * and lots more...

Revision 1.129 / (download) - annotate - [select for diffs], Wed Oct 11 19:53:23 2017 UTC (6 years, 5 months ago) by adam
Branch: MAIN
Changes since 1.128: +5 -5 lines
Diff to previous 1.128 (colored) to selected 1.109 (colored)

qemu: update to 2.10.1

2.10.1:
Bug fixes.

Revision 1.128 / (download) - annotate - [select for diffs], Wed Aug 30 21:07:10 2017 UTC (6 years, 6 months ago) by kamil
Branch: MAIN
CVS Tags: pkgsrc-2017Q3-base, pkgsrc-2017Q3
Changes since 1.127: +2 -2 lines
Diff to previous 1.127 (colored) to selected 1.109 (colored)

Restore the original patch for curses_inc_list and curses_lib_list

Revision 1.127 / (download) - annotate - [select for diffs], Wed Aug 30 21:00:46 2017 UTC (6 years, 6 months ago) by kamil
Branch: MAIN
Changes since 1.126: +6 -12 lines
Diff to previous 1.126 (colored) to selected 1.109 (colored)

qemu: Upgrade to 2.10.0

pkgsrc changes:
 - remove stray conflict with qemu-bin - I cannot find references to it in
   pkgsrc
 - drop mentions of NetBSD version < 6.0 - it's already broken there
   regardless of the directives and not supported
 - remove stray BUILDLINK_PASSTHRU_DIRS and BUILDLINK_PASSTHRU_RPATHDIRS
   this is redundant with the default pkgsrc framework defines
 - not yet ported to 3.x as of 2.10.0, newer versions get initial patches
 - remove ivshmem - it's not a user settable option, it requires as of now
   Linux kernel API (eventfd) and it builds only for Linux now (no longer
   for BSD and SunOS)
 - add test target - all tests pass on NetBSD 8.99.2 (with disabled PaX
   MPROTECT)
 - sync PLIST
 - drop patches that are no longer needed, proper fixes merged upstream

upstream changelog
==================
The full list of changes are available at:

  http://wiki.qemu.org/ChangeLog/2.10

Highlights include:

 * Support for ACPI NUMA distance info and control over CPU NUMA
   assignments via '-numa cpu' parameters
 * Support for LUKS encryption format in qcow2 images
 * Monitor/Management interface improvments: additional debug
   information available through 'info ramblock/cmma/register/qtree',
   support for viewing connected clients via 'info vnc', improved
   parsing support for QMP protocol, and other additional commands
 * QXL and virtio-gpu support for controlling default display resolution
 * Support for vhost-user-scsi devices
 * NVMe emulation support for Write Zeroes command and Controller
   Memory Buffers
 * Guest agent support for querying guest hostname, users, timezone, and
   OS version/release information

 * ARM: KVM support for Raspberry Pi 3
 * ARM: emulation support for MPS2/MPS2+ FPGA-based dev boards
 * ARM: zynq: SPIPS flash support
 * ARM: exynos4210: hardware PRNG device, SDHCI, and system poweroff
 * Microblaze: support for CPU versions 9.4, 9.5, 9.6, and 10.0
 * MIPS: support for Enhanced Virtual Addressing (EVA)
 * MIPS: initrd support for kaslr-enabled kernels
 * OpenRISC: support for shadow registers, idle states, and
   numcores/coreid/EVAR/EPH registers
 * PowerPC: Multi-threaded TCG emulation support
 * PowerPC: OpenBIOS VGA driver for MacOS guests
 * PowerPC: pseries: KVM and emulation support for POWER9 guests
 * PowerPC: pseries: support for hash page table resizing
 * s390: channel device passthrough support via vfio-ccw
 * s390: support for channel-attached 3270 "green screen" devices for
   use as guest consoles or additional TTYs
 * s390: improved support for PCI (AEN, AIS, and zPCI)
 * s390: support for z14 CPU models and netboot/TFTP via CCW BIOS,
 * s390: TCG support for atomic "LOAD AND x" and "COMPARE SWAP"
   operations, LOAD PROGRAM PARAMETER, extended facilities, CPU type,
   and many more less-common instructions.
 * SH: TCG support for host atomic instructions for emulating tas.b and
   gUSA (user-space atomics), and support for fpchg/fsrra instructions
 * SPARC: fixes for booting Solaris 2.6 on sun4m/OpenBIOS machines
 * x86: Q35 MCH supports TSEG higher than 8MB
 * x86: SSE register access via gdbstub
 * Xen: support for multi-page shared rings, and 9pfs/virtfs backend
 * Xtensa: sim machine console can be directed to chardev via -serial

 * and lots more...

Revision 1.126 / (download) - annotate - [select for diffs], Fri Aug 25 12:39:56 2017 UTC (6 years, 7 months ago) by jperkin
Branch: MAIN
Changes since 1.125: +9 -2 lines
Diff to previous 1.125 (colored) to selected 1.109 (colored)

Various patches to fix the build on SunOS.

Revision 1.125 / (download) - annotate - [select for diffs], Sat Apr 22 20:18:09 2017 UTC (6 years, 11 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2017Q2-base, pkgsrc-2017Q2
Changes since 1.124: +6 -9 lines
Diff to previous 1.124 (colored) to selected 1.109 (colored)

Changes 2.9.0:

== Warning of unsupported host systems ==
This release includes changes to the configure script so that it will now report some host operating systems and
platforms as "unsupported". These are host setups which we do not have access to and are thus unable to test. They will continue to work in this 2.9 release (though configure will warn you about the unsupported status), but in a future QEMU release we may drop support for those hosts unless somebody volunteers to help us with maintaining them (and can provide build/CI machines).

This affects the CPU architectures:
* ia64
and the OSes:
* GNU/kFreeBSD
* DragonFly BSD
* NetBSD
* OpenBSD
* Solaris
* AIX
* Haiku

== System emulation ==
=== Incompatible changes ===
* Improvements to "-drive":
** "-drive"'s <tt>if</tt> option defaults to "none" on machines that do not have an onboard IDE or SCSI controller.
** "-drive if=scsi" does not work anymore with PC machine types, as it created an obsolete SCSI controller model. QEMU supports better controllers (megasas, mptsas, virtio-scsi) but which to use depends on the guest you are using.
** "Orphan" -drive options, where an <tt>if</tt> option is not supported by the emulated machine (e.g. "if=mtd" on x86) is now a fatal error. It had been triggering a warning since version 2.2.
=== Future incompatible changes ===
* Three options are using different names on the command line and in configuration file.  In particular:
** The "acpi" configuration file section matches command-line option "acpitable";
** The "boot-opts" configuration file section matches command-line option "boot";
** The "smp-opts" configuration file section matches command-line option "smp".
:-readconfig will standardize on the name for the command line option.
* Behavior of automatic calculation of SMP topology when some SMP topology options for -smp are omitted (sockets, cores, threads) will change in the future. If guest ABI needs to be preserved on upgrades while using the SMP topology options, users should either set set all options explicitly (sockets, cores, threads), or omit all of them.
* Devices "allwinner-a10", "pc87312", "ssi-sd" will be configured with explicit properties instead of implicitly.  This is unlikely to affect users.
* For x86, specifying a CPUID feature with both "+feature/-feature" and "feature=on/off" will cause a warning.  The current behavior for this combination ("+feature/-feature" wins over "feature=on/off") will be changed so that "+feature" and "-feature" will be synonyms for "feature=on" and "feature=off" respectively).

Revision 1.122.2.1 / (download) - annotate - [select for diffs], Mon Apr 17 14:51:06 2017 UTC (6 years, 11 months ago) by bsiegert
Branch: pkgsrc-2017Q1
Changes since 1.122: +2 -2 lines
Diff to previous 1.122 (colored) next main 1.123 (colored) to selected 1.109 (colored)

Pullup ticket #5291 - requested by sevan
emulators/qemu: build fix

Revisions pulled up:
- emulators/qemu/distinfo                                       1.124
- emulators/qemu/patches/patch-configure                        1.18

---
   Module Name:    pkgsrc
   Committed By:   riastradh
   Date:           Sat Apr 15 17:38:48 UTC 2017

   Modified Files:
          pkgsrc/emulators/qemu: distinfo
          pkgsrc/emulators/qemu/patches: patch-configure

   Log Message:
   Restore @PREFIX@, not accidental personal /dist/pkg directory.

Revision 1.124 / (download) - annotate - [select for diffs], Sat Apr 15 17:38:48 2017 UTC (6 years, 11 months ago) by riastradh
Branch: MAIN
Changes since 1.123: +2 -2 lines
Diff to previous 1.123 (colored) to selected 1.109 (colored)

Restore @PREFIX@, not accidental personal /dist/pkg directory.

Revision 1.123 / (download) - annotate - [select for diffs], Fri Apr 7 13:32:52 2017 UTC (6 years, 11 months ago) by ryoon
Branch: MAIN
Changes since 1.122: +5 -5 lines
Diff to previous 1.122 (colored) to selected 1.109 (colored)

Update to 2.8.1

Changelog:
Not available

Revision 1.122 / (download) - annotate - [select for diffs], Sat Mar 4 15:11:10 2017 UTC (7 years ago) by spz
Branch: MAIN
CVS Tags: pkgsrc-2017Q1-base
Branch point for: pkgsrc-2017Q1
Changes since 1.121: +4 -1 lines
Diff to previous 1.121 (colored) to selected 1.109 (colored)

Fix qemu/amd64 gub regarding signal4
Closes PR port-amd64/51934
thanks to hannken@ for the pointer to the upstream fixes

Revision 1.121 / (download) - annotate - [select for diffs], Mon Feb 27 05:19:29 2017 UTC (7 years, 1 month ago) by adam
Branch: MAIN
Changes since 1.120: +4 -2 lines
Diff to previous 1.120 (colored) to selected 1.109 (colored)

Revision 2 changes:
* Fixed building with C++.
* Fixed building on Darwin (PR 51899).
* Added GTK3 as an option.
* Switched from SDL-1 to SDL-2.
* Depend and enable support for: lzo, jemalloc, snappy, png, curl, jpeg.

Revision 1.120 / (download) - annotate - [select for diffs], Sun Jan 8 02:26:47 2017 UTC (7 years, 2 months ago) by kamil
Branch: MAIN
Changes since 1.119: +2 -2 lines
Diff to previous 1.119 (colored) to selected 1.109 (colored)

Add support in qemu for native NetBSD curses(3)

curses_version() is ncurses specific function available only in ncurses and
used just in configure.

Bump revision to 1

Revision 1.119 / (download) - annotate - [select for diffs], Fri Dec 30 10:00:16 2016 UTC (7 years, 2 months ago) by ryoon
Branch: MAIN
Changes since 1.118: +6 -10 lines
Diff to previous 1.118 (colored) to selected 1.109 (colored)

Update to 2.8.0

Changelog:
== System emulation ==
=== Incompatible changes ===
* The number of allow PCI host bridges for pSeries machine was reduced from 256 to 31 (more can be configured by setting up MMIO windows manually).
* Removed support for tftp:// in the block layer, since this has been broken forever for files bigger than 256KB.
=== Future incompatible changes ===
* Three options are using different names on the command line and in configuration file.  In particular:
** The "acpi" configuration file section matches command-line option "acpitable";
** The "boot-opts" configuration file section matches command-line option "boot";
** The "smp-opts" configuration file section matches command-line option "smp".
:-readconfig will standardize on the name for the command line option.
* Behavior of automatic calculation of SMP topology when some SMP topology options for -smp are omitted (sockets, cores, threads) will change in the future. If guest ABI needs to be preserved on upgrades while using the SMP topology options, users should either set set all options explicitly (sockets, cores, threads), or omit all of them.
* Devices "allwinner-a10", "pc87312", "ssi-sd" will be configured with explicit properties instead of implicitly.  This is unlikely to affect users.
* QMP command blockdev-add is still a work in progress.  It doesn't support all block drivers, it lacks a matching blockdev-del, and more.  It might change incompatibly.
* For x86, specifying a CPUID feature with both "+feature/-feature" and "feature=on/off" will cause a warning.  The current behavior for this combination ("+feature/-feature" wins over "feature=on/off") will be changed so that "+feature" and "-feature" will be synonyms for "feature=on" and "feature=off" respectively).
=== ARM ===
* Improvements to the Aspeed board.
* Support for HLT semihosting traps in AArch32 mode (both ARM and Thumb).
* The ACPI tables for the "virt" machine type support ITS.
* The Cadence GEM device now supports multiple priority queues through the num-priority-queues property.
* The STM32F2xx board (Netduino 2) now includes ADC and SPI devices.
==== KVM ====
=== MIPS ===
* Support for 24KEc CPUs.
=== PowerPC ===
* Support for POWER9 CPUs.
* Improvements for the new "powernv" platform.
==== pSeries ====
* PCI host bridges can be associated to NUMA nodes.
* Support for more than 1 TiB of guest memory.
* Support for more than 64 GiB of MMIO window in a PCI host bridge.
* Support for the "-prom-env" parameter
=== s390 ===
* Support for CPU models.
* Support for virtio-ccw revision 2.

=== SH ===
=== SPARC ===
=== TileGX ===
=== Tricore ===
=== x86 ===
* Support for several new CPUID features related to AVX-512 instruction set extensions.
* The emulated IOAPIC (used by TCG and, with KVM, if the "-machine kernel_irqchip" option has the value "off" or "split") now defaults to version 0x20, which supports directed end-of-interrupt messages.
* Support for Extended Interrupt Mode (EIM) in the intel_iommu device.  EIM requires KVM (Linux v4.7 or newer, for x2APIC support) and "-machine kernel-irqchip=split"; it is enabled automatically if interrupt remapping is enabled ("-machine kernel-irqchip=split -device intel_iommu,intremap=on").
* Support for up to 288 CPUs with the Q35 machine types.  256 or more CPUs are only supported if IOMMU and EIM are enabled.
==== Xen ====
* Support for unplugging SCSI disk.
* Support for SUSE xenlinux-compatible device unplug.
=== Device emulation and assignment ===
* QEMU now includes a generic loader pseudo-device that lets you load multiple images or values into memory at startup.  This device is documented in {{src|path=docs/generic-loader.txt}}.
==== ACPI ====
* Support for hotplugging of NVDIMM devices (_FIT)
==== Block devices ====
==== Network devices ====
* Support for fault tolerance based on coarse-grained lock stepping (COLO).
==== SCSI ====
==== PCI/PCIe ====
* The sample EDU device now supports MSI.
* [http://git.qemu.org/?p=qemu.git;a=blob;f=docs/pcie.txt;h=9fb20aaed9f41c302419206e1201d151c35e5a1c;hb=HEAD PCI Express Guidelines documentation] has been added for advice on topology and PCI vs PCIe.
==== USB ====
==== VFIO ====
==== virtio ====
* New device vhost-vsock.
* Initial support for graceful handling of guest errors (i.e. QEMU should not exit on guest errors).
* Support for new virtio-crypto device.

==== Xen ====
* Support for grant copy.
=== Character devices ===
=== Crypto subsystem ===
* Support for more hash algorithms for PBKDF.
* Support for CTR mode.
=== GUI ===
* SPICE can use pure OpenGL rendering if "gl=on" is specified.
=== Monitor ===
=== Migration ===
* Support for fault tolerance based on coarse-grained lock stepping (COLO).
=== Network ===
=== Block devices and tools ===
* More QMP commands support node-name (block-stream, block-commit, blockdev-backup, blockdev-mirror, blockdev-snapshot-delete-internal-sync, blockdev-snapshot-internal-sync, change-backing-file, drive-backup, drive-mirror, nbd-server-add).
* The BLOCK_IO_ERROR event now includes the node name.
* More QMP commands accept device model names (block_set_io_throttle, blockdev-change-medium, eject, x-blockdev-remove-medium, x-blockdev-insert-medium, blockdev-open-tray, blockdev-close-tray)
* The DEVICE_TRAY_MOVED event now includes the device id.
* Throttling now applies to the guest device only, and not to block jobs or the NBD server.
* drive-backup and blockdev-backup support writing out backups in compressed format.
* The LUKS format now can configure the PBKDF iteration count.
* block-stream supports streaming from a backing file to another backing file.
* Support for replication, for coarse-grained lock stepping (COLO) fault tolerance.
* New "dd" subcomamand of qemu-img.
* The DMG driver can be compiled to a separate driver, so as to make QEMU's dependency on libbz2 optional.
* Support for iSER in QEMU's iSCSI initiator through a iser:// URI.
* The NBD client and server support the NBD_CMD_WRITE_ZEROES extension.
* Raw images support "offset" and "size" options to access only a part of the file or device.

=== Tracing ===
* New tracing backend "syslog".
* Support for multiple "-d trace:PATTERN" command-line arguments.
=== CLI options ===

== User-mode emulation ==
=== Removed target support ===
* The unicore32-linux-user target implemented a different system call ABI from mainline Linux for this architecture. Support for it has been dropped.
=== New functionality ===
* Added support for more syscalls including preadv, pwritev, syslog.
* Major scalability improvements for multi-threaded programs (ARM, SPARC, x86).
* QEMU can now understand and generate fence and cmpxchg operations.

== TCG ==
* New TCG primitives have been added for safely modelling architectural synchronisation instructions (e.g. atomics, LL/SC, LOCK prefixes). arm, aarch64, alpha and x86 targets now use these primitives for multi-threaded linux-user programs. TCG target maintainers are encouraged to port their front-ends to use the new facilities.
* The TCG backends now emit appropriate barrier instructions for frontend barriers when running multi-threaded programs. However, emulating a strongly-ordered architecture (e.g., x86) on a weakly-ordered one (e.g., ARM or POWER) will not work yet.
* tb_flush() is finally thread-safe meaning multi-threaded programs are less likely to crash when the translation buffer is reset
* lock contention in the main cpu run-loop has been reduced improving performance for multi-threaded code
* a number of races were identified and fixed

A lot of the TCG work merged in this cycle where prerequisites for supporting multi-threaded system emulation (MTTCG). While full MTTCG support is expected to be merged in the next development cycle, multi-threaded linux-user programs will already benefit from this work.

Revision 1.117.2.1 / (download) - annotate - [select for diffs], Mon Nov 7 19:11:35 2016 UTC (7 years, 4 months ago) by bsiegert
Branch: pkgsrc-2016Q3
Changes since 1.117: +5 -1 lines
Diff to previous 1.117 (colored) next main 1.118 (colored) to selected 1.109 (colored)

Pullup ticket #5146 - requested by spz
emulators/qemu: security fix

Revisions pulled up:
- emulators/qemu/Makefile                                       1.156
- emulators/qemu/distinfo                                       1.118
- emulators/qemu/patches/patch-CVE-2016-7423                    1.1
- emulators/qemu/patches/patch-CVE-2016-7907                    1.1
- emulators/qemu/patches/patch-CVE-2016-7908                    1.1
- emulators/qemu/patches/patch-CVE-2016-7909                    1.1

---
   Module Name:	pkgsrc
   Committed By:	spz
   Date:		Sun Oct 30 14:48:01 UTC 2016

   Modified Files:
   	pkgsrc/emulators/qemu: Makefile distinfo
   Added Files:
   	pkgsrc/emulators/qemu/patches: patch-CVE-2016-7423 patch-CVE-2016-7907
   	    patch-CVE-2016-7908 patch-CVE-2016-7909

   Log Message:
   add patches for CVE-2016-7423 and CVE-2016-790[789] from upstream

Revision 1.118 / (download) - annotate - [select for diffs], Sun Oct 30 14:48:00 2016 UTC (7 years, 4 months ago) by spz
Branch: MAIN
CVS Tags: pkgsrc-2016Q4-base, pkgsrc-2016Q4
Changes since 1.117: +5 -1 lines
Diff to previous 1.117 (colored) to selected 1.109 (colored)

add patches for CVE-2016-7423 and CVE-2016-790[789] from upstream

Revision 1.117 / (download) - annotate - [select for diffs], Sun Sep 4 09:21:04 2016 UTC (7 years, 6 months ago) by ryoon
Branch: MAIN
CVS Tags: pkgsrc-2016Q3-base
Branch point for: pkgsrc-2016Q3
Changes since 1.116: +10 -9 lines
Diff to previous 1.116 (colored) to selected 1.109 (colored)

Update to 2.7.0

Changelog:
System emulation
Incompatible changes

    SPI flash devices "160s33b", "320s33b", "640s33b", "at25df041a", "at25df321a", "at25df641", "at25fs010", "at25fs040", "at26df081a", "at26df161a", "at26df321", "at26f004", "at45db081d", "en25f32", "en25p32", "en25p64", "en25q32b", "en25q64", "gd25q32", "gd25q64", "m25p05", "m25p10", "m25p128", "m25p16", "m25p20", "m25p32", "m25p40", "m25p64", "m25p80", "m25pe16", "m25pe20", "m25pe80", "m25px32", "m25px32-s0", "m25px32-s1", "m25px64", "m45pe10", "m45pe16", "m45pe80", "mx25l12805d", "mx25l12855e", "mx25l1606e", "mx25l2005a", "mx25l25635e", "mx25l25655e", "mx25l3205d", "mx25l4005a", "mx25l6405d", "mx25l8005", "n25q032", "n25q032a11", "n25q032a13", "n25q064", "n25q064a11", "n25q064a13", "n25q128", "n25q128a11", "n25q128a13", "n25q256a11", "n25q256a13", "s25fl016k", "s25fl064k", "s25fl129p0", "s25fl129p1", "s25fl256s0", "s25fl256s1", "s25fl512s", "s25sl004a", "s25sl008a", "s25sl016a", "s25sl032a", "s25sl032p", "s25sl064a", "s25sl064p", "s25sl12800", "s25sl12801", "s70fl01gs", "sst25vf016b", "sst25vf032b", "sst25vf040b", "sst25vf080b", "sst25wf010", "sst25wf020", "sst25wf040", "sst25wf512", "w25q256", "w25q32", "w25q32dw", "w25q64", "w25q80", "w25q80bl", "w25x10", "w25x16", "w25x20", "w25x32", "w25x40", "w25x64", "w25x80" connect to a backend explicitly named by a "drive" property instead of an implicit -drive if=mtd. This only affect devices created explicitly with -device; "-drive if=mtd" still works for SPI flash devices created by boards, so this should affect almost no one.
    Support for the original qcow2 image encryption has been disabled entirely from the system emulators. While QEMU 2.3 attempted to keep it available in system emulators, a bug in the code has actually broken it since 2.4, and no one complained. Supported for the format remains available only in command line tools qemu-img, qemu-io, qemu-nbd to facilitate data liberation. It is recommended to use 'qemu-img convert' to convert qcow2 encrypted images to uncrypted ones. The new LUKS encryption driver can provide a secure replacement, and a future release may integrate luks into qcow2 natively.
    Autoconverge is not considered experimental anymore; autoconverge-related commands do not have the "x-" prefix anymore.
    The MIPS64R6-generic CPU model was renamed to I6400.
    On Q35 machines, IOMMU are now enabled with "-device iommu" instead of "-machine iommu=on".

Future incompatible changes

    Three options are using different names on the command line and in configuration file. In particular:
        The "acpi" configuration file section matches command-line option "acpitable";
        The "boot-opts" configuration file section matches command-line option "boot";
        The "smp-opts" configuration file section matches command-line option "smp".

    -readconfig will standardize on the name for the command line option.

    Behavior of automatic calculation of SMP topology when some SMP topology options for -smp are omitted (sockets, cores, threads) will change in the future. If guest ABI needs to be preserved on upgrades while using the SMP topology options, users should either set set all options explicitly (sockets, cores, threads), or omit all of them.
    Devices "allwinner-a10", "pc87312", "ssi-sd" will be configured with explicit properties instead of implicitly. This is unlikely to affect users.
    QMP command blockdev-add is still a work in progress. It doesn't support all block drivers, it lacks a matching blockdev-del, and more. It might change incompatibly.

ARM

    The "virt" machine type has support for NUMA.
    We now implement an emulated GICv3 interrupt controller, which is supported by the "virt" board and can be enabled with "-machine gic-version=3". Note that many guest OSes do not correctly support a GICv3 without security extensions; if your guest is Linux it must include commit 7c9b973061 "irqchip/gic-v3: Configure all interrupts as non-secure Group-1" or a backport of that patch to one of the stable branches. UEFI and FreeBSD are also known to need similar bug fixes.With a GICv3 the "virt" board now supports TCG (emulated CPU) configurations with more than 8 vCPUs.
    New Xilinx Zynq ZCU102 board (-M xlnx-zcu102).
    Xilinx Zynq boards have experimental support for ARM Security Extensions.
    Xilinx Zynq MP supports DisplayPort (graphics and audio) and DDC (used for EDID info).
    i.MX6?

KVM

    Xilinx Zynq boards support KVM on AArch64 hosts.

MIPS

    Support for 10-bit ASIDs
    The MIPS64R6-generic CPU model was renamed to I6400.
    Initial GIC support
    Support for IEE 754-2008

PowerPC

    Many TCG fixes.
    mac99 machine can now boot MacOS >= 9.1

pSeries

    Significant performance improvements for the spapr-llan device.
    Support for CPU hotplug.
    Performance improvements for VFIO through dynamic DMA windows.

s390

    Support for runtime instrumentation
    The IPL firmware can boot from devices in subchannel sets > 0
    Major refactoring and improvements of the s390x-specific PCI code
        Optionally, zPCI specific 'uid' and 'fid' attributes may be provided
        Guest-acknowledged hotunplug (rather than 'surprise removal' only)
    bootindex support for IPL from SCSI devices

SPARC

    Fix for sun4m Solaris 9 "Segmentation fault" regression (see bug #1588328)

x86

    CPU hot-remove support based on generic device_add/device_del interface
        support arbitrary CPU adding/removal
        Limitation: 1st (boot) CPU isn't removable

KVM

    Support for LMCE (local MCE) virtualization, which will require Linux 4.8. LMCE can be enabled through "-cpu model,lmce" on all CPUs as long as the kernel supports it.

Device emulation and assignment
ACPI

    NVDIMM devices are now described in the ACPI tables and support labels.
    new ACPI CPU hotplug MMIO interface since 2.7 machine types for PC/Q35
        more than 255 CPUs support
        CPU hot-remove support
        Guest side CPU hotplug status notification via _OST events

Block devices

    Removed dataplane blockers? (Fam)
    New -device properties replacing -drive properties?
    virtio-blk now supports multiqueue through a "num-queues" device property.

Network devices

    New device e1000e for Intel 82574 NIC.
    QEMU now includes iPXE ROMs for vmxnet3 devices.

SCSI

    scsi-block now passes sense data correctly to the guest, so that it can support for example persistent reservations.
    Support for passthrough of SCSI scanner.

PCI/PCIe

    On Q35 machines, IOMMU are now enabled with "-device iommu" instead of "-machine iommu=on".

USB

    Support for Xen paravirtualized USB
    usb-bot and usb-uas now support hotplug.

VFIO

    Support for device assignment of Intel integrated graphics devices.
    The SR-IOV capability is now hidden to guests when passing through a physical function.

virtio

    Initial reconnect support for vhost-user.
    Support for busy polling on vhost-net devices ("-netdev tap,...,poll-us=n").
    virtio-gpu multi-monitor fixes
    virtio-gpu 2d live migration support

Character devices

    QEMU for Windows: Fixed handling of files used for character devices ãàthey are now truncated by default like on Linux.

TLS support

    Support for overriding the TLS property, for example "-object tls-creds-x509,...,priority=NORMAL:-VERS-SSL3.0" disables SSL 3.0. This can be used both to use a non-standard weaker set of prioririties, or to enforce a stronger default for QEMU. The default priority can also be specified through "--tls-priority=VALUE" at configure time.

GUI

    A new option "-machine graphics=on|off" lets you disable graphics in the VM like "-nographic" (e.g. OpenBIOS will use the serial port for boot messages) but without an implicit "-display none".

Monitor

    new 'info hotpluggable-cpus' and corresponding 'query-hotpluggable-cpus' QMP commands
    to list present/possible CPUs with properties necessary to add a CPU instance using device_add for a given '-smp ...' layout
        supported by x86 and SPAPR softmmu targets

Migration

    Autoconverge is not considered experimental anymore. Autoconverge-related commands do not have the "x-" prefix.
    TODO: TLS support

Network

    User-mode networking supports DHCPv6, RDNSS, DNS6 and link-local DNS addresses.
    Socket networking in TCP mode can now run over IPv6. UDP and multicast modes do not support IPv6 yet.

Block devices and tools

    New "bench" command in qemu-img .
    The "write" command in qemu-io grew "-f" and "-z -u" options.
    TODO: Block job ids?

TCG

    Speed improvements around 20%.
    Fixes for self-modifying code.

Tracing

    TODO: dfilter
    TODO: tracing for qemu-io, qemu-img and qemu-nbd

CLI options

    '-cpu cpu-model,feat1=foo,...' acts as a set of '-global cpu-model-type.feat1=foo' options, which affects initial CPUs as well as all CPUs created with help of -device/device_add/cpu-add for a given cpu-model
        doesn't apply to SPARC target which uses legacy -cpu semantics as its features haven't been converted to properties.

Revision 1.116 / (download) - annotate - [select for diffs], Sat Aug 27 03:16:40 2016 UTC (7 years, 7 months ago) by maya
Branch: MAIN
Changes since 1.115: +5 -5 lines
Diff to previous 1.115 (colored) to selected 1.109 (colored)

qemu: update to 2.6.1

mark more things as not mprotect-safe

Revision 1.114.2.1 / (download) - annotate - [select for diffs], Thu May 19 12:56:38 2016 UTC (7 years, 10 months ago) by bsiegert
Branch: pkgsrc-2016Q1
Changes since 1.114: +12 -11 lines
Diff to previous 1.114 (colored) next main 1.115 (colored) to selected 1.109 (colored)

Pullup ticket #5016 - requested by sevan
emulators/qemu: security fix

Revisions pulled up:
- emulators/qemu/Makefile                                       1.149
- emulators/qemu/PLIST                                          1.46
- emulators/qemu/distinfo                                       1.115
- emulators/qemu/patches/patch-configure                        1.13
- emulators/qemu/patches/patch-default-configs_pci.mak          1.2
- emulators/qemu/patches/patch-hw_misc_ivshmem.c                1.1
- emulators/qemu/patches/patch-hw_ppc_mac__newworld.c           1.3
- emulators/qemu/patches/patch-hw_ppc_mac__oldworld.c           1.3
- emulators/qemu/patches/patch-memory.c                         1.10
- emulators/qemu/patches/patch-slirp_tcp__subr.c                1.7

---
   Module Name:    pkgsrc
   Committed By:   ryoon
   Date:           Sun May 15 01:25:15 UTC 2016

   Modified Files:
           pkgsrc/emulators/qemu: Makefile PLIST distinfo
           pkgsrc/emulators/qemu/patches: patch-configure
               patch-default-configs_pci.mak patch-hw_ppc_mac__newworld.c
               patch-hw_ppc_mac__oldworld.c patch-memory.c patch-slirp_tcp__subr.c
   Added Files:
           pkgsrc/emulators/qemu/patches: patch-hw_misc_ivshmem.c

   Log Message:
   Update to 2.6.0

   Changelog:
   System emulation
   Incompatible changes

       The aio=native option to "-drive" now requires the cache=none option, instead of silently disabling itself for other cache modes. The newly invalid combination had been warning since QEMU 2.3.
       Specifying block device parameter aio=native is now an error on POSIX systems if qemu is compiled without libaio support. The newly invalid combination had been warning since QEMU 2.3.
       The experimental x-drive option for the sdhci-pci device has been removed. Instead of passing a drive directly to the SD controller device you now must create an SD card object (which will
   automatically be plugged into the SD controller), so "-device sdhci-pci,x-drive=mydrive -drive id=mydrive,[...]" becomes "-device sdhci-pci -device sd-card,drive=mydrive -drive id=mydrive,[...]".
       The s390-virtio machine has been removed.
       Machine types pc-q35-1.4, pc-q35-1.5, pc-q35-1.6, pc-q35-1.7, pc-q35-2.0, pc-q35-2.1, pc-q35-2.2 and pc-q35-2.3 have been removed.
       The "virt" machine type's flash device has changed when TrustZone is active ("-machine virt,secure=on"). The first flash device is only available in secure memory, while the second is available
   in non-secure memory too.

   Future incompatible changes

       Three options are using different names on the command line and in configuration file. In particular:
           The "acpi" configuration file section matches command-line option "acpitable";
           The "boot-opts" configuration file section matches command-line option "boot";
           The "smp-opts" configuration file section matches command-line option "smp".

       -readconfig will standardize on the name for the command line option.

       Behavior of automatic calculation of SMP topology when some SMP topology options for -smp are omitted (sockets, cores, threads) will change in the future. If guest ABI needs to be preserved on
   upgrades while using the SMP topology options, users should either set set all options explicitly (sockets, cores, threads), or omit all of them.
       The original qcow2 image encryption is fatally flawed, and support for it will be disabled entirely from the system emulators. It'll remain available only in command line tools qemu-img, qemu-io,
   qemu-nbd to facilitate data liberation. It is recommended to use 'qemu-img convert' to convert qcow2 encrypted images to uncrypted ones. The new LUKS encryption driver can provide a secure
   replacement if raw files are acceptable, while a future release will integrate luks into qcow2 natively.
       A few devices will be configured with explicit properties instead of implicitly. Unlikely to affect users; for the full list, see the 2.3 ChangeLog.
       QMP command blockdev-add is still a work in progress. It doesn't support all block drivers, it lacks a matching blockdev-del, and more. It might change incompatibly.

   ARM

       Support for a separate EL3 address space
       System mode supports BE8 and BE32. Note that qemu-system-arm can emulate both big-endian and little-endian guests (unlike user-mode emulation which has separate qemu-arm and qemu-armeb binaries).
       Support for the SETEND instruction, used most notably on Raspbian through the arm-mem library (previously known as libcofi).
       Faster boot thanks to DMA support in fw_cfg
       The "virt" machine type supports a virtual power button and the "system_powerdown" monitor command
       The "virt" machine type supports configuring network cards with -nic in addition to -netdev
       The RAM limit for the "virt" machine type is now 255GB
       The "xlnz-zynqmp" machine type now includes SPI controllers
       The "xlnx-ep108" machine type now supports SPI flash
       New partial Raspberry Pi 2 emulation with "raspi2" machine type. For now, it can boot older releases of Windows and Raspbian, but lacks a number of devices including USB.
       New palmetto-bmc machine type using the new, partial ASPEED AST2400 SoC implementation

   KVM

       Support for guest debugging (software and hardware breakpoints, single step) on AArch64

   MIPS

       Support for FPU and MSA in KVM guests
       Support for R6 Virtual Processors
       Initial support for Cluster Power Controller and Global Configuration Registers allowing the guest to control the start of Virtual Processors
       Support for Inter-Thread Communication Unit
       Support for MAAR registers in P5600 CPU

   PowerPC

       Improved support for migration of g3beige and mac99 machines
       Fix serial ports for g3beige and mac99 machines (OpenBIOS)
       The gdb stub supports the VSX instruction set extensions

   pSeries

       pSeries machine types starting at pseries-2.6 use XHCI as the USB host controller instead of OHCI
       Support for more hypercalls (H_SET_SPRG0, H_SET_DABR, H_SET_XDABR and H_PAGE_INIT)
       Support for EEH on assigned PCI devices can use the normal spapr-pci-host-bridge instead of the special spapr-pci-vfio-host-bridge.

   s390

       Fixes and improvements in s390x PCI support
       Support for hotplug of s390x cpus via cpu-add
       Support for booting from virtio-scsi devices in the s390-ccw bios

   SH
   SPARC

       sun4m: Fix for ldstub instruction resolves several 32-bit Solaris bugs (MUTEX_HELD hang, libC error, Java WebStart segfault)
       sun4u: FreeBSD 10.3+ can now run under qemu-system-sparc64 in -nographic mode

   TileGX
   Tricore

       Support for context management, illegal opcode and opd traps
       Support for FPU instructions

   x86
   TCG

       Support for the XSAVE/XSAVEOPT, MPX, FSGSBASE and PKE features

   KVM

       Support for "split irqchip". In this mode, QEMU emulates the IOAPIC, PIC (i8259) and PIT (i8254) devices while leaving the local APIC emulation to the kernel. This mode reduces the attack surface
   of KVM.
       Support for the new PKU feature found in some Skylake processors
       Support for migrating the TSC rate

   Xen
   Q35

       Support resume (S3)
       Support for legacy Windows guests (XP/2003)

   Device emulation and assignment

       New IPMI emulation subsystem. QEMU can now emulate an internal BMC or attach to an external BMC simulator such as OpenIPMI's lanserv. IPMI however is not yet exposed in SMBIOS and ACPI tables (do
   we want to docume?)
       FIXME: what's the state of nvdimm?

   ACPI

       The floppy disk controller's characteristics are now exposed in the ACPI tables, which makes it possible to use floppies on Windows together with UEFI firmware.

   Block devices

       The floppy disk consk or an empty disk to a 2.88 MB disk
       Improved compatibility of the SD device model with various operating systems and firmwares
       The NVMe device supports the "bootindex" property.
       The SDHCI device supports reset.

    ivshmem

       No longer available on hosts lacking eventfd(2), because inter-vm interrupts don't work there
       New devices ivshmem-plain and ivshmem-doorbell, fully backwards compatible for guests, notable differences to ivshmem:
           PCI revision is 1 instead of 0
           ivshmem role=master becomes master=on, role=peer becomes master=off
           ivshmem x-memdev=ID becomes ivshmem-plain memdev=ID
           ivshmem shm=NAME,size=SZ becomes ivshmem-plain memdev=ID, with -object memory-backend-file,id=ID,mem-path=/dev/mem/NAME,size=SZ,share
           ivshmem chardev=ID becomes ivshmem-doorbell,chardev=ID
           Property ioeventfd defaults to on instead of off
           ivshmem-plain never has MSI-X capability, and ivshmem-doorbell always has MSI-X capability
       Device ivshmem is deprecated, and its experimental property x-memdev is gone
       Interrupting a peer that reuses an unplugged peer's ID works again (broken in v1.2.0)
       Unplug no longer destroys the character device, for consistency with other devices
       The funny "no shared memory, yet" state is no longer guest-visible, and can no longer fail or mess up migration
           Guests may require PCI revision 1 to make sure they're not exposed to the funny state
       docs/specs/ivshmem-spec.txt rewritten for completeness and accuracy.

   SCSI

       Support for the LSI SAS1068 HBA (also known as "MPT Fusion"). Note that some operating systems will not recognize disks attached to this adapter, unless the disks are assigned a world-wide name
   (WWN).

   PCI/PCIe

       PCIe Multi-root support (using the new pxb-pcie root-compex)

   USB

       MTP: initial support for events

   VFIO

       Support for AMD XGBE platform passthrough
       New sysfsdev property provides a more general way to specify the device to attach to.
       Provided PCI option ROMs are fixed to include the same vendor and device id as the device exposed to the guest. This facilitates changing the ids of the devices.

   virtio

       Performance improvements via optimized vring accesses
       The balloon driver statistics now include the amount of available memory (corresponding to "Available" in /proc/meminfo for Linux guests).

   Character devices

       The socket character device backend can now enable TLS over TCP connections, acting either as a TLS server:

   $QEMU -object tls-creds-x509,id=tls0,dir=$HOME/.pki/qemutls,endpoint=server \
         -chardev socket,id=s0,host=127.0.0.1,port=9000,tls-creds=tls0,server \
         -device isa-serial,chardev=s0 \
         ...other args...

   or a TLS client:

   $QEMU -object tls-creds-x509,id=tls0,dir=$HOME/.pki/qemutls,endpoint=client \
         -chardev socket,id=s0,host=127.0.0.1,port=9000,tls-creds=tls0 \
         -device isa-serial,chardev=s0 \
         ...other args...

   If operating in server mode, the same set of TLS credentials can be used for both character devices and the VNC server

       All character devices can have their output logged to a plain file

   $QEMU -chardev stdio,id=mon0,logfile=monitor.log \
         -mon chardev=mon0 \
         ...other args...

   will result in logging of all output on the HMP monitor. The logappend parameter controls whether the file is truncated at startup, defaulting to append.
   GUI

       SDL2 and SPICE now support OpenGL and virgl. For SPICE, Unix sockets are the only usable transport when OpenGL is enabled.
       The "-vnc" and "-display vnc" options support ipv4=off and ipv6=off. Previously, only "ipv4" and "ipv6" were available.
       Support getting input events directly from linux evdev devices, using "-object input-linux,id=$name,evdev=/dev/input/event$nr"
       Support for ncurses on Windows.

   Monitor

       Support for a new "detach" option to "dump-guest-memory". The option dumps memory in the background. Progress can be queried using the new commands "info dump" (human monitor) and "query-dump"
   (QMP), as well as through the QMP event DUMP_COMPLETED.
       Support for a new command "input-send-event" replacing the previous experimental command "x-input-send-event".
       The human monitor command "drive_add -n" allows creating block devices that do not have a BlockBackend (similar to QMP blockdev-add).

   Migration

       Postcopy is not experimental anymore; the x-postcopy-ram capability was renamed to postcopy-ram.

   Network

       SLIRP now supports IPv6 for ICMP, UDP, TCP and TFTP.
       mirror filter which can mirror traffic from netdev to socket chardev, vice versa.
       redirector filter which can redirect traffic from netdev to socket chardev, vice versa.

   Secret passing system

   There is a new standard mechanism for securely passing secret credentials to QEMU, which will be used in combination with other subsystems. For example, network block device passwords, block device
   decryption passphrases, or TLS private key passwords can all use the same mechanism.

       Passing credentials inline (insecure, only for developer testing)

   $QEMU -object secret,id=sec0,data=letmein

       Passing credentials via a plain file

   $QEMU -object secret,id=sec0,file=mypassword.txt

       Passing credentials via a base64 encoded file

   $QEMU -object secret,id=sec0,file=mypassword.txt,format=base64

       Passing credentials inline, encrypted with a master key (recommended for management apps)

    $QEMU -object secret,id=master0,file=mykey.b64,format=base64 \
          -object secret,id=sec0,data=[base64 ciphertext],\
                  keyid=master0,iv=[base64 IV],format=base64

   TLS credential handling

   It is now possible to use encrypted TLS private keys with credentials for TLS servers/clients in QEMU. The password for unlocking the private key is provided by a secret object whose id is specified
   via the passwordid' property

   $QEMU -object secret,id=tlskey0,file=mypassword.txt \
         -object tls-creds-x509,id=tls0,dir=$HOME/.pki/qemutls,endpoint=server,passwordid=tlskey0 \
         ...other args...

   Block devices

       Block device throttling now support specifying a burst length as well. While previously the burst could only be specified as a total number of IOPS (e.g. 10000 IOPS), more complex specifications
   such as "10000 IOPS for 10 seconds" are now possible. Note that, because of the implementation of the algorithm, a guest that is allowed "10000 IOPS for 10 seconds" will also be allowed to perform
   for example 5000 IOPS for 20 seconds.
       The curl block device driver now supports HTTP authentication and HTTP proxy authentication via the new properties 'username', 'password-secret', 'proxy-username' and 'proxy-password-secret'.

   $QEMU -object secret,id=sec0,file=password.txt \
         -object secret,id=sec1,file=proxy-password.txt \
         -drive driver=http,host=localhost,port=443,username=fred,password-secret=sec0,proxy-username=bob,proxy-password-secret=sec1 \
         ...other args...

       The RBD block device driver can now use the secret object type to securely receive the authentication password without exposing it in the command line args

   $QEMU -object secret,id=sec0,file=password.b64,format=base64 \
         -drive driver=rbd,filename=rbd:pool/image:id=myname:auth_supported=cephx,password-secret=sec0 \
         ...other args...

       The iSCSI block device driver can now use the secret object type to securely receive the authentication password without exposing it in the command line args

   $QEMU -object secret,id=sec0,file=password.txt \
         -iscsi user=fred,password-secret=sec0 \
         -drive file=iscsi://192.168.122.1:3260/iqn.2013-12.com.example%3Aiscsi-chap-netpool/1

   NB this syntax requires that all iSCSI backed drives use the same password

       The qemu-io tool gained support for new '--object' and '--image-opts' arguments. The --object argument allows 'secret' and 'tls-creds-x509' objects to be defined for use in association with a
   block device backend. The '--image-opts' argument instructs qemu-io to parse the image string as a set of image options, instead of a plain filename. For example, to connect qemu-io to an NBD server
   using TLS

   qemu-io -c "read 0 512" \
           --object tls-creds-x509,id=tls0,dir=$HOME/.pki/qemutls,endpoint=client \
           --image-opts driver=nbd,host=localhost,port=10809,tls-creds=tls0

       The qemu-nbd tool gained support for new '--object' and '--image-opts' arguments. The --object argument allows 'secret' and 'tls-creds-x509' objects to be defined for use in association with a
   block device backend or the NBD server. The '--image-opts' argument instructs qemu-io to parse the image string as a set of image options, instead of a plain filename. For example, to connect
   qemu-nbd to an HTTP server with authentication and export it over NBD using TLS

   qemu-nbd --readonly \
            --object secret,id=sec0,file=passwd.txt \
            --object tls-creds-x509,id=tls0,dir=$HOME/.pki/qemutls,endpoint=server \
            --image-opts driver=http,url=http://some.random.host/some/image,username=fred,password-secret=sec0

       The qemu-img tool gained support for new '--object' and '--image-opts' arguments. The --object argument allows 'secret' and 'tls-creds-x509' objects to be defined for use in association with a
   block device backend or the NBD server. The '--image-opts' argument instructs qemu-io to parse the image string as a set of image options, instead of a plain filename. For example, to a remote HTTP
   server with authentication

   qemu-img info --object secret,id=sec0,file=passwd.txt \
                 --image-opts driver=http,url=http://some.random.host/some/image,username=fred,password-secret=sec0

       Support for deleting snapshots on Sheepdog devices.
       The NBD client and server now support use of TLS. When enabled, the server will mandate that the client also enable TLS and drop any client which attempts to continue in plain text. To run a
   qemu-nbd server with TLS:

   qemu-nbd --object tls-creds-x509,id=tls0,dir=$HOME/.pki/qemutls,endpoint=server \
            --tls-creds tls0 \
            /path/to/disk/image

   To connect to a server that requires TLS with qemu-img:

   qemu-img info --object tls-creds-x509,id=tls0,dir=$HOME/.pki/qemutls,endpoint=client \
                 --image-opts driver=nbd,host=localhost,port=10809,tls-creds=tls0

   To start a VM pointing to the NBD server

   $QEMU -object tls-creds-x509,id=tls0,dir=$HOME/.pki/qemutls,endpoint=client \
         -drive driver=nbd,host=localhost,port=10809,tls-creds=tls0 \
         ...other args...

       The NBD server gained support for specifying an export name. When the client negotiates use of the new style NBD protocol the default export name is "". The --exportname argument allows this to
   be customized:

   qemu-nbd --exportname myvol  /path/to/myvol.qcow2

       QEMU gained support for volumes formatted with the LUKSv1 data format. To format a new LUKS volume

   qemu-img create -f luks \
                   --object secret,id=sec0,file=passphrase.txt \
                   -o key-secret=sec0 \
                   demo.luks 10G

   To boot a guest from a LUKS volume:

   $QEMU -object secret,id=sec0,file=passphrase.txt \
         -drive driver=luks,key-secret=sec0,file=demo.luks \
         ...other args...

   The LUKS implementation is intended to be compatible with that used by cryptsetup/dm-crypt, so it should be possible to use disk images interchangeably between them. The only caveat is that some less
   common cipher/hash algorithms are not yet supported by QEMU. It is also not yet possible to manage key-slots with qemu-img.
   TCG

       Record/replay support extended to cover character devices.

   Tracing

       The "stderr" tracing backend was replaced by the "log" tracing backend, which is now the default. This backend prints tracing messages to the destination specified with the "-D" option.
       In addition to the existing "-trace file=...", tracepoints can be enabled using "-trace [enable=]...". The new option also supports globbing, as in "-trace bdrv_aio_*".
       In addition to the existing "-trace file=...", tracepoints can be enabling using "-d trace:...". This option also supports globbing, as in "-d trace:bdrv_aio_*".
       When using "-daemonize", the "-D" option also provides the file to which QEMU's stderr output will be redirected.
       TCG supports a new "-dfilter" option to limit exec, out_asm, op and op_opt logging to a range of guest physical addresses. ARM also applies the filter to in_asm logging; this will be extended to
   other targets in future releases (FIXME: probably should do it now instead...)
       A "%d" substring in the log file name is replaced with QEMU's pid.

   User-mode emulation

       The default CPU for ppc64 and ppc64le is now POWER8

Revision 1.115 / (download) - annotate - [select for diffs], Sun May 15 01:25:15 2016 UTC (7 years, 10 months ago) by ryoon
Branch: MAIN
CVS Tags: pkgsrc-2016Q2-base, pkgsrc-2016Q2
Changes since 1.114: +12 -11 lines
Diff to previous 1.114 (colored) to selected 1.109 (colored)

Update to 2.6.0

Changelog:
System emulation
Incompatible changes

    The aio=native option to "-drive" now requires the cache=none option, instead of silently disabling itself for other cache modes. The newly invalid combination had been warning since QEMU 2.3.
    Specifying block device parameter aio=native is now an error on POSIX systems if qemu is compiled without libaio support. The newly invalid combination had been warning since QEMU 2.3.
    The experimental x-drive option for the sdhci-pci device has been removed. Instead of passing a drive directly to the SD controller device you now must create an SD card object (which will automatically be plugged into the SD controller), so "-device sdhci-pci,x-drive=mydrive -drive id=mydrive,[...]" becomes "-device sdhci-pci -device sd-card,drive=mydrive -drive id=mydrive,[...]".
    The s390-virtio machine has been removed.
    Machine types pc-q35-1.4, pc-q35-1.5, pc-q35-1.6, pc-q35-1.7, pc-q35-2.0, pc-q35-2.1, pc-q35-2.2 and pc-q35-2.3 have been removed.
    The "virt" machine type's flash device has changed when TrustZone is active ("-machine virt,secure=on"). The first flash device is only available in secure memory, while the second is available in non-secure memory too.

Future incompatible changes

    Three options are using different names on the command line and in configuration file. In particular:
        The "acpi" configuration file section matches command-line option "acpitable";
        The "boot-opts" configuration file section matches command-line option "boot";
        The "smp-opts" configuration file section matches command-line option "smp".

    -readconfig will standardize on the name for the command line option.

    Behavior of automatic calculation of SMP topology when some SMP topology options for -smp are omitted (sockets, cores, threads) will change in the future. If guest ABI needs to be preserved on upgrades while using the SMP topology options, users should either set set all options explicitly (sockets, cores, threads), or omit all of them.
    The original qcow2 image encryption is fatally flawed, and support for it will be disabled entirely from the system emulators. It'll remain available only in command line tools qemu-img, qemu-io, qemu-nbd to facilitate data liberation. It is recommended to use 'qemu-img convert' to convert qcow2 encrypted images to uncrypted ones. The new LUKS encryption driver can provide a secure replacement if raw files are acceptable, while a future release will integrate luks into qcow2 natively.
    A few devices will be configured with explicit properties instead of implicitly. Unlikely to affect users; for the full list, see the 2.3 ChangeLog.
    QMP command blockdev-add is still a work in progress. It doesn't support all block drivers, it lacks a matching blockdev-del, and more. It might change incompatibly.

ARM

    Support for a separate EL3 address space
    System mode supports BE8 and BE32. Note that qemu-system-arm can emulate both big-endian and little-endian guests (unlike user-mode emulation which has separate qemu-arm and qemu-armeb binaries).
    Support for the SETEND instruction, used most notably on Raspbian through the arm-mem library (previously known as libcofi).
    Faster boot thanks to DMA support in fw_cfg
    The "virt" machine type supports a virtual power button and the "system_powerdown" monitor command
    The "virt" machine type supports configuring network cards with -nic in addition to -netdev
    The RAM limit for the "virt" machine type is now 255GB
    The "xlnz-zynqmp" machine type now includes SPI controllers
    The "xlnx-ep108" machine type now supports SPI flash
    New partial Raspberry Pi 2 emulation with "raspi2" machine type. For now, it can boot older releases of Windows and Raspbian, but lacks a number of devices including USB.
    New palmetto-bmc machine type using the new, partial ASPEED AST2400 SoC implementation

KVM

    Support for guest debugging (software and hardware breakpoints, single step) on AArch64

MIPS

    Support for FPU and MSA in KVM guests
    Support for R6 Virtual Processors
    Initial support for Cluster Power Controller and Global Configuration Registers allowing the guest to control the start of Virtual Processors
    Support for Inter-Thread Communication Unit
    Support for MAAR registers in P5600 CPU

PowerPC

    Improved support for migration of g3beige and mac99 machines
    Fix serial ports for g3beige and mac99 machines (OpenBIOS)
    The gdb stub supports the VSX instruction set extensions

pSeries

    pSeries machine types starting at pseries-2.6 use XHCI as the USB host controller instead of OHCI
    Support for more hypercalls (H_SET_SPRG0, H_SET_DABR, H_SET_XDABR and H_PAGE_INIT)
    Support for EEH on assigned PCI devices can use the normal spapr-pci-host-bridge instead of the special spapr-pci-vfio-host-bridge.

s390

    Fixes and improvements in s390x PCI support
    Support for hotplug of s390x cpus via cpu-add
    Support for booting from virtio-scsi devices in the s390-ccw bios

SH
SPARC

    sun4m: Fix for ldstub instruction resolves several 32-bit Solaris bugs (MUTEX_HELD hang, libC error, Java WebStart segfault)
    sun4u: FreeBSD 10.3+ can now run under qemu-system-sparc64 in -nographic mode

TileGX
Tricore

    Support for context management, illegal opcode and opd traps
    Support for FPU instructions

x86
TCG

    Support for the XSAVE/XSAVEOPT, MPX, FSGSBASE and PKE features

KVM

    Support for "split irqchip". In this mode, QEMU emulates the IOAPIC, PIC (i8259) and PIT (i8254) devices while leaving the local APIC emulation to the kernel. This mode reduces the attack surface of KVM.
    Support for the new PKU feature found in some Skylake processors
    Support for migrating the TSC rate

Xen
Q35

    Support resume (S3)
    Support for legacy Windows guests (XP/2003)

Device emulation and assignment

    New IPMI emulation subsystem. QEMU can now emulate an internal BMC or attach to an external BMC simulator such as OpenIPMI's lanserv. IPMI however is not yet exposed in SMBIOS and ACPI tables (do we want to docume?)
    FIXME: what's the state of nvdimm?

ACPI

    The floppy disk controller's characteristics are now exposed in the ACPI tables, which makes it possible to use floppies on Windows together with UEFI firmware.

Block devices

    The floppy disk consk or an empty disk to a 2.88 MB disk
    Improved compatibility of the SD device model with various operating systems and firmwares
    The NVMe device supports the "bootindex" property.
    The SDHCI device supports reset.

 ivshmem

    No longer available on hosts lacking eventfd(2), because inter-vm interrupts don't work there
    New devices ivshmem-plain and ivshmem-doorbell, fully backwards compatible for guests, notable differences to ivshmem:
        PCI revision is 1 instead of 0
        ivshmem role=master becomes master=on, role=peer becomes master=off
        ivshmem x-memdev=ID becomes ivshmem-plain memdev=ID
        ivshmem shm=NAME,size=SZ becomes ivshmem-plain memdev=ID, with -object memory-backend-file,id=ID,mem-path=/dev/mem/NAME,size=SZ,share
        ivshmem chardev=ID becomes ivshmem-doorbell,chardev=ID
        Property ioeventfd defaults to on instead of off
        ivshmem-plain never has MSI-X capability, and ivshmem-doorbell always has MSI-X capability
    Device ivshmem is deprecated, and its experimental property x-memdev is gone
    Interrupting a peer that reuses an unplugged peer's ID works again (broken in v1.2.0)
    Unplug no longer destroys the character device, for consistency with other devices
    The funny "no shared memory, yet" state is no longer guest-visible, and can no longer fail or mess up migration
        Guests may require PCI revision 1 to make sure they're not exposed to the funny state
    docs/specs/ivshmem-spec.txt rewritten for completeness and accuracy.

SCSI

    Support for the LSI SAS1068 HBA (also known as "MPT Fusion"). Note that some operating systems will not recognize disks attached to this adapter, unless the disks are assigned a world-wide name (WWN).

PCI/PCIe

    PCIe Multi-root support (using the new pxb-pcie root-compex)

USB

    MTP: initial support for events

VFIO

    Support for AMD XGBE platform passthrough
    New sysfsdev property provides a more general way to specify the device to attach to.
    Provided PCI option ROMs are fixed to include the same vendor and device id as the device exposed to the guest. This facilitates changing the ids of the devices.

virtio

    Performance improvements via optimized vring accesses
    The balloon driver statistics now include the amount of available memory (corresponding to "Available" in /proc/meminfo for Linux guests).

Character devices

    The socket character device backend can now enable TLS over TCP connections, acting either as a TLS server:

$QEMU -object tls-creds-x509,id=tls0,dir=$HOME/.pki/qemutls,endpoint=server \
      -chardev socket,id=s0,host=127.0.0.1,port=9000,tls-creds=tls0,server \
      -device isa-serial,chardev=s0 \
      ...other args...

or a TLS client:

$QEMU -object tls-creds-x509,id=tls0,dir=$HOME/.pki/qemutls,endpoint=client \
      -chardev socket,id=s0,host=127.0.0.1,port=9000,tls-creds=tls0 \
      -device isa-serial,chardev=s0 \
      ...other args...

If operating in server mode, the same set of TLS credentials can be used for both character devices and the VNC server

    All character devices can have their output logged to a plain file

$QEMU -chardev stdio,id=mon0,logfile=monitor.log \
      -mon chardev=mon0 \
      ...other args...

will result in logging of all output on the HMP monitor. The logappend parameter controls whether the file is truncated at startup, defaulting to append.
GUI

    SDL2 and SPICE now support OpenGL and virgl. For SPICE, Unix sockets are the only usable transport when OpenGL is enabled.
    The "-vnc" and "-display vnc" options support ipv4=off and ipv6=off. Previously, only "ipv4" and "ipv6" were available.
    Support getting input events directly from linux evdev devices, using "-object input-linux,id=$name,evdev=/dev/input/event$nr"
    Support for ncurses on Windows.

Monitor

    Support for a new "detach" option to "dump-guest-memory". The option dumps memory in the background. Progress can be queried using the new commands "info dump" (human monitor) and "query-dump" (QMP), as well as through the QMP event DUMP_COMPLETED.
    Support for a new command "input-send-event" replacing the previous experimental command "x-input-send-event".
    The human monitor command "drive_add -n" allows creating block devices that do not have a BlockBackend (similar to QMP blockdev-add).

Migration

    Postcopy is not experimental anymore; the x-postcopy-ram capability was renamed to postcopy-ram.

Network

    SLIRP now supports IPv6 for ICMP, UDP, TCP and TFTP.
    mirror filter which can mirror traffic from netdev to socket chardev, vice versa.
    redirector filter which can redirect traffic from netdev to socket chardev, vice versa.

Secret passing system

There is a new standard mechanism for securely passing secret credentials to QEMU, which will be used in combination with other subsystems. For example, network block device passwords, block device decryption passphrases, or TLS private key passwords can all use the same mechanism.

    Passing credentials inline (insecure, only for developer testing)

$QEMU -object secret,id=sec0,data=letmein

    Passing credentials via a plain file

$QEMU -object secret,id=sec0,file=mypassword.txt

    Passing credentials via a base64 encoded file

$QEMU -object secret,id=sec0,file=mypassword.txt,format=base64

    Passing credentials inline, encrypted with a master key (recommended for management apps)

 $QEMU -object secret,id=master0,file=mykey.b64,format=base64 \
       -object secret,id=sec0,data=[base64 ciphertext],\
               keyid=master0,iv=[base64 IV],format=base64

TLS credential handling

It is now possible to use encrypted TLS private keys with credentials for TLS servers/clients in QEMU. The password for unlocking the private key is provided by a secret object whose id is specified via the passwordid' property

$QEMU -object secret,id=tlskey0,file=mypassword.txt \
      -object tls-creds-x509,id=tls0,dir=$HOME/.pki/qemutls,endpoint=server,passwordid=tlskey0 \
      ...other args...

Block devices

    Block device throttling now support specifying a burst length as well. While previously the burst could only be specified as a total number of IOPS (e.g. 10000 IOPS), more complex specifications such as "10000 IOPS for 10 seconds" are now possible. Note that, because of the implementation of the algorithm, a guest that is allowed "10000 IOPS for 10 seconds" will also be allowed to perform for example 5000 IOPS for 20 seconds.
    The curl block device driver now supports HTTP authentication and HTTP proxy authentication via the new properties 'username', 'password-secret', 'proxy-username' and 'proxy-password-secret'.

$QEMU -object secret,id=sec0,file=password.txt \
      -object secret,id=sec1,file=proxy-password.txt \
      -drive driver=http,host=localhost,port=443,username=fred,password-secret=sec0,proxy-username=bob,proxy-password-secret=sec1 \
      ...other args...

    The RBD block device driver can now use the secret object type to securely receive the authentication password without exposing it in the command line args

$QEMU -object secret,id=sec0,file=password.b64,format=base64 \
      -drive driver=rbd,filename=rbd:pool/image:id=myname:auth_supported=cephx,password-secret=sec0 \
      ...other args...

    The iSCSI block device driver can now use the secret object type to securely receive the authentication password without exposing it in the command line args

$QEMU -object secret,id=sec0,file=password.txt \
      -iscsi user=fred,password-secret=sec0 \
      -drive file=iscsi://192.168.122.1:3260/iqn.2013-12.com.example%3Aiscsi-chap-netpool/1

NB this syntax requires that all iSCSI backed drives use the same password

    The qemu-io tool gained support for new '--object' and '--image-opts' arguments. The --object argument allows 'secret' and 'tls-creds-x509' objects to be defined for use in association with a block device backend. The '--image-opts' argument instructs qemu-io to parse the image string as a set of image options, instead of a plain filename. For example, to connect qemu-io to an NBD server using TLS

qemu-io -c "read 0 512" \
        --object tls-creds-x509,id=tls0,dir=$HOME/.pki/qemutls,endpoint=client \
        --image-opts driver=nbd,host=localhost,port=10809,tls-creds=tls0

    The qemu-nbd tool gained support for new '--object' and '--image-opts' arguments. The --object argument allows 'secret' and 'tls-creds-x509' objects to be defined for use in association with a block device backend or the NBD server. The '--image-opts' argument instructs qemu-io to parse the image string as a set of image options, instead of a plain filename. For example, to connect qemu-nbd to an HTTP server with authentication and export it over NBD using TLS

qemu-nbd --readonly \
         --object secret,id=sec0,file=passwd.txt \
         --object tls-creds-x509,id=tls0,dir=$HOME/.pki/qemutls,endpoint=server \
         --image-opts driver=http,url=http://some.random.host/some/image,username=fred,password-secret=sec0

    The qemu-img tool gained support for new '--object' and '--image-opts' arguments. The --object argument allows 'secret' and 'tls-creds-x509' objects to be defined for use in association with a block device backend or the NBD server. The '--image-opts' argument instructs qemu-io to parse the image string as a set of image options, instead of a plain filename. For example, to a remote HTTP server with authentication

qemu-img info --object secret,id=sec0,file=passwd.txt \
              --image-opts driver=http,url=http://some.random.host/some/image,username=fred,password-secret=sec0

    Support for deleting snapshots on Sheepdog devices.
    The NBD client and server now support use of TLS. When enabled, the server will mandate that the client also enable TLS and drop any client which attempts to continue in plain text. To run a qemu-nbd server with TLS:

qemu-nbd --object tls-creds-x509,id=tls0,dir=$HOME/.pki/qemutls,endpoint=server \
         --tls-creds tls0 \
         /path/to/disk/image

To connect to a server that requires TLS with qemu-img:

qemu-img info --object tls-creds-x509,id=tls0,dir=$HOME/.pki/qemutls,endpoint=client \
              --image-opts driver=nbd,host=localhost,port=10809,tls-creds=tls0

To start a VM pointing to the NBD server

$QEMU -object tls-creds-x509,id=tls0,dir=$HOME/.pki/qemutls,endpoint=client \
      -drive driver=nbd,host=localhost,port=10809,tls-creds=tls0 \
      ...other args...

    The NBD server gained support for specifying an export name. When the client negotiates use of the new style NBD protocol the default export name is "". The --exportname argument allows this to be customized:

qemu-nbd --exportname myvol  /path/to/myvol.qcow2

    QEMU gained support for volumes formatted with the LUKSv1 data format. To format a new LUKS volume

qemu-img create -f luks \
                --object secret,id=sec0,file=passphrase.txt \
                -o key-secret=sec0 \
                demo.luks 10G

To boot a guest from a LUKS volume:

$QEMU -object secret,id=sec0,file=passphrase.txt \
      -drive driver=luks,key-secret=sec0,file=demo.luks \
      ...other args...

The LUKS implementation is intended to be compatible with that used by cryptsetup/dm-crypt, so it should be possible to use disk images interchangeably between them. The only caveat is that some less common cipher/hash algorithms are not yet supported by QEMU. It is also not yet possible to manage key-slots with qemu-img.
TCG

    Record/replay support extended to cover character devices.

Tracing

    The "stderr" tracing backend was replaced by the "log" tracing backend, which is now the default. This backend prints tracing messages to the destination specified with the "-D" option.
    In addition to the existing "-trace file=...", tracepoints can be enabled using "-trace [enable=]...". The new option also supports globbing, as in "-trace bdrv_aio_*".
    In addition to the existing "-trace file=...", tracepoints can be enabling using "-d trace:...". This option also supports globbing, as in "-d trace:bdrv_aio_*".
    When using "-daemonize", the "-D" option also provides the file to which QEMU's stderr output will be redirected.
    TCG supports a new "-dfilter" option to limit exec, out_asm, op and op_opt logging to a range of guest physical addresses. ARM also applies the filter to in_asm logging; this will be extended to other targets in future releases (FIXME: probably should do it now instead...)
    A "%d" substring in the log file name is replaced with QEMU's pid.

User-mode emulation

    The default CPU for ppc64 and ppc64le is now POWER8

Revision 1.114 / (download) - annotate - [select for diffs], Thu Mar 24 15:21:10 2016 UTC (8 years ago) by khorben
Branch: MAIN
CVS Tags: pkgsrc-2016Q1-base
Branch point for: pkgsrc-2016Q1
Changes since 1.113: +2 -2 lines
Diff to previous 1.113 (colored) to selected 1.109 (colored)

Avoid a "bad substitution" error in the configure script

This fixes building emulators/qemu on netbsd-7 (amd64).
On a related note, it may also make sense to include
security/nettle/buildlink3.mk to the build.

Revision 1.113 / (download) - annotate - [select for diffs], Sun Mar 6 19:41:24 2016 UTC (8 years ago) by dbj
Branch: MAIN
Changes since 1.112: +2 -2 lines
Diff to previous 1.112 (colored) to selected 1.109 (colored)

slightly better shm_open check fix

Revision 1.112 / (download) - annotate - [select for diffs], Sun Mar 6 09:55:58 2016 UTC (8 years ago) by dbj
Branch: MAIN
Changes since 1.111: +2 -2 lines
Diff to previous 1.111 (colored) to selected 1.109 (colored)

tweak check for shm_open.  Fixes build on darwin

Revision 1.105.2.3 / (download) - annotate - [select for diffs], Sat Dec 26 22:51:12 2015 UTC (8 years, 3 months ago) by bsiegert
Branch: pkgsrc-2015Q3
Changes since 1.105.2.2: +2 -2 lines
Diff to previous 1.105.2.2 (colored) to branchpoint 1.105 (colored) next main 1.106 (colored) to selected 1.109 (colored)

Part 2 of pullup ticket #4876 - requested by ryoon
emulators/qemu: security fix

Revisions pulled up:
- emulators/qemu/distinfo                                       1.111
- emulators/qemu/patches/patch-configure                        1.9

---
   Module Name:	pkgsrc
   Committed By:	ryoon
   Date:		Tue Dec 22 23:52:00 UTC 2015

   Modified Files:
   	pkgsrc/emulators/qemu: distinfo
   	pkgsrc/emulators/qemu/patches: patch-configure

   Log Message:
   Build ivshmem* conditionally, fix broken if conditional

Revision 1.111 / (download) - annotate - [select for diffs], Tue Dec 22 23:52:00 2015 UTC (8 years, 3 months ago) by ryoon
Branch: MAIN
CVS Tags: pkgsrc-2015Q4-base, pkgsrc-2015Q4
Changes since 1.110: +2 -2 lines
Diff to previous 1.110 (colored) to selected 1.109 (colored)

Build ivshmem* conditionally, fix broken if conditional

Revision 1.105.2.2 / (download) - annotate - [select for diffs], Tue Dec 22 20:21:43 2015 UTC (8 years, 3 months ago) by bsiegert
Branch: pkgsrc-2015Q3
Changes since 1.105.2.1: +9 -6 lines
Diff to previous 1.105.2.1 (colored) to branchpoint 1.105 (colored) to selected 1.109 (colored)

Pullup ticket #4876 - requested by ryoon
emulators/qemu: security fix

Revisions pulled up:
- emulators/qemu/Makefile                                       1.147-1.148
- emulators/qemu/PLIST                                          1.44-1.45
- emulators/qemu/distinfo                                       1.109-1.110
- emulators/qemu/options.mk                                     1.2
- emulators/qemu/patches/patch-Makefile.objs                    1.1
- emulators/qemu/patches/patch-configure                        1.7-1.8
- emulators/qemu/patches/patch-default-configs_pci.mak          1.1
- emulators/qemu/patches/patch-tests_Makefile                   1.3

---
   Module Name:    pkgsrc
   Committed By:   ryoon
   Date:           Fri Dec 18 22:39:33 UTC 2015

   Modified Files:
           pkgsrc/emulators/qemu: Makefile PLIST distinfo
           pkgsrc/emulators/qemu/patches: patch-configure patch-tests_Makefile

   Log Message:
   Update to 2.5.0

   Changelog:
   == System emulation ==
   * guard pages are now inserted after guest RAM, to guard against guest-triggered buffer overflow attacks

   === Incompatible changes ===
   * The mips32r5-generic CPU was renamed to P5600
   * Host floppy device pass-through (block driver "host_floppy") has been removed; it is still possible to use them just like any other device file, however, a medium change will no longer be passed
   through to the guest

   === Future incompatible changes ===
   * Three options are using different names on the command line and in configuration file.  In particular:
   ** The "acpi" configuration file section matches command-line option "acpitable";
   ** The "boot-opts" configuration file section matches command-line option "boot";
   ** The "smp-opts" configuration file section matches command-line option "smp".
   :-readconfig will standardize on the name for the command line option.
   * Behavior of automatic calculation of SMP topology when some SMP topology options for -smp are omitted (sockets, cores, threads) will change in the future. If guest ABI needs to be preserved on
   upgrades while using the SMP topology options, users should either set set all options explicitly (sockets, cores, threads), or omit all of them.
   * Image encryption is fatally flawed, and will be dropped entirely.  It'll remain available only in qemu-img, so you can use 'qemu-img convert' to convert encrypted images to uncrypted ones.
   * Block device parameter aio=native has no effect without cache.direct=on.  It will be made an error.
   * Block device parameter aio=native has no effect if qemu is compiled without libaio support.  It will be made an error.
   * A few devices will be configured with explicit properties instead of implicitly.  Unlikely to affect users; for the full list, see the 2.3 ChangeLog.
   * QMP command blockdev-add is still a work in progress.  It doesn't support all block drivers, it lacks a matching blockdev-del, and more.  It might change incompatibly.
   * The s390-virtio machine has been deprecated for 2.5; it will be removed in 2.6. s390x users should switch to the (default) s390-ccw-virtio machine.
   * Changes to device "sdhci-pci" will make migration between old and new versions impossible.
   * We intend to drop support for running QEMU on MacOSX 10.5 hosts in the QEMU 2.6 release, unless somebody who uses it wishes to step forward and help us with regular testing.

   === Alpha ===
   === ARM ===
   * The "virt" machine type supports passing SMBIOS to the firmware.
   * Semihosting support on AArch64
   * New i.MX31 SoC.
   * The ZynqMP and Allwinner A10 platforms support AHCI.
   * Support for VGICv3 in KVM
   * Support for GICv3 in the ACPI tables.
   * The "virt" machine now has a second PCIe MMIO region of 512GB in size in high memory. Note that older 32-bit ARM Linux kernels built without CONFIG_LPAE have a bug where the presence of this region
   in high memory causes them to refuse to use the PCIe controller at all. In this case you can either reconfigure your kernel with CONFIG_LPAE=y, or pass QEMU the "-machine highmem=off" option to
   disable the use of high memory for PCIe. The kernel bug is expected to be fixed in Linux kernel release 4.4.
   === MIPS ===
   * The mips32r5-generic CPU was renamed to P5600
   * Improvements to MIPS R6 emulation

   === PowerPC ===
   ==== pSeries ====
   * Support for memory hotplug
   * The shipped version of SLOF includes GPT support.
   * Using VFIO doesn't need spapr-pci-vfio-host-bridge anymore.
   * virtio-vga now supported on sPAPR guests.
   * [[Features/HRandomHypercall | H_RANDOM hypercall]] device for providing good random data to the guests.
   ==== Mac99 ====
   * Improve ability to boot MacOS 9 (based upon GSoC project "Implement support for Mac OS 9 in QEMU " by Cormac O'Brien)

   === s390 ===
   * Storage keys are migrated.
   * New "info skeys" command in HMP to dump the storage key for a given address.
   * Support for virtio 1 in the virtio-ccw devices.
   ** A maximum virtio-ccw revision can be specified via the "max_revision" property: max_revision=0 may be used to enforce usage of legacy virtio mode.
   * Support for boot from El Torito iso images on virtio-blk has been added.

   === SH ===
   === SPARC ===

   * sun4u: Fix EBus device enumeration under FreeBSD SPARC64 (OpenBIOS)

   === TileGX ===
   * New target.
   === x86 ===
   * The emulated IOMMU (VT-d) supports devices behind a bridge
   * QEMU will warn when using a "-cpu" model that includes unsupported features. These features are disabled automatically, just like in previous versions of QEMU
   * /machine/icc-bridge was removed from the QOM tree. Software relying on icc-bridge to find CPU objects should use the "qom_path" field of "query-cpus" QMP command

   ==== CPU models and features ====
   * Haswell and Broadwell CPU models now include ABM
   * Cache information passthrough (which was enabled by default on "-cpu host") is now disabled by default
   * ABM, POPCNT, and SSE4a are not enabled in the default CPU models (qemu64, qemu32) anymore, as many hosts don't support it
   * RDTSCP was removed from AMD CPU models, as current KVM versions can't expose RDTSCP to guests in AMD hosts
   * New Intel memory instructions (clflushopt/clwb/pcommit) are now supported
   * TCG now supports Debug Extensions (CR4.DE)

   ==== KVM ====
   * Support for Hyper-V-compatible reporting of crashes.

   ==== Xen ====
   * Support for passthrough of Intel integrated GPUs.

   === Device emulation and assignment ===
   * fw_cfg supports a DMA interface on ARM and x86.  This interface makes -kernel/-initrd much faster if supported by the firmware. SeaBIOS supports the DMA interface starting with release 1.9.0
   (commit 06316c9d). The UEFI guest fw for ARM VMs (known as ArmVirtQemu or AAVMF) supports the DMA interface starting with git commit 953bcbcc / SVN r18545.
   ==== ACPI ====
   ==== Audio ====
   ==== Block devices ====
   ==== Character devices ====
   ==== IDE ====
   * AHCI ATAPI PIO transfers greater than one sector are fixe 0. On guest
   acknowledge, all functions are ejected together.

   ==== TPM ====
   ==== VFIO ====
   ==== virtio ====
   * virtio-gpu now supports 3D mode
   * vhost-user now supports live migration. client changes are required to enable this. When used with an old client without migration support, vhost-user will now block migration (instead of failing
   silently)
   * vhost-user now supports multi-queue. Use queues=# to enable this. client changes are required to enable this mode.  When used with an old client without multi-queue support, device will
   automatically fall back on using a single pair of queues.
   * vhost-user protocol now includes protocol feature negotiation, including multiple new messages. When used with old clients, all new messages are automatically disabled.
   * vhost-user no longer sents the RESET_OWNER message on device stop. The only QEMU version that sent it was 2.4, the message is now officially deprecated.
   * migration now works when virtio 1 is enabled for virtio-pci
   * For virtio-pci, virtio 1 performance on kvm on Intel CPUs has been improved (on kernel 4.4 and up).
   * a new flag modern-pio-notify can be used to enable PIO for notifications in virtio 1 mode, to improve performance for host kernels older than 4.4, and processors without EPT support.
   * virtio devices can now be placed on the pci express bus
   * vhost is no longer disabled when guest does not use MSI-X. The vhostforce flag is no longer required.
   * in virtio 1 mode, scsi passthrough is now disabled for virtio blk
   * Please note that for virtio-pci, the modern (virtio 1) interface is still disabled by default. To enable, set the flag disable-modern=off.

   ==== VGA ====

   === Character devices ===
   === GUI ===
   * New syntax for enabling TLS in the VNC server:
   ** Equivalent to <tt>-vnc hostname:0,tls</tt>: <tt>-object tls-creds-anon,id=tls0,endpoint=server -vnc hostname:0,tls-creds=tls0</tt>
   ** Equivalent to <tt>-vnc hostname:0,tls,x509=/path/to/certs</tt>: <tt>-object tls-creds-x509,id=tls0,endpoint=server,dir=/path/to/certs,verify-peer=no -vnc hostname:0,tls-creds=tls0</tt>
   ** Equivalent to <tt>-vnc hostname:0,tls,x509verify=/path/to/certs</tt>: <tt>-object tls-creds-x509,id=tls0,endpoint=server,dir=/path/to/certs,verify-peer=yes -vnc hostname:0,tls-creds=tls0</tt>
   * The Cocoa GUI does not have show an 'open image file' dialog box anymore even if QEMU is started without arguments
   * Thu curses GUI supports 256 colors and line graphics.

   === Monitor ===
   * New "info iothreads" command.
   * New "query-qmp-schema" command allows the caller to [[Features/QMP/Introspection | introspect the QMP schema]] used by QEMU.

   === Migration ===
   * [[Features/PostCopyLiveMigration | Postcopy migration]] for migration of large/busy guests
   * A more flexible [[Features/AutoconvergeLiveMigration | auto-converge mechanism]] (for busy guests)

   === Network ===
   * Support for multiqueue in vhost-user.
   * Support for network filters.  Currently, the only filter objects are "filter-buffer", which batches packets every N microseconds, and "filter-dump", which can be used to log the network traffic in
   a file.  Filters are attached to a netdev device using e.g. "-object filter-buffer,id=filter,netdev=net0,queue=rx,interval=1000" (which creates a 1ms filter-buffer).
   === Block devices in system emulation ===
   === Command-line options ===
   === TCG ===
   * Improved system emulation performance for targets with software TLBs (e.g. SPARC).
   * Initial support for [[Features/record-replay | record/replay]].

   == Block devices and tools ==
   * The HMP "change" command (QMP's ¡È"lockdev-change-medium") now allows you to change the read-only mode of the device (e.g. when inserting a read-only floppy disk image into a previously R/W drive)
   * Fine-grained control over a block device's tray with the new QMP commands "blockdev-open-tray", "blockdev-close-tray", "x-blockdev-insert-medium", and "x-blockdev-remove-medium" (the latter two are
   experimental for now)
   * New "reopen" command in qemu-io
   * block-dirty-bitmap-add and block-dirty-bitmap-clear transaction actions have been added to now fully support (transient) incremental bitmap usage and management.
   * QMP transactions now support a "completion-mode" parameter which controls the completion behavior of jobs launched by transactions, which will allow them to fail together. See the
   [https://github.com/qemu/qemu/blob/master/docs/bitmaps.md bitmaps.md] documentation for how this affects incremental backups.
   * Block I/O accounting can now report average queue depth, min/avg/max latency, and failed/invalid request counts
   * qcow2 learnt a new option ''cache-clean-interval'', which allows to free unused cache entries after some time.
   * An experimental QMP command ''x-blockdev-del'' was added as a completement for the (also still experimental) ''blockdev-add'' command.
   * A new QMP command ''blockdev-snapshot'' that allows creating a snapshot using as overlay an image previously opened with ''blockdev-add''. This allows opening the overlay image with arbitrary
   run-time options, solving one of the limitations of ''blockdev-snapshot-sync''.
   * It is now possible to open an image without its backing file by specifying the empty string as a backing file reference when opening the image. This is useful for creating snapshots, since images
   opened with ''blockdev-add'' are not supposed to have a backing file before the ''blockdev-snapshot'' operation.
   * Host CD-ROM support now works on Mac OS X hosts
   * Host floppy support has been removed (it was deprecated in QEMU 2.3)
   * The temporary "x-data-plane=on/off" option for virtio-blk device is removed now, all users are requested to use the canonical "-object iothread,id=<id> -device virtio-blk,iothread=<id>,..." syntax.

   == Audio ==

   == Guest agent ==
   * Add an optional qemu-ga.conf system configuration
   * Support for dumping the configuration current file with --dump-conf
   * Win32 support for guest-set-user-password
   * New command guest-exec

   == User-mode emulation ==
   * The configure option --disable-guest-base has been removed.
   == Build dependencies ==
   * libcacard has been moved to a standalone project, hosted at git://anongit.freedesktop.org/spice/libcacard.  The libcacard library from QEMU 2.4 can also be used to build QEMU 2.5.
   * virtio-gpu 3D support requires virglrenderer.
   == Known issues ==
   * SDL audio only works with SDL 1.x.
   * 64-bit QEMU might crash on Windows (problems with stack unwinding, depends on build environment, [http://repo.or.cz/w/qemu/ar7.git/commit/8fa9c07c9a33174905e67589bea6be3e278712cb possible fix])
   * QEMU's configure script fails with pdksh from OpenBSD (see [https://bugs.launchpad.net/qemu/+bug/1525682 bug #1525682]. Using another shell with configure should work.

---
   Module Name:    pkgsrc
   Committed By:   ryoon
   Date:           Mon Dec 21 12:10:22 UTC 2015

   Modified Files:
           pkgsrc/emulators/qemu: Makefile PLIST distinfo options.mk
           pkgsrc/emulators/qemu/patches: patch-configure
   Added Files:
           pkgsrc/emulators/qemu/patches: patch-Makefile.objs
               patch-default-configs_pci.mak

   Log Message:
   Fix build under NetBSD 6 or other platform that has no shm_open()
   Fix PR pkg/50572.

Revision 1.110 / (download) - annotate - [select for diffs], Mon Dec 21 12:10:22 2015 UTC (8 years, 3 months ago) by ryoon
Branch: MAIN
Changes since 1.109: +4 -2 lines
Diff to previous 1.109 (colored)

Fix build under NetBSD 6 or other platform that has no shm_open()
Fix PR pkg/50572.

Revision 1.109 / (download) - annotate - [selected], Fri Dec 18 22:39:33 2015 UTC (8 years, 3 months ago) by ryoon
Branch: MAIN
Changes since 1.108: +7 -7 lines
Diff to previous 1.108 (colored)

Update to 2.5.0

Changelog:
== System emulation ==
* guard pages are now inserted after guest RAM, to guard against guest-triggered buffer overflow attacks

=== Incompatible changes ===
* The mips32r5-generic CPU was renamed to P5600
* Host floppy device pass-through (block driver "host_floppy") has been removed; it is still possible to use them just like any other device file, however, a medium change will no longer be passed through to the guest

=== Future incompatible changes ===
* Three options are using different names on the command line and in configuration file.  In particular:
** The "acpi" configuration file section matches command-line option "acpitable";
** The "boot-opts" configuration file section matches command-line option "boot";
** The "smp-opts" configuration file section matches command-line option "smp".
:-readconfig will standardize on the name for the command line option.
* Behavior of automatic calculation of SMP topology when some SMP topology options for -smp are omitted (sockets, cores, threads) will change in the future. If guest ABI needs to be preserved on upgrades while using the SMP topology options, users should either set set all options explicitly (sockets, cores, threads), or omit all of them.
* Image encryption is fatally flawed, and will be dropped entirely.  It'll remain available only in qemu-img, so you can use 'qemu-img convert' to convert encrypted images to uncrypted ones.
* Block device parameter aio=native has no effect without cache.direct=on.  It will be made an error.
* Block device parameter aio=native has no effect if qemu is compiled without libaio support.  It will be made an error.
* A few devices will be configured with explicit properties instead of implicitly.  Unlikely to affect users; for the full list, see the 2.3 ChangeLog.
* QMP command blockdev-add is still a work in progress.  It doesn't support all block drivers, it lacks a matching blockdev-del, and more.  It might change incompatibly.
* The s390-virtio machine has been deprecated for 2.5; it will be removed in 2.6. s390x users should switch to the (default) s390-ccw-virtio machine.
* Changes to device "sdhci-pci" will make migration between old and new versions impossible.
* We intend to drop support for running QEMU on MacOSX 10.5 hosts in the QEMU 2.6 release, unless somebody who uses it wishes to step forward and help us with regular testing.

=== Alpha ===
=== ARM ===
* The "virt" machine type supports passing SMBIOS to the firmware.
* Semihosting support on AArch64
* New i.MX31 SoC.
* The ZynqMP and Allwinner A10 platforms support AHCI.
* Support for VGICv3 in KVM
* Support for GICv3 in the ACPI tables.
* The "virt" machine now has a second PCIe MMIO region of 512GB in size in high memory. Note that older 32-bit ARM Linux kernels built without CONFIG_LPAE have a bug where the presence of this region in high memory causes them to refuse to use the PCIe controller at all. In this case you can either reconfigure your kernel with CONFIG_LPAE=y, or pass QEMU the "-machine highmem=off" option to disable the use of high memory for PCIe. The kernel bug is expected to be fixed in Linux kernel release 4.4.
=== MIPS ===
* The mips32r5-generic CPU was renamed to P5600
* Improvements to MIPS R6 emulation

=== PowerPC ===
==== pSeries ====
* Support for memory hotplug
* The shipped version of SLOF includes GPT support.
* Using VFIO doesn't need spapr-pci-vfio-host-bridge anymore.
* virtio-vga now supported on sPAPR guests.
* [[Features/HRandomHypercall | H_RANDOM hypercall]] device for providing good random data to the guests.
==== Mac99 ====
* Improve ability to boot MacOS 9 (based upon GSoC project "Implement support for Mac OS 9 in QEMU " by Cormac O'Brien)

=== s390 ===
* Storage keys are migrated.
* New "info skeys" command in HMP to dump the storage key for a given address.
* Support for virtio 1 in the virtio-ccw devices.
** A maximum virtio-ccw revision can be specified via the "max_revision" property: max_revision=0 may be used to enforce usage of legacy virtio mode.
* Support for boot from El Torito iso images on virtio-blk has been added.

=== SH ===
=== SPARC ===

* sun4u: Fix EBus device enumeration under FreeBSD SPARC64 (OpenBIOS)

=== TileGX ===
* New target.
=== x86 ===
* The emulated IOMMU (VT-d) supports devices behind a bridge
* QEMU will warn when using a "-cpu" model that includes unsupported features. These features are disabled automatically, just like in previous versions of QEMU
* /machine/icc-bridge was removed from the QOM tree. Software relying on icc-bridge to find CPU objects should use the "qom_path" field of "query-cpus" QMP command

==== CPU models and features ====
* Haswell and Broadwell CPU models now include ABM
* Cache information passthrough (which was enabled by default on "-cpu host") is now disabled by default
* ABM, POPCNT, and SSE4a are not enabled in the default CPU models (qemu64, qemu32) anymore, as many hosts don't support it
* RDTSCP was removed from AMD CPU models, as current KVM versions can't expose RDTSCP to guests in AMD hosts
* New Intel memory instructions (clflushopt/clwb/pcommit) are now supported
* TCG now supports Debug Extensions (CR4.DE)

==== KVM ====
* Support for Hyper-V-compatible reporting of crashes.

==== Xen ====
* Support for passthrough of Intel integrated GPUs.

=== Device emulation and assignment ===
* fw_cfg supports a DMA interface on ARM and x86.  This interface makes -kernel/-initrd much faster if supported by the firmware. SeaBIOS supports the DMA interface starting with release 1.9.0 (commit 06316c9d). The UEFI guest fw for ARM VMs (known as ArmVirtQemu or AAVMF) supports the DMA interface starting with git commit 953bcbcc / SVN r18545.
==== ACPI ====
==== Audio ====
==== Block devices ====
==== Character devices ====
==== IDE ====
* AHCI ATAPI PIO transfers greater than one sector are fixed. This helps on OVMF, which utilizes such transfers.
* Zero byte count limits will no longer hang ATAPI drives.
* ATAPI PIO reads, when the byte count limit is set to the ATAPI block size, are now asynchronous. This should help to prevent hangs due to missing CDROM media mounted via NFS.

==== Mouse/keyboard ====
==== Network ====
==== SCSI ====
* scsi-generic devices now can be used together with a "readonly=on" backend.
==== Shared memory device ====
* A sample implementation of the ivshmem client and ivhsmem server is included with QEMU.
* ivshmem supports a new "x-memdev" property that uses a memory object for the backend.  This makes it possible to use ivshmem with a hugetlbfs backend. This property is experimental and may be removed in future release in favour of an alternative ivshmem device.
* Use kvm irqfd for msi notifications
* Protocol change, native long -> LE int64_t

==== PCI/PCIe ====
* hotplug support added for multifunction devices. To use, add all functions except function 0 first. Adding function 0 exposes the device to the guest. Request removal on function 0. On guest acknowledge, all functions are ejected together.

==== TPM ====
==== VFIO ====
==== virtio ====
* virtio-gpu now supports 3D mode
* vhost-user now supports live migration. client changes are required to enable this. When used with an old client without migration support, vhost-user will now block migration (instead of failing silently)
* vhost-user now supports multi-queue. Use queues=# to enable this. client changes are required to enable this mode.  When used with an old client without multi-queue support, device will automatically fall back on using a single pair of queues.
* vhost-user protocol now includes protocol feature negotiation, including multiple new messages. When used with old clients, all new messages are automatically disabled.
* vhost-user no longer sents the RESET_OWNER message on device stop. The only QEMU version that sent it was 2.4, the message is now officially deprecated.
* migration now works when virtio 1 is enabled for virtio-pci
* For virtio-pci, virtio 1 performance on kvm on Intel CPUs has been improved (on kernel 4.4 and up).
* a new flag modern-pio-notify can be used to enable PIO for notifications in virtio 1 mode, to improve performance for host kernels older than 4.4, and processors without EPT support.
* virtio devices can now be placed on the pci express bus
* vhost is no longer disabled when guest does not use MSI-X. The vhostforce flag is no longer required.
* in virtio 1 mode, scsi passthrough is now disabled for virtio blk
* Please note that for virtio-pci, the modern (virtio 1) interface is still disabled by default. To enable, set the flag disable-modern=off.

==== VGA ====

=== Character devices ===
=== GUI ===
* New syntax for enabling TLS in the VNC server:
** Equivalent to <tt>-vnc hostname:0,tls</tt>: <tt>-object tls-creds-anon,id=tls0,endpoint=server -vnc hostname:0,tls-creds=tls0</tt>
** Equivalent to <tt>-vnc hostname:0,tls,x509=/path/to/certs</tt>: <tt>-object tls-creds-x509,id=tls0,endpoint=server,dir=/path/to/certs,verify-peer=no -vnc hostname:0,tls-creds=tls0</tt>
** Equivalent to <tt>-vnc hostname:0,tls,x509verify=/path/to/certs</tt>: <tt>-object tls-creds-x509,id=tls0,endpoint=server,dir=/path/to/certs,verify-peer=yes -vnc hostname:0,tls-creds=tls0</tt>
* The Cocoa GUI does not have show an 'open image file' dialog box anymore even if QEMU is started without arguments
* Thu curses GUI supports 256 colors and line graphics.

=== Monitor ===
* New "info iothreads" command.
* New "query-qmp-schema" command allows the caller to [[Features/QMP/Introspection | introspect the QMP schema]] used by QEMU.

=== Migration ===
* [[Features/PostCopyLiveMigration | Postcopy migration]] for migration of large/busy guests
* A more flexible [[Features/AutoconvergeLiveMigration | auto-converge mechanism]] (for busy guests)

=== Network ===
* Support for multiqueue in vhost-user.
* Support for network filters.  Currently, the only filter objects are "filter-buffer", which batches packets every N microseconds, and "filter-dump", which can be used to log the network traffic in a file.  Filters are attached to a netdev device using e.g. "-object filter-buffer,id=filter,netdev=net0,queue=rx,interval=1000" (which creates a 1ms filter-buffer).
=== Block devices in system emulation ===
=== Command-line options ===
=== TCG ===
* Improved system emulation performance for targets with software TLBs (e.g. SPARC).
* Initial support for [[Features/record-replay | record/replay]].

== Block devices and tools ==
* The HMP "change" command (QMP's ãàlockdev-change-medium") now allows you to change the read-only mode of the device (e.g. when inserting a read-only floppy disk image into a previously R/W drive)
* Fine-grained control over a block device's tray with the new QMP commands "blockdev-open-tray", "blockdev-close-tray", "x-blockdev-insert-medium", and "x-blockdev-remove-medium" (the latter two are experimental for now)
* New "reopen" command in qemu-io
* block-dirty-bitmap-add and block-dirty-bitmap-clear transaction actions have been added to now fully support (transient) incremental bitmap usage and management.
* QMP transactions now support a "completion-mode" parameter which controls the completion behavior of jobs launched by transactions, which will allow them to fail together. See the [https://github.com/qemu/qemu/blob/master/docs/bitmaps.md bitmaps.md] documentation for how this affects incremental backups.
* Block I/O accounting can now report average queue depth, min/avg/max latency, and failed/invalid request counts
* qcow2 learnt a new option ''cache-clean-interval'', which allows to free unused cache entries after some time.
* An experimental QMP command ''x-blockdev-del'' was added as a completement for the (also still experimental) ''blockdev-add'' command.
* A new QMP command ''blockdev-snapshot'' that allows creating a snapshot using as overlay an image previously opened with ''blockdev-add''. This allows opening the overlay image with arbitrary run-time options, solving one of the limitations of ''blockdev-snapshot-sync''.
* It is now possible to open an image without its backing file by specifying the empty string as a backing file reference when opening the image. This is useful for creating snapshots, since images opened with ''blockdev-add'' are not supposed to have a backing file before the ''blockdev-snapshot'' operation.
* Host CD-ROM support now works on Mac OS X hosts
* Host floppy support has been removed (it was deprecated in QEMU 2.3)
* The temporary "x-data-plane=on/off" option for virtio-blk device is removed now, all users are requested to use the canonical "-object iothread,id=<id> -device virtio-blk,iothread=<id>,..." syntax.

== Audio ==

== Guest agent ==
* Add an optional qemu-ga.conf system configuration
* Support for dumping the configuration current file with --dump-conf
* Win32 support for guest-set-user-password
* New command guest-exec

== User-mode emulation ==
* The configure option --disable-guest-base has been removed.
== Build dependencies ==
* libcacard has been moved to a standalone project, hosted at git://anongit.freedesktop.org/spice/libcacard.  The libcacard library from QEMU 2.4 can also be used to build QEMU 2.5.
* virtio-gpu 3D support requires virglrenderer.
== Known issues ==
* SDL audio only works with SDL 1.x.
* 64-bit QEMU might crash on Windows (problems with stack unwinding, depends on build environment, [http://repo.or.cz/w/qemu/ar7.git/commit/8fa9c07c9a33174905e67589bea6be3e278712cb possible fix])
* QEMU's configure script fails with pdksh from OpenBSD (see [https://bugs.launchpad.net/qemu/+bug/1525682 bug #1525682]. Using another shell with configure should work.

Revision 1.108 / (download) - annotate - [select for diffs], Sun Nov 8 09:29:35 2015 UTC (8 years, 4 months ago) by adam
Branch: MAIN
Changes since 1.107: +5 -5 lines
Diff to previous 1.107 (colored) to selected 1.109 (colored)

Changes 2.4.1:
Bug fixes.

Revision 1.107 / (download) - annotate - [select for diffs], Tue Nov 3 20:31:01 2015 UTC (8 years, 4 months ago) by agc
Branch: MAIN
Changes since 1.106: +2 -1 lines
Diff to previous 1.106 (colored) to selected 1.109 (colored)

Add SHA512 digests for distfiles for emulators category

Problems found with existing digests:
	Package suse131_libSDL
	1c4d17a53bece6243cb3e6dd11c36d50f851a4f4 [recorded]
	da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated]
	Package suse131_libdbus
	de99fcfa8e2c7ced28caf38c24d217d6037aaa56 [recorded]
	da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated]
	Package suse131_qt4
	94daff738912c96ed8878ce1a131cd49fb379206 [recorded]
	886206018431aee9f8a01e1fb7e46973e8dca9d9 [calculated]

Problems found locating distfiles for atari800, compat12, compat 13,
compat14, compat15, compat20, compat30, compat40, compat50,
compat50-x11, compat51, compat51-x11, compat60, compat61,
compat61-x11, fmsx, osf1_lib, vice, xbeeb, xm7.

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.

Revision 1.105.2.1 / (download) - annotate - [select for diffs], Sun Sep 27 18:51:37 2015 UTC (8 years, 6 months ago) by bsiegert
Branch: pkgsrc-2015Q3
Changes since 1.105: +4 -4 lines
Diff to previous 1.105 (colored) to selected 1.109 (colored)

Pullup ticket #4820 - requested by ryoon
emulators/qemu: security fix

Revisions pulled up:
- emulators/qemu/Makefile                                       1.144
- emulators/qemu/distinfo                                       1.106

---
   Module Name:    pkgsrc
   Committed By:   ryoon
   Date:           Fri Sep 25 14:57:59 UTC 2015

   Modified Files:
           pkgsrc/emulators/qemu: Makefile distinfo

   Log Message:
   Update to 2.4.0.1

   Changelog:
   * net: avoid infinite loop when receiving packets(CVE-2015-5278)

   Ne2000 NIC uses ring buffer of NE2000_MEM_SIZE(49152)
   bytes to process network packets. While receiving packets
   via ne2000_receive() routine, a local 'index' variable
   could exceed the ring buffer size, leading to an infinite
   loop situation.

   Reported-by: Qinghao Tang <luodalongde@gmail.com>
   Signed-off-by: P J P <pjp@fedoraproject.org>
   Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
   (cherry picked from commit 737d2b3c41d59eb8f94ab7eb419b957938f24943)
   Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>

   * net: add checks to validate ring buffer pointers(CVE-2015-5279)

   Ne2000 NIC uses ring buffer of NE2000_MEM_SIZE(49152)
   bytes to process network packets. While receiving packets
   via ne2000_receive() routine, a local 'index' variable
   could exceed the ring buffer size, which could lead to a
   memory buffer overflow. Added other checks at initialisation.

   Reported-by: Qinghao Tang <luodalongde@gmail.com>
   Signed-off-by: P J P <pjp@fedoraproject.org>
   Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
   (cherry picked from commit 9bbdbc66e5765068dce76e9269dce4547afd8ad4)
   Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>

   * e1000: Avoid infinite loop in processing transmit descriptor (CVE-2015-6815)

   While processing transmit descriptors, it could lead to an infinite
   loop if 'bytes' was to become zero; Add a check to avoid it.

   [The guest can force 'bytes' to 0 by setting the hdr_len and mss
   descriptor fields to 0.
   --Stefan]

   Signed-off-by: P J P <pjp@fedoraproject.org>
   Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
   Reviewed-by: Thomas Huth <thuth@redhat.com>
   Message-id: 1441383666-6590-1-git-send-email-stefanha@redhat.com
   (cherry picked from commit b947ac2bf26479e710489739c465c8af336599e7)
   Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>

   * vnc: fix memory corruption (CVE-2015-5225)

   The _cmp_bytes variable added by commit "bea60dd ui/vnc: fix potential
   memory corruption issues" can become negative.  Result is (possibly
   exploitable) memory corruption.  Reason for that is it uses the stride
   instead of bytes per scanline to apply limits.

   For the server surface is is actually fine.  vnc creates that itself,
   there is never any padding and thus scanline length always equals stride.

   For the guest surface scanline length and stride are typically identical
   too, but it doesn't has to be that way.  So add and use a new variable
   (guest_ll) for the guest scanline length.  Also rename min_stride to
   line_bytes to make more clear what it actually is.  Finally sprinkle
   in an assert() to make sure we never use a negative _cmp_bytes again.

   Reported-by: ¦éïçåºÆé²») <zuozhi.fzz@alibaba-inc.com>
   Reviewed-by: P J P <ppandit@redhat.com>
   Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
   (cherry picked from commit eb8934b0418b3b1d125edddc4fc334a54334a49b)
   Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>

Revision 1.106 / (download) - annotate - [select for diffs], Fri Sep 25 14:57:59 2015 UTC (8 years, 6 months ago) by ryoon
Branch: MAIN
Changes since 1.105: +4 -4 lines
Diff to previous 1.105 (colored) to selected 1.109 (colored)

Update to 2.4.0.1

Changelog:
* net: avoid infinite loop when receiving packets(CVE-2015-5278)

Ne2000 NIC uses ring buffer of NE2000_MEM_SIZE(49152)
bytes to process network packets. While receiving packets
via ne2000_receive() routine, a local 'index' variable
could exceed the ring buffer size, leading to an infinite
loop situation.

Reported-by: Qinghao Tang <luodalongde@gmail.com>
Signed-off-by: P J P <pjp@fedoraproject.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit 737d2b3c41d59eb8f94ab7eb419b957938f24943)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>

* net: add checks to validate ring buffer pointers(CVE-2015-5279)

Ne2000 NIC uses ring buffer of NE2000_MEM_SIZE(49152)
bytes to process network packets. While receiving packets
via ne2000_receive() routine, a local 'index' variable
could exceed the ring buffer size, which could lead to a
memory buffer overflow. Added other checks at initialisation.

Reported-by: Qinghao Tang <luodalongde@gmail.com>
Signed-off-by: P J P <pjp@fedoraproject.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit 9bbdbc66e5765068dce76e9269dce4547afd8ad4)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>

* e1000: Avoid infinite loop in processing transmit descriptor (CVE-2015-6815)

While processing transmit descriptors, it could lead to an infinite
loop if 'bytes' was to become zero; Add a check to avoid it.

[The guest can force 'bytes' to 0 by setting the hdr_len and mss
descriptor fields to 0.
--Stefan]

Signed-off-by: P J P <pjp@fedoraproject.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-id: 1441383666-6590-1-git-send-email-stefanha@redhat.com
(cherry picked from commit b947ac2bf26479e710489739c465c8af336599e7)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>

* vnc: fix memory corruption (CVE-2015-5225)

The _cmp_bytes variable added by commit "bea60dd ui/vnc: fix potential
memory corruption issues" can become negative.  Result is (possibly
exploitable) memory corruption.  Reason for that is it uses the stride
instead of bytes per scanline to apply limits.

For the server surface is is actually fine.  vnc creates that itself,
there is never any padding and thus scanline length always equals stride.

For the guest surface scanline length and stride are typically identical
too, but it doesn't has to be that way.  So add and use a new variable
(guest_ll) for the guest scanline length.  Also rename min_stride to
line_bytes to make more clear what it actually is.  Finally sprinkle
in an assert() to make sure we never use a negative _cmp_bytes again.

Reported-by: ïì¦éïçåºÆé²») <zuozhi.fzz@alibaba-inc.com>
Reviewed-by: P J P <ppandit@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
(cherry picked from commit eb8934b0418b3b1d125edddc4fc334a54334a49b)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>

Revision 1.105 / (download) - annotate - [select for diffs], Wed Aug 12 06:55:59 2015 UTC (8 years, 7 months ago) by ryoon
Branch: MAIN
CVS Tags: pkgsrc-2015Q3-base
Branch point for: pkgsrc-2015Q3
Changes since 1.104: +6 -7 lines
Diff to previous 1.104 (colored) to selected 1.109 (colored)

Update to 2.4.0

Changelog:
# System emulation

## Incompatible changes
* The handling of the floppy device controller is different between <2.4 and >=2.4 machine types that use the Q35 chipset (e.g. "-M pc-q35-2.3" vs. "-M pc-q35-2.4"). This can cause problems if you are defining floppy drives with command-line options such as "-global isa-fdc.driveA=id.
* The ARM 'virt' board default interface type has changed from IDE to virtio. This means that some incorrect command lines that we previously silently accepted will now fail with an error message like "qemu-system-arm: -drive file=img.qcow2,id=foo: Drive 'foo' is already in use because it has been automatically connected to another device (did you need 'if=none' in the drive options?)". As the error message suggests, you should add "if=none" to the -drive option to fix this.

## Future incompatible changes
* Three options are using different names on the command line and in configuration file. In particular:
** The "acpi" configuration file section matches command-line option "acpitable";
** The "boot-opts" configuration file section matches command-line option "boot";
** The "smp-opts" configuration file section matches command-line option "smp".
-readconfig will standardize on the name for the command line option.

* Behavior of automatic calculation of SMP topology when some SMP topology options for -smp are omitted (sockets, cores, threads) will change in the future. If guest ABI needs to be preserved on upgrades while using the SMP topology options, users should either set set all options explicitly (sockets, cores, threads), or omit all of them.
* Image encryption is fatally flawed, and will be dropped entirely. It'll remain available only in qemu-img, so you can use 'qemu-img convert' to convert encrypted images to uncrypted ones.
* Host floppy device pass-through (block driver "host_floppy") is deprecated, and will be dropped in a future release.
* Block device parameter aio=native has no effect without cache.direct=on. It will be made an error.
* A few devices will be configured with explicit properties instead of implicitly. Unlikely to affect users; for the full list, see the 2.3 ChangeLog.
* QMP command blockdev-add is still a work in progress. It doesn't support all block drivers, it lacks a matching blockdev-del, and more. It might change incompatibly.
* The configure option --disable-guest-base is unneeded and will be removed in a future release.

## Alpha
* Major fixes to the implementation of floating point exceptions.

## ARM
* New board model xlnx-ep108
* Support for ACPI v5.1 tables in the "-M virt" board.
* Support for instantiation sysbus devices from the command line (using "-device") in the "-M virt" board.
* Emulation of the stream ID for MSI writes, for use in GICv3.
* The "virt" board default drive type is now virtio; this means that drives created with if=virtio or with no if= specification will be created as drives plugged into a virtio-blk-pci device. Short form options like -hda will also create this kind of drive. (Note that at time of writing Linux only supports the virt board's PCI controller for 32-bit ARM kernels; support has not yet made it into the 64-bit kernels. So 64-bit guests will need to continue using long command lines and virtio-mmio for now.) Unfortunately this means that some old command lines will need to change -- see the "incompatible changes" section above for details.

## MIPS
* More accurate emulation of the dp8393x network card and RC4030 DMA/IOMMU controller.
* Support for microMIPS32 R6 emulation (enabled in new "-cpu mips32r6-generic")
* Support for unaligned R6 and MSA memory accesses in TCG
* Support for XPA in MIPS32 and LPA in MIPS64 (eXtended and Large Physical Addressing) emulation
* Support for MIPS UHI semihosting

## PowerPC
* The default RAM size for the pseries machine is 512 MB.
* Support of PCI device hotplug on SPAPR (pSeries).

## s390
* Channel I/O is now available when running with TCG. Thus, the default machine for qemu-system-s390x is now s390-ccw.
* Several other fixes for TCG (emulation) mode.
* Extended name and UUID in STSI 3.2.2 information block
* Support for reading/writing guest memory while holding the IPTE lock under KVM, including access register mode
* Various cleanups in the s390-virtio and virtio-ccw transports
* Support for diag288 watchdog (KVM only).
* Support for vector registers
* Add virtio-1 specific ccws to virtio-ccw (SET_REV and v1 version of SET_VQ)
** Revision 1 (and therefore virtio 1.0) is not yet enabled, however.
* The s390-ccw-virtio machine is now versioned; the first versioned machine is s390-ccw-virtio-2.4
** The s390-ccw alias has been removed

## SH
* Optimizations to code generated by TCG.

## SPARC
* Fix SunOS 4.1.4 boot on sun4m with OpenBIOS

## x86
* Improvements to system management mode emulation, including support for high SMRAM and TSEG on machines using the Q35 chipset.
* q35 machine types starting with pc-q35-2.4.0 do not have a floppy disk controller. It will be created if you use "-drive if=floppy", "-fda" or "-fdb" to add a floppy disk drive, or it can be created if necessary with "-device isa-fdc".
* q35 now implements the TCO watchdog. Unlike real hardware, the watchdog is disabled when the virtual machine boot, so as to let existing firmware run with new QEMU. This may change in the future, but the change would be restricted to new machine types.

## KVM
* Support for MMIO operations outside the "big QEMU lock". For now, this only applies to the ACPI PM timer, which can alone improve performance substantially for very large Windows guests as long as they do not span multiple NUMA nodes in the host. For guests that span multiple NUMA nodes more kernel changes are required.
* Support for system management mode (requires Linux 4.1).
* When running under KVM, CPUID information includes the ARAT ("Always running APIC timer") bit

# Device emulation and assignment
## ACPI
* Support for memory hot-unplug.
* S3/S4 states can be disabled for boards using the Q35 machine type via "-global ICH9_LPC.disable_s3=on" and"-global ICH9_LPC.disable_s4=on"

## Block devices
* Minimal support in NVMe emulation for the NVME_VOLATILE_WRITE_CACHE feature.
* The infamous floppy device controller is not added to Q35 boards if not explicitly requested and no floppy drives are specified with "-drive if=floppy".
* I/O throttling now supports "groups" so multiple disks can use share a budget (use -drive groups=<name>)
* Performance of the parallels image format block driver has been improved

## Character devices
* Improved support for flow control in virtio-serial.

## IDE
* Fix macio CDROM detection for PPC
* Fix macio data corruption bug under Darwin/OS X PPC
* AHCI support rerror=stop and werror=stop.

## Mouse/keyboard
* Support for virtio-keyboard, virtio-mouse, virtio-tablet.

## Network
* Support for the "rocker" L2 switch device.

## SCSI
* scsi-generic now supports migration.

## PCI/PCIe
* Support for extra PCI root buses using PCI expander bridge devices. Unlike PCI-PCI bridges, a PCI expander bridge's bus can be associated with a NUMA node, allowing the guest OS to recognize the proximity of a device to RAM and CPUs.

## TPM
* Support for TPM 2

## VFIO
* Support for resetting AMD Bonaire and Hawaii GPUs
* Platform device passthrough support for Calxeda xgmac devices

## virtio
* Support for up to 1024 queues.
* Support for ioeventfd in virtio-mmio.
* FIXME: virtio 1
* New virtio-gpu device (only supports accelerated 2D for now)
* New virtio-input-host, virtio-keyboard, virtio-mouse and virtio-tablet devices (and corresponding virtio-*-pci devices for use on a PCI bus).
* Support for cross-endian vhost (i.e. little-endian host and big-endian guest, or vice versa).
* vhost can now be enabled even if MSI-X is not
* virtio-balloon can tell the guest that it should deflate the balloon on OOM conditions.

## VGA
* Support for virtio-vga, a VGA device that also supports the virtio-gpu interface.

## Character devices
* Improved support for flow control in spice-char.

## GUI
* Support for OpenGL-based display rendering in the SDL2 and GTK+ backend. This is preparatory work for 3D acceleration.
* Improvements to the Cocoa front-end, fixing full-screen mode and adding a list of consoles to the View menu.
* The two extra keys in Brazilian 107-key keyboards are now usable.

## Monitor
* qmp: New MIGRATION event to communicate change in the migration state

## Migration
* Support for compression of RAM data using multiple threads for compression and decompression (using migration capability "compress" and migration parameters "compress_threads", "compress_level" and "decompress_threads").

## Network
* Support for multi-queue vhost-user backends.

## Block devices in system emulation
* The BLOCK_IMAGE_CORRUPTED event has a new "node-name" field.
* FIXME: Throttle groups
* Block device mirroring supports concurrent unmap (aka discard or trim) operations on the source device and can create a thin-provisioned image in this case.
* Block device mirroring can use discard or "write zero" operations to speed up copying of large zero regions.
* FIXME: incremental backup?

## Command-line options
* A longhand version of -global (-global driver=DRIVER,property=PROP,value=VAL) is introduced, to set properties globally for devices that have a period in their name. The older syntax -global DRIVER.PROP=VAL did not allow this.
* New option -fw_cfg to pass arbitrary binary data to the guest.

## TCG
* New command line option "-icount sleep=no". The option will run emulation at the maximum possible speed: every time the CPU would go to sleep, the virtual clock will move to the next timer deadline. For virtual machines that have no other sources of non-determinism (e.g. asynchronous block I/O, character devices or user input) this will also make execution deterministic.

# Block devices and tools
* The "null" block device now has a new "latency-ns" option to delay the answer from the block device.
* The iscsi driver can use the target's FUA capabilities to greatly improve roundtrip times in write-through caching modes (cache.writeback=off). These modes are recommended when the storage has a non-volatile (battery-backed) cache.
* Parallels format driver now supports image creation and write to the image. Performance is significantly improved.
* qcow2 performance improvements.
* qemu-io supports encrypted qcow2 images (which are deprecated).

# Audio
* Obsolete audio backends have been removed: esd (superseded by pulseaudio), winwave (superseded by dsound), fmod (not compatible with the GPL)

# Guest agent
* Support for building a .msi file with the Windows version of the guest agent ("make msi"). This requires msitools.
* qemu-ga implements guest-get-fsinfo and guest-network-get-interfaces on Windows too

# User-mode emulation
* The default CPU for qemu-sh4 and qemu-sh4eb is the sh7785.

# Build dependencies
* QEMU now requires a minimum glib version of 2.22. (In particular, we will no longer build on a stock RHEL5 or Centos 5 system.)
* QEMU can now optionally be linked against tcmalloc.
* QEMU now compiles using clang 3.5 without warnings, which includes disabling GCC features not supported by clang.
* QEMU now compiles with ICC.
* libepoxy is required to compile QEMU with OpenGL support.
* Building on Mac OS X versions earlier than 10.5 is no longer supported.
* Sound on Windows now requires DirectSound (the old 'winwave' default audio backend has been dropped).

# Known issues
* SDL audio only works with SDL 1.x.
* Problems with QEMU for Windows and builds from newer versions of MinGW-w64, see this thread on qemu-devel (this is not a regression, other versions are also affected)
** Crash of 64-bit QEMU (Fix)
** Broken networking (Fix)
* Incomplete translations for GTK user interface

Revision 1.102.2.1 / (download) - annotate - [select for diffs], Wed May 20 20:32:05 2015 UTC (8 years, 10 months ago) by tron
Branch: pkgsrc-2015Q1
Changes since 1.102: +2 -1 lines
Diff to previous 1.102 (colored) next main 1.103 (colored) to selected 1.109 (colored)

Pullup ticket #4728 - requested by khorben
emulators/qemu: security patch

Revisions pulled up:
- emulators/qemu/Makefile                               1.138,1.137 via patch
- emulators/qemu/distinfo                               1.104,1.103
- emulators/qemu/patches/patch-hw_block_fdc.c           1.1
- emulators/qemu/patches/patch-tests_Makefile           1.2
- emulators/qemu/patches/patch-user-exec.c              deleted

---
   Module Name:	pkgsrc
   Committed By:	khorben
   Date:		Sat May 16 03:19:54 UTC 2015

   Modified Files:
   	pkgsrc/emulators/qemu: Makefile distinfo
   Added Files:
   	pkgsrc/emulators/qemu/patches: patch-hw_block_fdc.c

   Log Message:
   Add patch for CVE-2015-3456.

   fdc: force the fifo access to be in bounds of the allocated buffer

   During processing of certain commands such as FD_CMD_READ_ID and
   FD_CMD_DRIVE_SPECIFICATION_COMMAND the fifo memory access could
   get out of bounds leading to memory corruption with values coming
   from the guest.

   Fix this by making sure that the index is always bounded by the
   allocated memory.

   XXX pull-up where applicable

---
   Module Name:	pkgsrc
   Committed By:	ryoon
   Date:		Wed Apr 29 20:30:53 UTC 2015

   Modified Files:
   	pkgsrc/emulators/qemu: Makefile distinfo
   	pkgsrc/emulators/qemu/patches: patch-tests_Makefile
   Removed Files:
   	pkgsrc/emulators/qemu/patches: patch-user-exec.c

   Log Message:
   Update to 2.3.0

   Changelog:
    * Support for 32-bit KVM guests on 64-bit ARM hosts
    * Support for running KVM under valgrind
    * New IvyBridge CPU model for x86 guests
    * Xen: support for ioreq-server API
    * New 5KEc and 5KEf MIPS64r2, and M14K and M14Kc MIPS32r2
      microMIPS CPU models for MIPS guests
    * Basic support for transactional memory extentions in PowerPC guests
    * Improved VGA support for little-endian PPC/pSeries guests
    * PCI bus support for s390x guests
    * Support for automatic guest device unplug when passthrough devices
      are unbound from VFIO host driver
    * Improved UI performance/support for GTK+/VNC/SDL/Spice, and VNC
      support for multiseat
    * Performance improvements for virtio-blk emulation: asynchronous SCSI
      request handling, and disk read merging.
    * QEMU Guest Agent: now also supports file operations in Windows guests,
      can be used to enable/disable memory blocks in linux guests in
      support for memory hotplug.
    * Migration can now include a JSON description of migration stream to aid
      in identifying incompatibilities betweens guests/hosts.
    * And lots more...

Revision 1.104 / (download) - annotate - [select for diffs], Sat May 16 03:19:54 2015 UTC (8 years, 10 months ago) by khorben
Branch: MAIN
CVS Tags: pkgsrc-2015Q2-base, pkgsrc-2015Q2
Changes since 1.103: +2 -1 lines
Diff to previous 1.103 (colored) to selected 1.109 (colored)

Add patch for CVE-2015-3456.

fdc: force the fifo access to be in bounds of the allocated buffer

During processing of certain commands such as FD_CMD_READ_ID and
FD_CMD_DRIVE_SPECIFICATION_COMMAND the fifo memory access could
get out of bounds leading to memory corruption with values coming
from the guest.

Fix this by making sure that the index is always bounded by the
allocated memory.

XXX pull-up where applicable

Revision 1.103 / (download) - annotate - [select for diffs], Wed Apr 29 20:30:53 2015 UTC (8 years, 11 months ago) by ryoon
Branch: MAIN
Changes since 1.102: +5 -6 lines
Diff to previous 1.102 (colored) to selected 1.109 (colored)

Update to 2.3.0

Changelog:
 * Support for 32-bit KVM guests on 64-bit ARM hosts
 * Support for running KVM under valgrind
 * New IvyBridge CPU model for x86 guests
 * Xen: support for ioreq-server API
 * New 5KEc and 5KEf MIPS64r2, and M14K and M14Kc MIPS32r2
   microMIPS CPU models for MIPS guests
 * Basic support for transactional memory extentions in PowerPC guests
 * Improved VGA support for little-endian PPC/pSeries guests
 * PCI bus support for s390x guests
 * Support for automatic guest device unplug when passthrough devices
   are unbound from VFIO host driver
 * Improved UI performance/support for GTK+/VNC/SDL/Spice, and VNC
   support for multiseat
 * Performance improvements for virtio-blk emulation: asynchronous SCSI
   request handling, and disk read merging.
 * QEMU Guest Agent: now also supports file operations in Windows guests,
   can be used to enable/disable memory blocks in linux guests in
   support for memory hotplug.
 * Migration can now include a JSON description of migration stream to aid
   in identifying incompatibilities betweens guests/hosts.
 * And lots more...

Revision 1.102 / (download) - annotate - [select for diffs], Fri Mar 13 09:09:12 2015 UTC (9 years ago) by ryoon
Branch: MAIN
CVS Tags: pkgsrc-2015Q1-base
Branch point for: pkgsrc-2015Q1
Changes since 1.101: +4 -4 lines
Diff to previous 1.101 (colored) to selected 1.109 (colored)

Update to 2.2.1

Changelog:

2001e19: Update version for v2.2.1 release (Michael Roth)
c70221d: vpc: Fix size in fixed image creation (Kevin Wolf)
07db685: coroutine: Fix use after free with qemu_coroutine_yield() (Kevin Wolf)
c4ca8af: acpi: update generated hex files (Michael Roth)
16765a5: acpi-test: update expected DSDT (Michael Roth)
dab0efc: pc: acpi: fix WindowsXP BSOD when memory hotplug is enabled (Igor
Mammedov)
6c699aa: xen-hvm: increase maxmem before calling xc_domain_populate_physmap
(Stefano Stabellini)
a958b9b: linux-user: Check for cpu_init() errors (Eduardo Habkost)
4ec1b9b: qdev: Avoid type assertion in qdev_build_hotpluggable_device_list()
(Jun Li)
3e04f97: kvm/apic: fix 2.2->2.1 migration (Paolo Bonzini)
00fd890: target-mips: fix broken snapshotting (Leon Alrae)
3d1cd59: update ipxe from 69313ed to 35c5379 (Gerd Hoffmann)
a97f9a7: exec: change default exception_index value for migration to -1 (Paolo
Bonzini)
987aba5: qtest: Fix deadloop by running main loop AIO context's timers (Fam
Zheng)
7d389a2: block/iscsi: fix uninitialized variable (Peter Wu)
2a020d2: fix mc146818rtc wrong subsection name to avoid
vmstate_subsection_load() fail (Zhang Haoyu)
6833856: libcacard: stop linking against every single 3rd party library (Daniel
P. Berrange)
a9eb2b6: qemu-thread: fix qemu_event without futexes (Paolo Bonzini)
4d49de6: vfio-pci: Fix missing unparent of dynamically allocated MemoryRegion
(Alex Williamson)
3750d25: target-arm/translate-a64: Fix wrong mmu_idx usage for LDT/STT (Peter
Maydell)
4ac8b01: hw/input/hid.c Fix capslock hid code (Dinar Valeev)
e60fb7a: sb16: fix interrupt acknowledgement (Paolo Bonzini)
451b9e2: virtio: fix feature bit checks (Cornelia Huck)
0d09315: vt82c686: avoid out-of-bounds read (Paolo Bonzini)
8d1fdb1: target-i386: fix movntsd on big-endian hosts (Paolo Bonzini)
b0a231a: scsi: fix cancellation when I/O was completed but DMA was not. (Paolo
Bonzini)
09e2753: linux-user: Fix broken m68k signal handling on 64 bit hosts (Peter
Maydell)
49725cd: pckbd: set bits 2-3-6-7 of the output port by default (Paolo Bonzini)
fdb2ed4: serial: refine serial_thr_ipending_needed (Paolo Bonzini)
e54bcad: serial: reset thri_pending on IER writes with THRI=0 (Paolo Bonzini)
e1ce0c3: vl.c: fix regression when reading machine type from config file
(Marcel Apfelbaum)
cb3360d: PPC: Fix crash on spapr_tce_table_finalize() (David Gibson)
f738ade: atomic: fix position of volatile qualifier (Paolo Bonzini)
83dbd88: migration/block: fix pending() return value (Vladimir
Sementsov-Ogievskiy)
718ab31: target-xtensa: test cross-page opcode (Max Filippov)
27ad3df: target-xtensa: fix translation for opcodes crossing page boundary (Max
Filippov)
6569578: audio: Don't free hw resources until after hw backend is stopped
(Peter Maydell)
51d703f: linuxboot: fix loading old kernels (Paolo Bonzini)
ebd2bd2: block: Don't probe for unknown backing file format (Kevin Wolf)
9f8da03: qcow2.py: Add required padding for header extensions (Kevin Wolf)
63a3acd: qcow2: Fix header extension size check (Kevin Wolf)
9fc6075: block migration: fix return value (Gary R Hook)
6950b92: block/raw-posix: Fix ret in raw_open_common() (Max Reitz)
9b3f3d6: qcow2: Respect bdrv_truncate() error (Max Reitz)
6f45cda: qcow2: Flushing the caches in qcow2_close may fail (Max Reitz)
1e85e69: qcow2: Prevent numerical overflow (Max Reitz)
ff15187: iotests: Add test for unsupported image creation (Max Reitz)
0a0a984: iotests: Only kill NBD server if it runs (Max Reitz)
b15bfd0: qemu-img: Check create_opts before image amendment (Max Reitz)
10be14e: qemu-img: Check create_opts before image creation (Max Reitz)
6065d54: block: Check create_opts before image creation (Max Reitz)
0fc9a06: block/nfs: Add create_opts (Max Reitz)
1961d1c: block/vvfat: qcow driver may not be found (Max Reitz)
e81703b: block: Omit bdrv_find_format for essential drivers (Max Reitz)
7e213f8: block: Make essential BlockDriver objects public (Max Reitz)

Revision 1.101 / (download) - annotate - [select for diffs], Fri Mar 6 13:22:03 2015 UTC (9 years ago) by tnn
Branch: MAIN
Changes since 1.100: +2 -2 lines
Diff to previous 1.100 (colored) to selected 1.109 (colored)

Replace user-exec.c patch with cleaned up version which was sent upstream.
Includes PR pkg/49723 fix for sparc64.

Revision 1.100 / (download) - annotate - [select for diffs], Wed Jan 7 21:39:24 2015 UTC (9 years, 2 months ago) by wiedi
Branch: MAIN
Changes since 1.99: +3 -1 lines
Diff to previous 1.99 (colored) to selected 1.109 (colored)

fix build on SunOS

Revision 1.99 / (download) - annotate - [select for diffs], Thu Dec 11 14:04:59 2014 UTC (9 years, 3 months ago) by ryoon
Branch: MAIN
CVS Tags: pkgsrc-2014Q4-base, pkgsrc-2014Q4
Changes since 1.98: +4 -4 lines
Diff to previous 1.98 (colored) to selected 1.109 (colored)

Update to 2.2.0

Changelog:
# System emulation
## Future incompatible changes
* Three options are using different names on the command line and in configuration file. In particular:
** The "acpi" configuration file section matches command-line option "acpitable";
** The "boot-opts" configuration file section matches command-line option "boot";
** The "smp-opts" configuration file section matches command-line option "smp".

Starting with QEMU xyz.jkl, -readconfig will standardize on the name for the command line option.

## ARM
* Support for loading a device tree even with no -kernel option or when booting ELF images
* Support for input interrupts in the PL061 GPIO controller
* TCG can emulate breakpoints and watchpoints.
* Support for PSCI firmware interface emulating in TCG
** enables clean shutdown from non-kvm guests

## MIPS
* Support for MIPS64 Release 6 emulation.
* Support for MIPS SIMD Architecture emulation.
* Fix for incorrectly handled delay slots in MIPS16 and microMIPS.

## PowerPC
* Mac OS X 10.2, 10.3 and 10.4 guests run with the mac99 machine type.
* Bugfixes and optimization for TCG emulation of PowerPC targets.

### IBM (pSeries)
* Support for the "nmi" monitor command, to enter the kernel debugger.
* Live migration support for NVRAM

### Freescale (BookE)
* Breakpoint support on KVM.
* Support for the e500 platform bus and dynamic instantiation of FreeScale eTSEC devices (-device eTSEC).
* Support for MPC8XXX gpio controller to enable shutdown with 3.19+ Linux guests
## s390
* Enhance support for boot from DASD to handle more formats.
* Support for memory hotplug.
* Support for cpu state handling and migration.
* Support for booting newer kernels under TCG.
* Improved SMP startup and cpu online/offline performance especially for large guests

## SPARC
* Emulation of TCX hardware acceleration (allows X to run under NetBSD and Solaris)
* NetBSD and OpenBSD can now run under qemu-system-sparc64 in -nographic mode

## TriCore
* New target.

## x86
* Support for IOMMU (VT-d) emulation on the Q35 machine type, enabled with "-machine iommu=on".
* Support for specifying drives in short form on the command-line (i.e. using -cdrom, -hda, -drive if=ide) on the Q35 machine type.
* TCG is reported to run QNX.
* All CPUs now work with "-cpu MODEL,enforce", of course as long as TCG or KVM support the CPU's set of features. Previously, a few CPUs included extraneous CPUID flags that cause "-cpu MODEL,enforce" to fail.

## KVM
* More robust live migration of the kvm pv clock
* Support for AVX512

## Xen
* QEMU can now boot a bzImage or multiboot kernel under Xen, using the command line option -kernel.

## Xtensa
* New script for automatic core import from xtensa configuration overlay.

## Device emulation and assignment
* The boot order set for hot-plugged devices will take effect during reboot. In addition, the boot order can be dynamically modified via QOM.

### IDE
* More accurate emulation of AHCI, especially visible with Windows guests.

### SCSI
* Passthrough of vendor-specific commands now works (only with the virtio-scsi HBA).
* Initial support in virtio-scsi for a threaded backend, which is used in the same way as virtio-blk ("-object iothread,id=id" and "-device virtio-scsi-pci,iothread=id"). Note that the code has known thread-safety problems that can lead to QEMU using freed memory. They should not happen in normal use, they can be triggered easily by malicious guests. This option should only be used if you are interested in making relevant parts of QEMU thread safe.
* Support for LSI MegaRAID SAS 2108 HBAs (-device megasas-gen2). Note that booting from this device does not work yet.
* virtio-scsi can now execute Abort Task and Abort Task Set task management functions asynchronously.

### PCI/PCIe
* MSIs are now (correctly) disabled until bus master DMA is enabled for the device.
* Support for ARI forwarding on PCIe root ports.

### USB
* Support for hot-plugging XHCI/EHCI/UHCI controllers (in the case of EHCI/UHCI, only if there are no companion controllers).
* Support for USB 2.0 (high speed) mice and keyboards, complementing the existing support for high speed USB tablets. High speed devices avoid the less efficient UHCI controller, and thus use less CPU on the host.

### VGA
* The default vga device on x86 has been switched from cirrus to stdvga, which works better for most guests. However, Windows XP will not suspend to RAM anymore; the change can be undone with "-vga cirrus" and does not affect PC machine types of versions 2.1 and earlier.

## Character devices
* Support for automatic reconnection of client sockets (e.g. "-chardev socket,host=localhost,port=12345,nowait,reconnect=5").

## GUI
### Monitor
* The "info pcmcia" command was removed. PCMCIA hotplug was never implemented, and thus the command could only return static information.

## Network
* Samba 4.1 is now supported.

## Block devices in system emulation
* The list of functionality now supported in threaded virtio-blk backend is growing: new in 2.2 are resizing of disks, device hot-unplug, the embedded NBD server, and background jobs (backup, stream, mirror, commit).

# Block devices and tools
* QEMU is more resistent against failure of large allocations in the block layer
* Support for Archipelago as a QEMU block backend
* Support for Parallels images larger than 2TB.
* Migration now works when using qcow2 over Ceph.
* Network-based drivers (NBD, libiscsi, etc.) now work on Win32 hosts too.
* Source image cache mode can be set for qemu-img check, convert and rebase
* qemu-nbd has a new --detect-zeroes option.
* Progress report for qemu-img commit and qemu-img amend

# TCG
* In icount mode, it is possible to slow down emulation to match the requested CPU frequency (thus ensuring that the host and guest clocks remain aligned). This is enabled with "-icount N,align=on".
* A new "victim TLB" provides a 5-10% performance improvement.

# Tracing
* QEMU provides a SystemTap script that outputs binary trace data, for use in flight-recorder mode. The resulting traces can be parsed with QEMU's simpletrace.py script (using the --no-header command-line option).

# User-mode emulation
* New option: setting AT_RANDOM auxval with -seed option or QEMU_RAND_SEED env variable
* New system calls supported
** timerfd_create, timerfd_gettime and timerfd_settime
** ioprio_get and ioprio_set
** setns
** unshare
* epoll_pwait has been enabled on ARM
* Signal handling support added for PPC64
* Emulated contents of /proc/self/maps fixed

Revision 1.98 / (download) - annotate - [select for diffs], Tue Oct 14 21:00:15 2014 UTC (9 years, 5 months ago) by snj
Branch: MAIN
Changes since 1.97: +4 -5 lines
Diff to previous 1.97 (colored) to selected 1.109 (colored)

Update qemu to 2.1.2.  Changes:

9a72433: slirp: udp: fix NULL pointer dereference because of uninitialized socket (Petr Matousek)
00dd2b2: pc: leave more space for BIOS allocations (Michael S. Tsirkin)
80f4d02: Revert "virtio: don't call device on !vm_running" (Michael S. Tsirkin)
074e347: virtio-net: drop assert on vm stop (Michael S. Tsirkin)
9e8d994: Revert "rng-egd: remove redundant free" (Eduardo Habkost)
a56b9cf: hw/machine: Free old values of string properties (Eduardo Habkost)
0717855: Revert "spapr_pci: map the MSI window in each PHB" (Greg Kurz)
82d80e1: target-i386: Support migratable=no properly (Eduardo Habkost)
5dd076a: exec: Save CPUState::exception_index field (Pavel Dovgaluk)
257e9cf: pty: Fix byte loss bug when connecting to pty (Sebastian Tanase)
1aa87d3: spice: make sure we don't overflow ssd->buf (Gerd Hoffmann)
7fe5418: vbe: rework sanity checks (Gerd Hoffmann)
c5042f0: vbe: make bochs dispi interface return the correct memory size with qxl (Gerd Hoffmann)
cf29a88: virtio-net: purge outstanding packets when starting vhost (Michael S. Tsirkin)
08743db: net: complete all queued packets on VM stop (Michael S. Tsirkin)
d9c06c0: net: invoke callback when purging queue (Michael S. Tsirkin)
f321710: virtio: don't call device on !vm_running (Michael S. Tsirkin)
ec48bfd: net: Forbid dealing with packets when VM is not running (zhanghailiang)
eb36f79: acpi-build: Set FORCE_APIC_CLUSTER_MODEL bit for FADT flags (zhanghailiang)
34d41c1: vhost-scsi: init backend features earlier (Michael S. Tsirkin)
6f8d05a: vhost_net: init acked_features to backend_features (Jason Wang)
5e83dae: vhost_net: start/stop guest notifiers properly (Jason Wang)
ff34ca0: pci: avoid losing config updates to MSI/MSIX cap regs (Knut Omang)
e685d2a: virtio-net: don't run bh on vm stopped (Michael S. Tsirkin)
67cfda8: qxl-render: add more sanity checks (Gerd Hoffmann)
4fd144f: target-arm: Correct Cortex-A57 ISAR5 and AA64ISAR0 ID register values (Peter Maydell)
ea774b8: target-arm: Fix regression that disabled VFP for ARMv5 CPUs (Peter Maydell)
3e8966d: x86: Clear MTRRs on vCPU reset (Alex Williamson)
ba8576f: x86: kvm: Add MTRR support for kvm_get|put_msrs() (Alex Williamson)
07f8c97: x86: Use common variable range MTRR counts (Alex Williamson)
72c9c9a: target-i386: Don't forbid NX bit on PAE PDEs and PTEs (William Grant)
3d8cc86: vl: process -object after other backend options (Paolo Bonzini)
0824ca6: spapr_pci: map the MSI window in each PHB (Greg Kurz)
feb6334: thread-pool: avoid deadlock in nested aio_poll() calls (Stefan Hajnoczi)
75ada6b: thread-pool: avoid per-thread-pool EventNotifier (Stefan Hajnoczi)
be3af75: pc: reserve more memory for ACPI for new machine types (Michael S. Tsirkin)
bfe3e6f: pcihp: fix possible array out of bounds (Gonglei)
cd4acff: hostmem: set MPOL_MF_MOVE (Michael S. Tsirkin)
4b59161: vmxnet3: Pad short frames to minimum size (60 bytes) (Ben Draper)
fab7560: blkdebug: Delete BH in bdrv_aio_cancel (Fam Zheng)
16c92cd: qemu-iotests: add test case 101 for short file I/O (Stefan Hajnoczi)
dea6efe: raw-posix: fix O_DIRECT short reads (Stefan Hajnoczi)
8c4edd7: block/iscsi: fix memory corruption on iscsi resize (Peter Lieven)
504e2a7: arm/virt: Use PSCI v0.2 function IDs in the DT when KVM uses PSCI v0.2 (Christoffer Dall)
2f6d5e1: target-arm: Rename QEMU PSCI v0.1 definitions (Christoffer Dall)
20463dc: target-arm: Fix return address for A64 BRK instructions (Peter Maydell)
2a575c4: virtio-blk: fix reference a pointer which might be freed (zhanghailiang)
1ad9dce: acpi: align RSDP (Michael S. Tsirkin)
ba1bc81: numa: show hex number in error message for consistency and prefix them with 0x (Hu Tao)
948574e: pc-dimm: fix up error message (Michael S. Tsirkin)
044af98: pc-dimm: validate node property (Hu Tao)
7c68c54: hw:i386: typo fix: MEMORY_HOPTLUG_DEVICE -> MEMORY_HOTPLUG_DEVICE (Hu Tao)
bd47406: ide: only constrain read/write requests to drive size, not other types (Michael Tokarev)
e22d5dc: l2tpv3 (configure): it is linux-specific (Michael Tokarev)
dfd4808: vfio: Fix MSI-X vector expansion (Alex Williamson)
5f26e63: qdev-monitor: include QOM properties in -device FOO, help output (Stefan Hajnoczi)
42f7a13: qmp: hide "hotplugged" device property from device-list-properties (Stefan Hajnoczi)

Revision 1.97 / (download) - annotate - [select for diffs], Sun Aug 17 08:57:01 2014 UTC (9 years, 7 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2014Q3-base, pkgsrc-2014Q3
Changes since 1.96: +5 -8 lines
Diff to previous 1.96 (colored) to selected 1.109 (colored)

Changes 2.1.0:
Incompatible changes:
---------------------
The 82573L NIC was incorrectly treated as an 8254xx model. It no longer works correctly on either Linux (3.14.*) or Windows 7 and has been removed.
On x86, migration from QEMU 1.7 to QEMU 2.0 was broken if the guest had PCI bridges or for some number of CPUs (12, 13, 14, 54, 55, 56, 97, 98, 99, 139, 140) are the only ones). QEMU 2.1 fixes this, so that migration from QEMU 1.7 to QEMU 2.1 should always work. However, the fix breaks the following scenarios instead:
migration from QEMU 2.0 to QEMU 2.1 with PCI bridges and machine types pc-i440fx-1.7/pc-i440fx-2.0
migration from QEMU 2.0 to QEMU 2.1 with the aforementioned number of CPUs and machine type pc-i440fx-1.7

Future incompatible changes:

Revision 1.96 / (download) - annotate - [select for diffs], Fri Jul 11 19:15:08 2014 UTC (9 years, 8 months ago) by gson
Branch: MAIN
Changes since 1.95: +3 -1 lines
Diff to previous 1.95 (colored) to selected 1.109 (colored)

Fix qemu bug 1335444 aka PR pkg/48071.  Patches from Kirill Batuzov,
with minor changes to make them apply to 2.0.0.  Bump PKGREVISION.

Revision 1.92.2.1 / (download) - annotate - [select for diffs], Fri May 16 16:01:22 2014 UTC (9 years, 10 months ago) by tron
Branch: pkgsrc-2014Q1
Changes since 1.92: +5 -5 lines
Diff to previous 1.92 (colored) next main 1.93 (colored) to selected 1.109 (colored)

Pullup ticket #4408 - requested by wiz
emulators/qemu: security update

Revisions pulled up:
- emulators/qemu/Makefile					patch
- emulators/qemu/PLIST						patch
- emulators/qemu/distinfo					patch
- emulators/qemu/patches/patch-hw_virtio_virtio.c		patch
- emulators/qemu/patches/patch-include_exec_softmmu__template.h	patch

---
   Apply patch to update qemu package to version 2.0.0nb2 which
   fixes multiple security vulnerabilities.

Revision 1.95 / (download) - annotate - [select for diffs], Thu May 15 12:28:13 2014 UTC (9 years, 10 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2014Q2-base, pkgsrc-2014Q2
Changes since 1.94: +2 -1 lines
Diff to previous 1.94 (colored) to selected 1.109 (colored)

Add a patch based on upstream git fixing five different CVEs in one file.
Congratulations.

Bump PKGREVISION.

Revision 1.94 / (download) - annotate - [select for diffs], Fri Apr 18 15:50:16 2014 UTC (9 years, 11 months ago) by adam
Branch: MAIN
Changes since 1.93: +4 -5 lines
Diff to previous 1.93 (colored) to selected 1.109 (colored)

Changes 2.0.0:
Incompatible changes
All onboard buses now have distinct names, so that all of them can be reached with "-device bus=...". As a result of this, some buses that used to have duplicates got renamed:
i2c-bus.0 to i2c-bus.1 for machines n800, n810;
virtio-mmio-bus.0 to virtio-mmio-bus.3 for vexpress-a15, vexpress-a9;
virtio-mmio-bus.0 to virtio-mmio-bus.31 for virt;
usb-bus.0 to usb-bus.1 for xilinx-zynq-a9, fulong2e;
ide.0 to ide.1 for isapc, mips, g3beige, mac99, prep;
This change requires care when doing migration from 1.x to 2.x QEMU; you need to specify bus=NEW explicitly on the destination for devices on the renamed bus.
Another bus rename is pci to pci.0 for pseries. This does not require as much care on migration; if you were specifying "bus=pci" explicitly, QEMU will not start unless you change that to "bus=pci.0".
qemu-system-arm no longer defaults to the obsolete "integratorcp" if no machine is specified on the command line (this was a recurring source of confusion). Users with existing integratorcp images will need to add "-M integratorcp" to the command line if it is not already present.
Future incompatible changes
Three options are using different names on the command line and in configuration file. In particular:
The "acpi" configuration file section matches command-line option "acpitable";
The "boot-opts" configuration file section matches command-line option "boot";
The "smp-opts" configuration file section matches command-line option "smp".
Starting with QEMU 2.1, -readconfig will standardize on the name fo the command line option.
ARM
Support for "-M virt", a board type that only uses virtio devices
Support for "-cpu host" when running under KVM
Support for new 32-bit mode ARMv8 instructions in TCG
Support for all 64-bit mode ARMV8 user-accessible instructions except for the optional CRC and crypto extensions
Support for AArch64 disassembling (requires a C++ compiler to be installed on the host)
Initial support for KVM on AArch64 systems (some features such as migration are not yet implemented)
Support for the Canon PowerShot A1100 DIGIC board using "-M canon-a1100"
Support for the allwinner-a10-based board "-M cubieboard"
Support for flow control in the Cadence UART
"integratorcp" is no longer the default machine (see the 'incompatible changes' section above)
Power
Support for Altivec 2.07 and VSX instructions when running under TCG
Support for ISA 2.06 "load/store quadword instructions", "divide extended instructions" and "floating-point test instructions" when running under TCG
PReP is not anymore (incorrectly) included in qemu-system-ppcemb
Improved support for "-nodefaults" on the pSeries machine. Display devices created with "-device VGA" will be handled correctly in the device tree.
Support for boot order in pSeries emulation
s390
Support for adapter interrupts in virtio-cc2
SPARC
Support for Sun CG3 framebuffer with the Sun4m machine. The CG3 framebuffer can be requested with "-vga cg3".
Support for the CASA compare-and-swap instruction in TCG.
x86
On the Q35 machine, the HPET interrupt can now be attached to GSIs 16-23, like on real hardware.
The Q35 machine now supports CPU hotplug.
Two flash chips can be specified using the "-drive if=pflash" or "-pflash" options twice.
Memory layout has changed slightly; to improve performance, the PIIX4 machine ("-M pc") now has 3GB of low memory instead of 3.5GB if the guest has more than 3.5GB of memory. Similarly, the Q35 machine ("-M q35") now has 2GB instead of 2.75GB of low memory if the guest has more than 2.75GB of overall memory.
Support for migration of Intel MPX registers.
The Apple SMC device is now exposed in the ACPI tables.
On the PIIX machine, PCI hotplug now supports devices behind a bridge (only for bridges not added by hotplug; hot-plugged bridges can still use the PCI Standard Hot-Plug Controller).
Support for the Hyper-V reference time counter via the "hv-time" suboption of "-cpu". This can improve performance of Windows guests substantially for applications that do many floating-point or SIMD operations. (Requires KVM and Linux 3.14).
The distributed qemupciserial.inf file now allows installing multiport PCI serial devices on Windows too.
ACPI tables generated by QEMU can now be used by OVMF firmware. OVMF starting with SVN r15420 is needed. In particular hotplug, pvpanic device and other ACPI based features now work for OVMF.
KVM
x2apic is now enabled by default when KVM is in use.
Xen
PCI passthrough of devices with a ROM now works.
Xtensa
added support for ML605 and KC705 FPGA boards.
Cache-related opcodes now correctly check privilege level/memory accessibility.

Revision 1.93 / (download) - annotate - [select for diffs], Tue Apr 1 06:47:42 2014 UTC (9 years, 11 months ago) by adam
Branch: MAIN
Changes since 1.92: +4 -4 lines
Diff to previous 1.92 (colored) to selected 1.109 (colored)

Changes 1.7.1:
This is a bug-fix release.

Revision 1.92 / (download) - annotate - [select for diffs], Wed Jan 15 18:26:20 2014 UTC (10 years, 2 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2014Q1-base
Branch point for: pkgsrc-2014Q1
Changes since 1.91: +16 -15 lines
Diff to previous 1.91 (colored) to selected 1.109 (colored)

Update to 1.7.0, from tsutsui.

Changes:

System emulation

Device emulation

Audio

    The HDA device emulation now includes a mixer by default.
    Previously this had to be enabled with the configure argument
    "--enable-mixemu" when building QEMU.
    Audio will work correctly on systems without OSS (/dev/dsp).
    On previous versions, those systems needed special arguments
    to "configure" for audio to work out of the box.
    Audio honors the QEMU_AUDIO_TIMER_PERIOD environment variable
    and has less CPU utilization by default than previous versions.

Block devices

    Support for the LSI 53C810 SCSI HBA, which unlike the 895A is
    supported on some very old Windows NT versions.

Device assignment

    VFIO now supports setting CPU affinity on MSI interrupts.
    VFIO can now reset assigned devices much more reliably using
    either PCI function-level reset (FLR), power management, or a
    reset (done by the kernel) of the parent bridge.
    Several improvements to the reliability of using option ROMs
    for devices that are assigned with VFIO.

USB

    Performance and functionality improvements for USB 3.0.

MicroBlaze

    Can now specify an initrd on the command line.

PowerPC

    PowerPC now supports the dump-guest-memory command.

s390x

    The "nmi" command will trigger a crash dump from kdump, using
    a RESTART interrupt.
    The SCLP line-mode console ("operating system messages") can
    be accessed with "-device sclplmconsole".

x86

    ACPI tables can be generated by QEMU and can be used by firmware
    directly. This will in the future enable new features without
    modifications of all firmware components (SeaBIOS, OVMF,
    CoreBoot)
    Initial support for supporting more than 1TB of RAM (but firmware
    does not yet support this).
    Xen HVM domains can now resume from suspend-to-RAM (S3) state.

Monitor

    Subcommands (like "info block") can now autocomplete their
    options.
    Help for a single subcommand can be printed with a monitor
    command such as "help info block".
    New commands "blockdev-snapshot-internal-sync",
    "blockdev-snapshot-delete-internal-sync" improve support for
    internal qcow2 snapshot.
    New command "blockdev-add" provides a QMP interface for block
    device hotplug.

Block devices

    The throttling algorithm has been rewritten; the new code is
    more robust, and supports configuration of separate limits for
    sustained I/O vs. I/O bursts

Migration

    Migration was broken from QEMU <= 1.5 to 1.6; the new release
    fixes it.

User-mode emulation

    M68K ColdFire emulation supports atomic system calls.

Block devices, qemu-img, qemu-io

    The sheepdog driver supports automatic reconnect after network
    errors
    The VMDK driver supports files produced by VMWare ESX.
    The qcow2 driver can detect some cases of corruption, and will
    prevent writing to a corrupted image.
    The VHDX driver supports creating and writing .vhdx images.
    The metadata of a file (where each sector of the guest image
    is stored in the file on the host) can be dumped in human-readable
    or JSON format using a new command "qemu-img map".

Guest agent

    The "filesystem freeze/thaw" commands are now supported on
    Windows too, where they will invoke the native Volume Shadow
    Copy Service (VSS).

Miscellaneous

    For targets that have no embedded disassembler, QEMU will now
    produce hexadecimal dumps instead of just emitting an error
    when a disassembly is requested. The enclosed script disas-objdump.pl
    can be used, together with an external objdump program, to
    convert the dump to a readable disassembly.

Host support

    TCG now runs on x32 hosts.

Known issues

    On Win32, QEMU must be compiled with --disable-coroutine-pool
    to work around a suspected compiler bug.
    The GTK terminal windows (monitor, serial console, parallel,
    ...) are still unusable in TCG mode: they lose characters and
    can raise deadlocks.

Revision 1.91 / (download) - annotate - [select for diffs], Sat Jan 11 13:08:59 2014 UTC (10 years, 2 months ago) by adam
Branch: MAIN
Changes since 1.90: +4 -4 lines
Diff to previous 1.90 (colored) to selected 1.109 (colored)

Changes 1.6.2:
Bug-fix release.

Revision 1.90 / (download) - annotate - [select for diffs], Sun Oct 27 16:33:25 2013 UTC (10 years, 5 months ago) by hubertf
Branch: MAIN
CVS Tags: pkgsrc-2013Q4-base, pkgsrc-2013Q4
Changes since 1.89: +2 -2 lines
Diff to previous 1.89 (colored) to selected 1.109 (colored)

Make this build on Mac OS X 10.7.x - the linker needs ranlink ran
(via ar), else it will fail to link.

OK joerg@

Revision 1.89 / (download) - annotate - [select for diffs], Sat Oct 26 23:23:41 2013 UTC (10 years, 5 months ago) by joerg
Branch: MAIN
Changes since 1.88: +2 -2 lines
Diff to previous 1.88 (colored) to selected 1.109 (colored)

Provide some sane ARFLAGS.

Revision 1.88 / (download) - annotate - [select for diffs], Sun Oct 13 12:37:58 2013 UTC (10 years, 5 months ago) by ryoon
Branch: MAIN
Changes since 1.87: +8 -7 lines
Diff to previous 1.87 (colored) to selected 1.109 (colored)

Update to 1.6.1

Changelog:
* Improve tap networking support for *BSD.
* Bugfixes

Revision 1.87 / (download) - annotate - [select for diffs], Fri Aug 16 21:20:11 2013 UTC (10 years, 7 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2013Q3-base, pkgsrc-2013Q3
Changes since 1.86: +9 -12 lines
Diff to previous 1.86 (colored) to selected 1.109 (colored)

Changes 1.6.0:
Block devices
* New device "nvme" provides a PCI device that implements the NVMe standard.
* Fix for a possible data loss on crashes with IDE disks (due to mishandling of FLUSH requests)

Device assignment
* Legacy PCI assignment supports CPU affinity for MSI interrupts.

USB
* The XHCI (USB 3.0) controller supports live migration.

PCI
* ACPI hotplug of devices behind a PCI bridge is supported.

ARM
* The 32-bit ARMv8 LDA/STL instructions for load-acquire/store-release are supported (only with -cpu any); the remainder of the new v8 instructions will follow in a future release.
* The vexpress-a9 and vexpress-a15 boards have experimental support for virtio devices via a virtio-mmio transport. Note that the virtio command lines used with x86 systems won't work as they will create PCI virtio devices; use the devices "virtio-blk-device", "virtio-net-device", etc instead. Note that this functionality may change in future releases.
* The -initrd option now accepts ramdisks with a U-Boot header.
* A model of the Calxeda ECX-2000 / Midway system is now supported ("midway").

PPC
* Mac OS X guests supported (10.2-10.4 for PPC, 10.4 for PPC64)
* pSeries guests support live migration and savevm.

s390x
* If the kernel supports it, virtio-ccw supports ioeventfd and vhost when running on KVM.
* The dump-guest-memory command is supported.

SPARC
* Sun4c and Sun4d architectures and related CPUs were not fully implemented and have been removed.
* 24-bit display mode works

x86
* Firmware can be exposed to the guest as a flash device (using -pflash) also when running on KVM.
* In addition to the "xenfv" machine type, which is kept for backwards compatibility, Xen can now use the pc machine type (including versioned machine types) using "-M pc -machine accel=xen". Note that using PV-on-HVM drivers requires "-M pc -machine accel=xen -device xen-platform".
* QEMU can expose the full set of ACPI tables to the guest: See Features/ACPITableGeneration
* Conroe, Penryn and Nehalem CPUs have had their CPUID values fixed
* "-M isapc" now works on KVM too.
* -pflash can be used with KVM too.

more...

Revision 1.86 / (download) - annotate - [select for diffs], Mon Jul 29 13:10:26 2013 UTC (10 years, 8 months ago) by adam
Branch: MAIN
Changes since 1.85: +4 -4 lines
Diff to previous 1.85 (colored) to selected 1.109 (colored)

Changes 1.5.2:
* Bug fixes and improvements.

Revision 1.85 / (download) - annotate - [select for diffs], Tue Jul 9 17:00:58 2013 UTC (10 years, 8 months ago) by tsutsui
Branch: MAIN
Changes since 1.84: +17 -17 lines
Diff to previous 1.84 (colored) to selected 1.109 (colored)

Update qemu to 1.5.1.

pkgsrc changes:

- remove now unnecessary SUBST for audio.h conflicts
- update PLIST for new files
- adjust patches for hw directory reorganization
- update counting semaphore patches per comments on qemu-devel

Upstream changes:

Changes mentioned in 1.5.1 announcement:
http://lists.nongnu.org/archive/html/qemu-devel/2013-06/msg04798.html

295d81c: Update VERSION for 1.5.1 release (Anthony Liguori)
cc0bd7e: wdt_i6300esb: fix vmstate versioning (Michael Roth)
12e5b2b: virtio-rng: Fix crash with non-default backend (Cole Robinson)
cb55efe: iscsi: reorganize iscsi_readcapacity_sync (Paolo Bonzini)
1b94fc4: iscsi: simplify freeing of tasks (Paolo Bonzini)
5e690bb: vhost-scsi: fix k->set_guest_notifiers() NULL dereference (Stefan
         Hajnoczi)
129db36: scsi-disk: scsi-block device for scsi pass-through should not be
         removable (Pavel Hrdina)
637d640: scsi-generic: check the return value of bdrv_aio_ioctl in
         execute_command (Pavel Hrdina)
9c4f5dd: scsi-generic: fix sign extension of READ CAPACITY(10) data (Paolo
         Bonzini)
3abd71c: scsi: reset cdrom tray statuses on scsi_disk_reset (Pavel Hrdina)
5fcb9bf: nbd: strip braces from literal IPv6 address in URI (Jan Tomko)
6c8cf5f: qemu-socket: allow hostnames starting with a digit (Jan Tomko)
ce4e8f0: vmdk: byteswap VMDK4Header.desc_offset field (Stefan Hajnoczi)
c683f1b: target-i386: cpu: Fix potential buffer overrun in
         get_register_name_32() (Igor Mammedov)
75e4aa9: pc: Fix crash when attempting to hotplug CPU with negative ID (Igor
         Mammedov)
055a7fc: smbios: Check R in -smbios type=0, release=R parses okay (Markus
         Armbruster)
93bc624: smbios: Fix -smbios type=0, release=... for big endian hosts (Markus
         Armbruster)
61fbaee: smbios: Clean up smbios_add_field() parameters (Markus Armbruster)
685ee2d: smbios: Convert to error_report() (Markus Armbruster)
fa0f47d: log.h: Supply missing includes (Markus Armbruster)
7552569: error-report.h: Supply missing include (Markus Armbruster)
02d2672: tcg-ppc64: rotr_i32 rotates wrong amount (Anton Blanchard)
2917f6b: tcg-ppc64: Fix add2_i64 (Anton Blanchard)
9534f66: tcg-ppc64: bswap64 rotates output 32 bits (Anton Blanchard)
d208f05: tcg-ppc64: Fix RLDCL opcode (Anton Blanchard)
6b6f105: ivshmem: add missing error exit(2) (Stefan Hajnoczi)
3202c02: Makefile: Install qemu-img and qemu-nbd man pages only if built
         (Andreas Farber)
5a893b0: tap: fix NULL dereference when passing invalid parameters to tap
         (Jason Wang)
0817fa9: create qemu_openpty_raw() helper function and move it to a separate
         file (Michael Tokarev)
5810174: blockdev: reset werror/rerror on drive_del (Stefan Hajnoczi)
eeaa8d3: q35: set fw_name (Michael S. Tsirkin)
c127070: target-i386: Fix aflag logic for CODE64 and the 0x67 prefix (Richard
         Henderson)
252a7c6: qemu-char: don't issue CHR_EVENT_OPEN in a BH (Michael Roth)
6f3718c: xilinx_axidma: Do not set DMA .notify to NULL after notify (Wendy
         Liang)
1fb147f: virtio-ccw: Fix unsetting of indicators. (Cornelia Huck)
72762f2: s390x/css: Fix concurrent sense. (Cornelia Huck)
31ba701: ui/gtk.c: Fix *BSD build of Gtk+ UI (Brad Smith)
9ca80c7: vmxnet3: fix NICState cleanup (Stefan Hajnoczi)
a548bac: Fix usage of USB_DEV_FLAG_IS_HOST flag. (Michael Marineau)
9b5751e: host-libusb: Correct test for USB packet state (Ed Maste)
032ce1b: qdev: fix get_fw_dev_path to support to add nothing to fw_dev_path
         (Amos Kong)
baa8a8b: do not check pointers after dereferencing them (Paolo Bonzini)
327e75b: xen: start PCI hole at 0xe0000000 (same as pc_init1 and
         qemu-xen-traditional) (Stefano Stabellini)
9e7fdaf: Remove OSS support for OpenBSD (Brad Smith)
d503afb: target-i386: fix abort on bad PML4E/PDPTE/PDE/PTE addresses (Luiz
         Capitulino)
5b3ca29: update seabios to release 1.7.2.2 (Gerd Hoffmann)
7b9cdc5: Revert "roms: switch oldnoconfig to olddefconfig" (Gerd Hoffmann)
0565700: ide: Set BSY bit during FLUSH (Andreas Farber)
ddaa83e: chardev: fix "info chardev" output (Gerd Hoffmann)
38ec6c1: xen_machine_pv: do not create a dummy CPU in machine->init (Stefano
         Stabellini)
951411f: main_loop: do not set nonblocking if xen_enabled() (Stefano Stabellini)
5c26608: xen: simplify xen_enabled (Stefano Stabellini)
3541912: qom/object: Don't poll cast cache for NULL objects (Peter Crosthwaite)
749806d: rtl8139: flush queued packets when RxBufPtr is written (Stefan
         Hajnoczi)
a6fc2cd: hw/9pfs: use O_NOFOLLOW for mapped readlink operation (Aneesh Kumar
         K.V)
eabdf85: hw/9pfs: Fix segfault with 9p2000.u (Aneesh Kumar K.V)

Changelog 1.5:
http://wiki.qemu.org/ChangeLog/1.5

General
-------

 - The default for log output enabled via the '-d' command line switch is now
   standard error rather than a file. You can obtain the previous behaviour
   using the '-D' command line switch to specify a file to send the logging to.
 - QEMU now uses poll rather than select, and thus does not have any
   restriction on the number of open file descriptors.

System emulation
----------------

 Device emulation

  Audio

   - The --audio-card-list configure option is not used anymore. Instead, you
     can modify default-configs/pci.mak (for the PCI soundcards AC97, HDA and
     ES1370) and default-configs/sound.mak (for the ISA soundcards) before
     running "make".
   - The "shortcut" -soundhw option is now available for all targets that have
     a PCI bus.

  Device assignment

   - VFIO supports primary VGA passthrough using the experimental "x-vga=on"
     option. The following devices seem to work: Nvidia 8400gs, 73001e, NVS290;
     ATI/AMD Radeon HD5450 and HD7850.
   - VFIO devices support the bootindex= property to override the default boot
     order for assigned PCI devices.

  USB

   - Experimental support for USB 3.0 streams, both in the nec-usb-xhci
     controller and in the usb-uas USB-attached SCSI device emulation.
   - USB device passthrough has been rewritten to use libusb. For Linux, the
     two backends can be compiled in a single QEMU executable (if libusb is
     enabled, usb-host-linux will be the legacy implementation, usb-host will
     be the libusb-based one; if libusb is disabled, usb-host will be the
     legacy implementation). For BSD, it has to be chosen at configure time
     using --enable/disable-libusb (the default is to use libusb if it is
     available, otherwise use the legacy implementation).

  SCSI

   - QEMU can now emulate the VMware PVSCSI device using "-device pvscsi".
   - QEMU can now use tcm_vhost, a virtio-scsi device model based on the
     Linux-iSCSI implementation of SCSI.

  Network cards

   - QEMU can now emulate the VMware paravirtualized network card using
     "-device vmxnet3".

 ARM

  - This release has initial support of KVM for the ARM architecture.
    This requires a 3.9 or better Linux kernel and a Cortex-A15 CPU.
  - The Zynq board provides a SD host controller interface.
  - The PCI controller model for VersatilePB and Realview boards has been
    significantly improved in functionality (including MMIO BAR support and
    a correct PCI IRQ mapping). Note that Linux kernels currently do not take
    advantage of this; however we autodetect kernels that expect the behaviour
    of an old broken QEMU and fall back to that. (The old IRQ behaviour can
    be forced with "-global versatile_pci.broken-irq-mapping=1" if absolutely
    necessary.)
  - Incorrect handling of the SRS instruction in Thumb mode has been fixed.
  - Performance of TCG emulation of ARM targets is improved over previous
    releases.
  - Migration and vm save/load now works correctly on the vexpress-a15 and
    vexpress-a9 models.

 PPC

  - Various improvements to TCG code generation
  - KVM synchronizes more state
  - Fix a few issues that blocked Mac OS X from working (still not 100% there
    though!)
  - Refactoring and improvement of soft mmu emulation for book3s
  - Implement various new instructions for ISA 2.05 and ISA 2.06 compatibility
    (-cpu POWER7)
  - Implement support for KVM based e500 family watchdog

 s390x

  - Various accuracy fixes for device emulation
  - Faster I/O hypercalls
  - Add firmware to boot from virtio-ccw disks
  - Guest kernel panics are notified to the host

 SPARC

  - Improve sun4u interrupt mapping, so that multiple PCI devices can be used
    simultaneously

 x86

  - x86 supports emulation of a TPM (Trusted Platform Module) on machines
    that have a hardware TPM
  - Various speedups in TCG emulation of x86
  - The iPXE ROMs that are distributed with QEMU support EFI
  - TCG supports the SSE4.1, SSE4.2, PCLMULQDQ, AES-NI, BMI and ADX extensions.
  - A paravirtual device is included that lets the guest notifies kernel
    panics to the host.
  - CPU hot-add support with cpu-add QMP command. More details
    Features/CPUHotplug.
  - new CPU properties "feature-words" and "filtered-features" to allow
    introspection of supported and not supported CPU features.
   - For reference and examples of how the new properties can be used by
     libvirt and other components, see:
 http://wiki.qemu.org/Features/CPUModels#Interfaces.2Frequirements_for_libvirt

 QMP

  - QEMU now generates a DEVICE_DELETED event when the guest acknowledges
    a device hot-unplug operation.
  - Much better handling for non-ASCII codepoints in JSON strings

 Character devices

  - Character devices gained support for flow control. More details in
    Features/ChardevFlowControl
  - All kinds of character devices can now be hot-plugged. Character device
    hotplug is also supported from the "human" monitor.

 Block devices

  - IDE and SCSI disks always have the ability to issue "discard" (aka TRIM or
    UNMAP) commands. However, by default "discard" commands are silently
    ignored as they can cause performance degradation and fragmentation.
    To enable them, the "-drive" option now supports a "discard" suboption;
    the default value is "ignore" (or its synonym "off"), and the other valid
    value is "unmap" (or "on").
  - Sheepdog drives can also be specified with URIs.
  - iSCSI disks support on-line resizing using block_resize. Similar to block
    devices, the resize has to be done first outside QEMU.
  - Various performance improvements in qcow2 internal snapshots (savevm).
  - The NBD backend has improved latency.
  - qemu-nbd can now skip image format probing using the -f/--format
    command-line option.
  - VHDX (MS Hyper-V) image format has initial read-only support. Dynamic and
    fixed sized disks are supported, but not differencing images (e.g. VHDX
    images with a backing file). Read-only is strictly enforced, and the
    'readonly=on' option must be used for any VHDX images.
  - Secure Shell (ssh) support. Access remote disks over ssh using
    qemu -drive file=ssh://host/path/to/file

 Live Migration

  - Further improvements in throughput (up to +130%: 4.2 Gbps in 1.5 vs
    1.8 Gbps in 1.4) and latency.

 User interface

  - QEMU now provides a GTK+ interface. The interface uses the VTE library
    to provide better terminal emulation for serial consoles and the monitor.
  - A new VNC extension has been added to communicate LED state changes for
    the keyboard.

 VNC

  - Websocket connections can now be encrypted with TLS.

User-mode emulation
-------------------

 - Threaded programs are now more stable, though still experimental.

Guest agent
-----------

 - New commands in qemu-ga let the host put CPUs online/offline with help
   from the guest OS (Linux only)
 - Low impact CVE-2013-2007 ("qemu: guest agent creates files with insecure
   permissions in daemon mode") is fixed.
  - Note for guest administrators: unix domain sockets, logfiles etc.
    created by previous versions of qemu-ga do not have their file mode
    bits reset by this change; only newly created files have mode 0600
    when daemonizing. Please delete your old files or change their
    permissions manually when upgrading.
  - The guest-file-open QMP command continues to create files with mode
    0666 for compatibility reasons.

Host support
------------
 - QEMU is now a lot faster on Windows hosts than in previous versions
 - libcacard has been ported to Windows.

 Known issues

  - The GTK+ backend does not compile on BSD systems (including Mac OS X).
    This will likely be fixed in a later stable update.

Revision 1.84 / (download) - annotate - [select for diffs], Fri Jun 28 19:30:28 2013 UTC (10 years, 9 months ago) by tsutsui
Branch: MAIN
CVS Tags: pkgsrc-2013Q2-base, pkgsrc-2013Q2
Changes since 1.83: +2 -1 lines
Diff to previous 1.83 (colored) to selected 1.109 (colored)

Fix a hangup problem under load of multiple disk xfers on NetBSD hosts.
 - fix a "fallback implementation of counting semaphores with mutex+condvar":
http://git.qemu.org/?p=qemu.git;a=commit;h=c166cb72f1676855816340666c3b618beef4b
976
  - waiting threads are not restarted properly if more than one threads
    are waiting unblock signals in qemu_sem_timedwait()
  - possible missing pthread_cond_signal(3) calls when waiting threads
    are returned by ETIMEDOUT
 - fix an uninitialized variable
Discussed with and patch is provieded by soda@.

XXX: configure should check if the target system has sem_timedwait(3)
     to switch this fallback implementation since sem_timedwait(3) has
     been added in NetBSD -current:
     http://mail-index.NetBSD.org/source-changes/2012/03/08/msg032625.html
     http://mail-index.NetBSD.org/source-changes/2012/03/08/msg032626.html

Bump PKGREVISION.

Revision 1.83 / (download) - annotate - [select for diffs], Thu Jun 27 14:09:35 2013 UTC (10 years, 9 months ago) by tsutsui
Branch: MAIN
Changes since 1.82: +2 -1 lines
Diff to previous 1.82 (colored) to selected 1.109 (colored)

Make qemu-1.4.2 build on NetBSD/arm 6.1

NetBSD/i386 6.1 on QEMU on NetBSD/hpcarm 6.1 on W-ZERO3 somewhat works.

Revision 1.82 / (download) - annotate - [select for diffs], Sun Jun 16 18:27:25 2013 UTC (10 years, 9 months ago) by tsutsui
Branch: MAIN
Changes since 1.81: +15 -17 lines
Diff to previous 1.81 (colored) to selected 1.109 (colored)

Update qemu to 1.4.2.

pkgsrc changes:
 - update PLIST for new files
 - update patches (adjust lines, update comments)
 - remove unnecessary files from subst list

XXX1: tested only on NetBSD/i386 6.1 and NetBSD/amd64 6.1
XXX2: needs to investicate hangup in pthread_cond_timedwait(3) on NetBSD
      under load of multiple disk xfers (1.3.1 had the similar problem)

Upstream changes:

Changes mentioned in 1.4.2 announcment:
 http://lists.nongnu.org/archive/html/qemu-stable/2013-05/msg00095.html

89400a8: update VERSION for 1.4.2 (Michael Roth)
e85b521: ppc: do not register IABR SPR twice for 603e (Herve Poussineau)
f890185: hw/9pfs: use O_NOFOLLOW for mapped readlink operation (Aneesh Kumar
         K.V)
745f6c0: hw/9pfs: Fix segfault with 9p2000.u (Aneesh Kumar K.V)
0182df5: rbd: add an asynchronous flush (Josh Durgin)
7f28f0f: qemu-iotests: add tests for rebasing zero clusters (Paolo Bonzini)
45bbe1f: virtio-balloon: fix integer overflow in BALLOON_CHANGE QMP event (Luiz
         Capitulino)
06efdc4: qemu-timer: move timeBeginPeriod/timeEndPeriod to os-win32 (Paolo
         Bonzini)
0c70b5a: configure: Don't fall back to gthread coroutine backend (Brad Smith)
b90fd15: usb-redir: Fix crash on migration with no client connected (Hans de
         Goede)
7322cb1: docs: Fix generating qemu-doc.html with texinfo 5 (Cole Robinson)
1d7723f: qga: unlink just created guest-file if fchmod() or fdopen() fails on
         it (Laszlo Ersek)
67b460a: qga: distinguish binary modes in "guest_file_open_modes" map (Laszlo
         Ersek)
84247bb: translate-all.c: Remove cpu_unlink_tb() (Peter Maydell)
2ebcc59: Handle CPU interrupts by inline checking of a flag (Peter Maydell)
69001b3: cpu-exec: wrap tcg_qemu_tb_exec() in a fn to restore the PC (Peter
         Maydell)
3accab7: tcg: Document tcg_qemu_tb_exec() and provide constants for low bit
         uses (Peter Maydell)
6025953: qga: set umask 0077 when daemonizing (CVE-2013-2007) (Laszlo Ersek)
93399d0: tcg/optimize: fix setcond2 optimization (Aurelien Jarno)
074dd56: target-mips: Fix accumulator arguments to gen_helper_dmult(u) (Richard
         Sandiford)
d10d251: configure: Pick up libseccomp include path (Andreas Faber)
5613bda: virtio-ccw: Check indicators location. (Cornelia Huck)
c5675a9: tap: properly initialize vhostfds (Jason Wang)
e355efd: rng random backend: check for -EAGAIN errors on read (Amit Shah)
4d7f455: qdev: Fix QOM unrealize behavior (Andreas Farber)
0486c27: nbd: unlock mutex in nbd_co_send_request() error path (Stefan Hajnoczi)

Changes mentioned in 1.4.1 announcment:
 http://lists.nongnu.org/archive/html/qemu-stable/2013-04/msg00071.html

57105f7: update VERSION for 1.4.1 (Michael Roth)
6e88653: Add -f FMT / --format FMT arg to qemu-nbd (Daniel P. Berrange)
6d0b135: target-mips: Fix accumulator selection for MIPS16 and microMIPS
         (Richard Sandiford)
d89f9ba: Allow clock_gettime() monotonic clock to be utilized on more OS's
         (Brad Smith)
46f9071: target-i386: Check for host features before filter_features_for_kvm()
         (Eduardo Habkost)
f85e082: help: add docs for missing 'queues' option of tap (Jason Wang)
da78a1b: compiler: fix warning with GCC 4.8.0 (Paolo Bonzini)
2b92aa3: block: complete all IOs before resizing a device (Peter Lieven)
e4cce2d: Revert "block: complete all IOs before .bdrv_truncate" (Peter Lieven)
d15b1aa: qxl: better vga init in enter_vga_mode (Gerd Hoffmann)
65fe29e: doc: Fix texinfo @table markup in qemu-options.hx (Markus Armbruster)
888e036: acpi: initialize s4_val used in s4 shutdown (Bruce Rogers)
d019dd9: target-mips: fix rndrashift_short_acc and code for EXTR_ instructions
         (Petar Jovanovic)
dac077f: target-mips: fix DSP overflow macro and affected routines (Petar
         Jovanovic)
b09a673: target-mips: fix for sign-issue in MULQ_W helper (Petar Jovanovic)
79a4dd4: target-mips: fix for incorrect multiplication with MULQ_S.PH (Petar
         Jovanovic)
57e929c: usb-tablet: Don't claim wakeup capability for USB-2 version (Hans de
         Goede)
27c7135: chardev: clear O_NONBLOCK on SCM_RIGHTS file descriptors (Stefan
         Hajnoczi)
283b7de: qemu-socket: set passed fd non-blocking in socket_connect() (Stefan
         Hajnoczi)
a1cb89f: net: ensure "socket" backend uses non-blocking fds (Stefan Hajnoczi)
68f9df5: oslib-posix: rename socket_set_nonblock() to qemu_set_nonblock()
         (Stefan Hajnoczi)
0135796: update seabios to 1.7.2.1 (Gerd Hoffmann)
799a34a: linux-user/syscall.c: Don't warn about unimplemented get_robust_list
         (Peter Maydell)
8378910: linux-user: make bogus negative iovec lengths fail EINVAL (Peter
         Maydell)
7a238b9: linux-user: fix futex strace of FUTEX_CLOCK_REALTIME (John Rigby)
02493ee: linux-user/syscall.c: handle FUTEX_WAIT_BITSET in do_futex (John Rigby)
7d47b24: qcow2: flush refcount cache correctly in qcow2_write_snapshots()
         (Stefan Hajnoczi)
02ea844: qcow2: flush refcount cache correctly in alloc_refcount_block()
         (Stefan Hajnoczi)
0fcf00b: page_cache: fix memory leak (Peter Lieven)
5610ef5: Fix page_cache leak in cache_resize (Orit Wasserman)
7a687ae: virtio-blk: fix unplug + virsh reboot (Christian Borntraeger)
b91aee5: ide/macio: Fix macio DMA initialisation. (Mark Cave-Ayland)
e09b99b: target-ppc: Fix CPU_POWERPC_MPC8547E (Andreas Farber)
611c7f2: pseries: Add cleanup hook for PAPR virtual LAN device (David Gibson)
4e4566c: configure: Require at least spice-protocol-0.12.3 (Michal Privoznik)
43e0061: qemu-bridge-helper: force usage of a very high MAC address for the
         bridge (Paolo Bonzini)
3c3de7c: virtio-ccw: Queue sanity check for notify hypercall. (Cornelia Huck)
b0da310: tcg: Fix occasional TCG broken problem when ldst optimization enabled
         (Yeongkyoon Lee)
d26efd2: qga/main.c: Don't use g_key_file_get/set_int64 (Peter Crosthwaite)
f305d50: qemu-ga: use key-value store to avoid recycling fd handles after
         restart (Michael Roth)
d3652a1: qcow2: make is_allocated return true for zero clusters (Paolo Bonzini)
5194350: pseries: Add compatible property to root of device tree (David Gibson)
4d1cdb9: Allow virtio-net features for legacy s390 virtio bus (Christian
         Borntraeger)
c3b81e0: rtc-test: Fix test failures with recent glib (Cole Robinson)
99b1f39: scsi-disk: do not complete canceled UNMAP requests (Paolo Bonzini)
f23ab03: scsi: do not call scsi_read_data/scsi_write_data for a canceled
         request (Paolo Bonzini)
0c918dd: iscsi: look for pkg-config file too (Paolo Bonzini)
a8b090e: scsi-disk: handle io_canceled uniformly and correctly (Paolo Bonzini)
4a38944: qemu-ga: make guest-sync-delimited available during fsfreeze (Michael
         Roth)
b7ff1a7: qmp: netdev_add is like -netdev, not -net, fix documentation (Markus
         Armbruster)
d49fed4: vga: fix byteswapping. (Gerd Hoffmann)
cebb8eb: help: add docs for multiqueue tap options (Jason Wang)
3b39a11: net: reduce the unnecessary memory allocation of multiqueue (Jason
         Wang)
ec9f828: qemu-char.c: fix waiting for telnet connection message (Igor Mitsyanko)
332e934: tap: forbid creating multiqueue tap when hub is used (Jason Wang)
e6b795f: block: complete all IOs before .bdrv_truncate (Peter Lieven)
51968b8: coroutine: trim down nesting level in perf_nesting test (Paolo Bonzini)
80d8b5d: target-ppc: Fix "G2leGP3" PVR (Andreas Farber)

ChangeLog 1.4
 http://wiki.qemu.org/ChangeLog/1.4

System emulation
----------------

 Device emulation

  Device issignment

   - Improved support for MSI-X on some Mellanox devices.
   - VFIO supports PCIe extended configuration space.

  USB
   - Various CPU usage and throughput improvements for USB 2.0.
   - usb-tablet can be connected as an USB 2.0 device, also lowering
     the CPU usage substantially.
   - Improved support for pass-through of USB serial devices.
   - A new device usb-bot is the same as usb-storage, but is configured
     like other SCSI adapters and supports multiple LUNs.

  Network
   - virtio-net supports multiqueue operation.

  Other
   - Added support for IndustryPack emulation. The TEWS TPCI200 device
     emulation (device "tpci200") hosts IndustryPack modules, and the
     GE IP-Octal 232 emulation (device "ipoctal232") implements eight
     RS-232 serial ports.

 ARM

  - Various minor bugfixes; no new features in this release.

 MIPS

  - Improved support for DSP instructions.

 PowerPC

  - pSeries: NVRAM support for improved guest installation experience
  - G3/G4: Allow dcbzl (for Mac OS X guests)
  - e500: Linux guests don't use use SWTLB anymore, freeing memory for
          real applications
  - e500: MSI support
  - e500: Allow for up to 31 PCI devices with -M ppce500
  - e500: Support idle hcall when running KVM on e500mc or above
  - e500: Emulate the EPR facility (e500mc and above)
  - PReP: Emulate a full PC87312 Super I/O chipset. This adds a parallel
          port. Changing the chipset configuration register at runtime is
          not yet supported.

 S390

  - New virtio-ccw machine and transport support
  - Add -cpu ? support
  - Improved support for S390 emulation.

 x86

  - Generation of APIC IDs for NUMA configuration is now compatible with
    the Intel(R) 64 Architecture Processor Topology Enumeration
  - Many fixes to the Q35 chipset emulation, including experimental AHCI
    migration support and support for device assignment.
  - Resetting the machine with a write to port 0xCF9 now works.
  - The xlevel argument for -cpu option currently silently fix-ups the
    user-provided value if it's less than 0x80000000. This will be
    removed in future QEMU versions; users are expected to provide valid
    xlevel value or QEMU will fail to start.

 KVM

  - New devices isa-debug-exit and pc-testdev can be used to run
    kvm-unit-tests.

 Xen

  - Persistent grants support implemented in xen_disk, giving substantial
    performance improvements.
  - xen_disk supports BLKIF_OP_FLUSH_DISKCACHE, making the device safer
    against power losses.
  - xen_console supports multiple secondary PV consoles.

 QMP

  - New commands chardev-add and chardev-del add support for hotplugging
    character devices.
  - New ringbuf-read/ringbuf-write to read and write to memory chardevs
  - Various improvements in error messages

 Block devices

  - Discard operations are now supported on block devices and on
    filesystems other than XFS. They are also fully asynchronous now.
  - Block device mirroring (also known as storage migration) performance
    was greatly improved.
  - New experimental threaded backend for virtio-block-pci. This new
    backend achieves several times the IOPS of the existing virtio-blk
    implementation; for now it can only be used for raw image files and
    disables features such as live snapshots and storage migration.

 Live Migration

  - Moved migration from a timer to a thread, improving latency in
    other parts of QEMU and throughput of migration itself
  - Many machine models are now correctly marked as not migratable.

 Spice

  - A new spiceport character device can be used to support arbitrary
    communication between the SPICE server on the host and the client.

 VNC

  - Added support for the Websocket protocol.

User-mode emulation
-------------------

 - Fix ppc guest signal handling
 - Fix MIPS target

Guest agent
-----------

 - qemu-ga supports hooks that are executed when the guest receives
   the guest-fsfreeze-freeze and guest-fsfreeze-thaw commands

Host support
------------

 - Native asynchronous I/O for Win32 (introduced in 1.3) now actually works.

Revision 1.81 / (download) - annotate - [select for diffs], Fri Mar 29 15:26:26 2013 UTC (11 years ago) by tsutsui
Branch: MAIN
CVS Tags: pkgsrc-2013Q1-base, pkgsrc-2013Q1
Changes since 1.80: +4 -4 lines
Diff to previous 1.80 (colored) to selected 1.109 (colored)

Update qemu to 1.3.1. (updating during freeze is ok'ed by wiz@)

Note the previous qemu-1.3.0 has some problems to run
NetBSD/i386 6.0.1 guest on NetBSD/i386 6.0.1 host, but
with qemu-1.3.1 NetBSD/i386 guest works enough upto multiuser.

No explicit ChangeLog of qemu-1.3.1 release,
but there is a summary in qemu mailing list announcement:
http://lists.nongnu.org/archive/html/qemu-stable/2013-01/msg00126.html

04024de: update VERSION for v1.3.1 (Michael Roth)
1bd4397: qxl: Fix SPICE_RING_PROD_ITEM(), SPICE_RING_CONS_ITEM() sanity check
         (Markus Armbruster)
e766724: Fix compile errors when enabling Xen debug logging. (Sander
         Eikelenboom)
df50a7e: xen: fix trivial PCI passthrough MSI-X bug (Stefano Stabellini)
90c96d3: xen_disk: fix memory leak (Roger Pau Monne)
4ee2879: tcg/target-arm: Add missing parens to assertions (Peter Maydell)
563068a: win32-aio: Fix memory leak (Kevin Wolf)
cdb4834: win32-aio: Fix vectored reads (Kevin Wolf)
9d173df: aio: Fix return value of aio_poll() (Kevin Wolf)
204dd38: raw-posix: fix bdrv_aio_ioctl (Paolo Bonzini)
86bab45: vfio-pci: Loosen sanity checks to allow future features (Alex
         Williamson)
006c747: pci-assign: Enable MSIX on device to match guest (Alex Williamson)
f042cca: vfio-pci: Make host MSI-X enable track guest (Alex Williamson)
1205b80: target-xtensa: fix search_pc for the last TB opcode (Max Filippov)
ff0c079: buffered_file: do not send more than s->bytes_xfer bytes per tick
         (Paolo Bonzini)
d745511: migration: fix migration_bitmap leak (Paolo Bonzini)
5afd0ec: e1000: Discard oversized packets based on SBP|LPE (Michael Contreras)
c4cd5b0: qxl+vnc: register a vm state change handler for dummy spice_server
         (Uri Lublin)
7ca2496: qxl: save qemu_create_displaysurface_from result (Gerd Hoffmann)
bfae937: target-xtensa: fix ITLB/DTLB page protection flags (Max Filippov)
b68c48f: pixman: fix vnc tight png/jpeg support (Gerd Hoffmann)
36fd817: Update seabios to a810e4e72a0d42c7bc04eda57382f8e019add901 (Gerd
         Hoffmann)
0bc5f4a: seabios: update to e8a76b0f225bba5ba9d63ab227e0a37b3beb1059 (Gerd
         Hoffmann)
37e1428: vfio-pci: Don't use kvm_irqchip_in_kernel (Alex Williamson)
518799a: target-mips: Fix incorrect shift for SHILO and SHILOV (Petar Jovanovic)
16c5fe4: target-mips: Fix incorrect code and test for INSV (Petar Jovanovic)
f1a2195: migration: Fix madvise breakage if host and guest have different page
         sizes (David Gibson)
3b4fc1f: Fix off-by-1 error in RAM migration code (David Gibson)
d67d95f: Disable semaphores fallback code for OpenBSD (Brad Smith)
0a7ad69: Fix semaphores fallback code (Brad Smith)

Revision 1.80 / (download) - annotate - [select for diffs], Thu Jan 24 17:52:01 2013 UTC (11 years, 2 months ago) by ryoon
Branch: MAIN
Changes since 1.79: +8 -9 lines
Diff to previous 1.79 (colored) to selected 1.109 (colored)

Update to 1.3.0

Changelog:
QMP
    The sendkey monitor command is now available via QMP.

All targets
    QEMU can now use the Linux VFIO driver to assign PCI devices to a virtual machine.
    The bus master configuration bit for PCI devices is now emulated. PCI devices cannot anymore perform DMA without setting the bit before. This may break firmware that wasn't tested on real hardware.

MIPS
    Loongson Multimedia Instructions are now implemented.
    MIPS32/64 ASE DSP Instructions are now implemented.

x86
    The TSC frequency can be larger than 2.147 GHz.
    Configuration files do not support anymore the cpudef section.
    TCG (emulation) supports the SMEP (Supervisor Mode Execution Prevention) and SMAP (Supervisor Mode Access Prevention) features of newer x86 processors.
    CPUID/models?
    The "cpudef" config file section is now deprecated and will be removed in v1.4.
    New CPU models: "Haswell" (new features: fma, pcid, movbe, fsgsbase, bmi1, hle, avx2, smep, bmi2, erms, invpcid, rtm) and "Opteron_G5" (new features: tbm, f16c, fma)
    Added Intel Q35 chipset as a new machine type, '--machine q35'. Adds PCIe support. Requires an updated SeaBIOS (bios.bin), and '-acpitable file=/seabios-path/q35-acpi-dsdt.aml' to run.

Xtensa
    Single precision floating point instructions are now implemented.

Device emulation
    Emulation of the MC146818 real-time clock (used on PC and several other boards) does not wake up QEMU anymore every second to update the clock.
    USB3 has been vastly improved, including support for USB mass storage devices and MSI/MSI-X support for the XHCI controller.
    USB redirection now supports live migration.
    Several bugs in the AHCI controller were fixed to support recent Windows versions.
    ivshmem now has a "use64" property which will make the ivshmem driver register a 64-bit memory BAR.
    New paravirtualized hardware random number generator device, VirtIORNG.

Network devices
    Some problems were fixed leading to bad receive performance of E1000 and Xen network cards.

Block devices
    qemu-img now can output information in JSON format using "qemu-img info --output=json".
    Glusterfs volumes can be accessed with "gluster://" URIs for "-drive" and similar options. Optionally the transport can also be specified, as in "gluster+tcp://" (other supported transports are "unix" and "rdma").
    Options on the QMP streaming command direct the job to pause on encountering errors, or to ignore them altogether.
    A new block job is supported: live block commit (also known as "snapshot deletion") moves data from an image to another in the backing file chain. With the current implementation of QEMU 1.3, the "source" image may not be the active one.
    A new block job is supported: live disk mirroring (also known as "storage migration") moves data from an image to another. A new command "block-job-complete" is used to switch the VM to use the destination image exclusively.
    Block jobs can now be paused and resumed from the monitor.
    NBD block devices can now be specified using URI syntax. "nbd://" defaults to TCP transport, while "nbd+tcp://" and "nbd+unix://" can be used (similar to Gluster) to specify it. URI syntax simplifies access to named exports; the export name is simply the "path" component of the URI.
    NBD connections to Unix sockets support relative paths.
    QEMU embeds an NBD server, accessible via the monitor. The NBD server allows live access to the image seen by the VM. Note that the embedded server uses "named exports", which QEMU can access using the "nbd://host:port/name" syntax.
    Windows hosts support asynchronous disk I/O.

Live Migration, Save/Restore
    The "stop" and "cont" commands have new semantics on the destination machine during migration. Previously, the outcome depended on whether the commands were issued before or after the source connected to the destination QEMU: in particular, "cont" would fail if issued before connection, and "undo" the effect of the -S command-line option if issued after. Starting from this version, the effect of "stop" and "cont" will always take place at the end of migration (overriding the presence or absence of the -S option) and "cont" will never fail. This change should be transparent, since the old behavior was usually subject to a race condition.
    The monitor now remains responsive during incoming migration. The new NBD server is also available during incoming migration.

Spice
    QEMU will only send changed screen content to the Spice client when running in legacy VGA mode.
    Seamless migration support.
    Composite QXL commands (for linux guests).
    Multiple monitors on a single pci device.
    Arbitrary resolution support.
    Device based monitor configuration notification (for future drivers).
    various bug fixes and assertion removals in favor of a guest_bug mode.
    require spice-server >= 0.12.0

KVM
    QEMU now supports "old-style" PCI device assignment, which was the last missing feature from the qemu-kvm fork. Despite some remaining minor differences between qemu-kvm and QEMU, it is possible to switch from qemu-kvm to QEMU as soon as your guests can be rebooted. Live migration from qemu-kvm 1.2 to QEMU 1.3 is not supported, but can be enabled easily by downstream distributions who want to switch their packages from qemu-kvm to QEMU.

Xen
    QEMU can now be used to live-migrate Xen domains.

SLIRP
    SLIRP's TFTP server has improved performance, can transmit files bigger than 32 MB, and supports the block size option.

Guest agent
    The guest agent will now store the state file in /var/run by default.

Host support
    SPARCv7 and v8 support was removed.

Build dependencies
    QEMU can now be built with Clang.
    QEMU now uses pixman. QEMU configure will detect and use a system pixman if the development headers are ailable (they should be available for most recent Linux distros). As a fallback, we provide an internal copy of the pixman sources which will be used if there is no set of system pixman libraries. Compiling these will require autoconf.
    Compiling QEMU ver 0.12 or better.

Revision 1.79 / (download) - annotate - [select for diffs], Thu Sep 13 14:38:19 2012 UTC (11 years, 6 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2012Q4-base, pkgsrc-2012Q4, pkgsrc-2012Q3-base, pkgsrc-2012Q3
Changes since 1.78: +2 -1 lines
Diff to previous 1.78 (colored) to selected 1.109 (colored)

Fixed building on Darwin; fixed building with Clang; fixed some pkglint issues

Revision 1.78 / (download) - annotate - [select for diffs], Tue Sep 11 17:13:44 2012 UTC (11 years, 6 months ago) by asau
Branch: MAIN
Changes since 1.77: +17 -19 lines
Diff to previous 1.77 (colored) to selected 1.109 (colored)

Update to QEMU 1.2.0


Changes since version 1.1.1:

System emulation

All targets

  * ... QMP error changes go here ...
  * File descriptors can be passed to qemu using the new
    add-fd/remove-fd QMP commands. It is intended that they can
    be used in any place where QEMU would expect a file name.
    This is ensured for disk images, support in other parts of
    QEMU may still be inconsistent.

ARM

  * LPAE (large physical address extensions) are now supported
    for the Cortex-A15 CPU; you can now run a vexpress-a15 model
    with more than 4GB of RAM
  * The new monitor command "dump-guest-memory" creates an ELF
    dump of the guest memory.
  * New board model: i.MX31

PowerPC

  * The pSeries target correctly creates segment size device
    tree nodes (fixes odd bugs with HV vs PR KVM)
  * The pSeries target implements an IOMMU.
  * ... pSeries VGA, USB, etc.? ...
  * The E500 target generates its device tree dynamically
  * New mpc8544ds -machine option: dumpdtb. This allows to dump
    the dynamically generated device tree to a file.
  * Emulation for e5500 cores
  * PC87312 Super I/O chipset emulation for PReP, adding
    parallel port to prep machine

x86

  * Support for PCI passthrough is available for Xen
    fully-virtualized domains.
  * The new monitor command "dump-guest-memory" creates an ELF
    dump of the guest memory.
  * When using KVM, the in-kernel APIC supports MSI.
  * Also when using KVM, new PV EOI feature improves performance
    when both host and guest run linux 3.6-rc1 and up. To
    enable, add +kvm_pv_eoi to -cpu option, e.g.

-cpu kvm64,+kvm_pv_eoi

  * The "cpudef" config file section is being deprecated and may
    be removed in v1.3.

Device emulation

  * VGA and QXL cards (obtained with -vga std and -vga qxl) have
    16 MB of VRAM rather than 8 MB.
  * Three new SCSI host bus adapter devices are available:
    am53c974 and dc390 emulate respectively an AMD PCI PCscsi
    and a Tekram DC-390 device, both of which are supported on
    older operating systems including MS DOS 6.2, MS Windows 3.11,
    98 SE, NT 3.1 and NT 4.0. megasas emulated an LSI SAS1078 RAID
    controller. The next version of SeaBIOS will support booting
    from am53c974 and dc390 disks.
  * An USB-attached SCSI controller is now available.

Audio devices

  * The PC speaker audio card is now available by default.

Network devices

  * The guestfwd argument to slirp now supports running an
    arbitrary command on every TCP connection (as in inetd).
    This is invoked by specifying a target that starts with "cmd:".

Block devices

  * Emulated IDE and SCSI as well as virtio-blk devices can now
    switch the cache mode between writethrough and writeback.
    virtio-blk automatically switches to writethrough if the
    guest driver doesn't support flushes.
  * The default cache mode for images is now writeback.
  * Emulated SCSI devices can be given a custom vendor name,
    product name and WWN.
  * Improved support for passthrough of SCSI tapes and media changers.
  * libiscsi can be used together with scsi-generic to pass
    iSCSI tapes and media changers to the guest.
  * When raw files are streamed, parts of the files that are
    holes in the underlying filesystem are treated as
    unallocated (as long as the OS supports either the FIEMAP
    ioctl or the SEEK_HOLE/SEEK_DATA modes)
  * CD-ROM drives can now be used with AHCI

qcow2

  * qcow2 images support a new option, lazy_refcounts. If on,
    the speed of cache=writethrough mode will be improved, at
    the cost of requiring an fsck-like pass (and thus QEMU 1.2)
    to use the image again after a power loss.
  * qemu-img check can now repair qcow2 and QED images with the
    new -r option.

VMDK

  * Support for images in the streamOptimized subformat has been
    fixed. This is a VMDK subformat commonly used with OVF appliances.

rbd

  * rbd no longer ignores the cache setting

Live Migration, Save/Restore

  * Migration works much better with guests with large memory.
  * USB mass storage and passthrough devices support live migration.

VNC

  * The threaded VNC server is now enabled by default.

Guest agent

  * A new command "fstrim" was added to the guest agent.

New targets

  * OpenRISC is now supported for both user-mode and system emulation.

Revision 1.77 / (download) - annotate - [select for diffs], Fri Aug 3 17:51:47 2012 UTC (11 years, 7 months ago) by asau
Branch: MAIN
Changes since 1.76: +2 -1 lines
Diff to previous 1.76 (colored) to selected 1.109 (colored)

Make it understand "-net tap,ifname=tap3" on NetBSD.

Revision 1.76 / (download) - annotate - [select for diffs], Mon Jul 23 11:17:54 2012 UTC (11 years, 8 months ago) by ryoon
Branch: MAIN
Changes since 1.75: +4 -4 lines
Diff to previous 1.75 (colored) to selected 1.109 (colored)

Update to 1.1.1.1

Changelog:
# System emulation
## All targets
* qdev properties of type hex8 and hex32 used to accept hexadecimal values not prefixed with "0x"; the prefix is mandatory starting with this version. These properties are: iobase, membase, io_base for all devices that support the properties; vram_size for sysbus-g364 and SUNW,tcx; version for sb16 and iommu; ctl_iobase and data_iobase for fw_cfg; readback for debugcon; elcr_addr and elcr_mask for i8259.
* PCI addresses can still be addressed with a pair of hexadecimal device and function without a "0x" prefix.
* -kernel, -initrd and -append are now aliases for suboptions of -machine (for example -machine kernel=foo), and as such they are also available with -readconfig.
* PCI-to-PCI bridges are supported [...]
* PCI emulation includes a standard hot-plug controller [...]
* The coroutine backend can now be configured using configure --with-coroutine=.... A new coroutine backend sigaltstack is available for platforms that don't support the default ucontext backend.
* Last but not least: the SDL user interface now uses the new QEMU icon.

## ARM
* The syborg machine type has been removed since the Symbian Virtual Platform is no longer relevant with the disbanding of Symbian.
* A device tree can be passed to the kernel using -dtb option (or alternatively -machine dtb=...).
* New 'nuri' and 'smdkc210' models of Samsung Exynos4210 based devboards.
* New 'highbank' model of the Calxeda Highbank.
* New 'vexpress-a15' model of the Versatile Express Cortex-A15.

## PowerPC
* The Bamboo machine now works with TCG, before only KVM was able to execute 440 code.
* Pseries handles PCI, allowing for virtio devices with -M pseries.
* Pseries works with PR KVM allowing for -M pseries -enable-kvm to work on G5s.
* We can now emulate e500mc cores, but no e500mc based board is emulated yet. You need to use -M mpc8544ds and a special guest kernel.
* Timers on ppc405 now work and don't segfault QEMU.

## S/390
* Added support to -kernel to allow booting of ELF binaries.
* Fixed -kernel to allow booting of newer guest kernels.
* Devices can now be hotplug add'ed (remove is not there yet).
* Rebooting a virtual machine now works.

## SPARC
* Added interrupt controller and support of vector interrupts.
* Fixed handling 32 bit instructions on a sparc64 CPU.
* Fixed block load instructions regression happened in 1.0 release.
* Fixed BCD mask in m48t59 emulation, so that Solaris 2.5.1 doesn't hang on sun4m emulation when day of month >21.
* Fixed initrd loading in qemu-system-sparc64.

## x86
* NMIs are correctly injected through the LAPIC (rather than sent directly to the guest CPU) and respect the LINT1 mask, thus fixing kdump.
* The -rtc-td-hack option is now available as a qdev property (-global mc146818rtc.lost_tick_policy=slew) and as such can be specified in a -readconfig configuration file.
* When the system is suspended to RAM, QEMU will now stop executing the guest until a wakeup event occurs. Implemented wakeup events include key presses, mouse button presses, RTC alarm, ACPI timer expiration, serial console input (off by default; enable with -global isa-serial.wakeup=1), and the system_wakeup monitor command.
* KVM can optionally use kernel-based emulation of the local APIC, IOAPIC, i8259 PIC and i8254 PIT. This is supported with the -machine ...,kernel_irqchip=on command-line option. MSI is not supported yet when using the kernel_irqchip option.
* Emulation of a PC System Flash device. The feature is enabled by adding a pflash drive. This feature is not supported when KVM is enabled. See Features/PC System Flash for more information.
* KVM guests support Hyper-V enlightenments. These are enabled by the -cpu features hv_spinlocks, hv_relaxed and hv_vapic.

## Device emulation
* The virtio-scsi device is now supported by QEMU. The guest driver will be supported in Linux starting at version 3.4.
* QEMU now includes experimental support for USB 3.0 (xHCI).
* Various improvement on the floppy emulation, most notably media change has been fixed

## Audio devices
* Audio devices can now use volume control capabilities exposed by the PulseAudio and Spice backends. (Note: all audio devices do not expose their volume control unless --enable-mixemu is turned on).

## Block devices
* QEMU's NBD client implementation and the qemu-nbd server both fully support asynchronous I/O.
* The rbd block driver supports the discard operation now
* The vpc block driver supports the Fixed Disk subformat of VHD images now
* The new QMP command transaction can be used to perform a set of multiple snapshots atomically, rolling back to the original images if there is a problem along the way. See Features/SnapshotsMultipleDevices for more information.
* The new monitor command block_stream lets guest copy data from the backing file to the current image while the guest is running. This lets users enables quick provisioning of new virtual machines using shared remote storage, and lets the guest transition incrementally to fast local storage. An alternative to streaming is the copy-on-read option of the -drive command-line option, which only transfers data when the guest needs it.
* An experimental extension of the qcow2 file format has been introduced. With the implementation as of QEMU 1.1, the most important addition is zero clusters, which allows image streaming and copy-on-read to leave images sparse if the backing file they are copying from is sparse. In order to enable the extension, use qemu-img create -f qcow2 -o compat=1.1 <filename> <size> for creating the image. Note that older versions of QEMU won't be able to read such images.
* I/O throttling is experimentally supported using the new -drive options bps/bps_rd/bps_wr/iops/iops_rd/iops_wr. It is expected to work with virtio-blk and IDE harddisks, but may lead to hangs when used with CD-ROM or floppy emulation or other devices.
* qemu-io supports new options to enable tracing and to choose a cache modes

## Network devices
* QEMU supports a new type of network device, bridge (used with -net bridge or -netdev bridge). The new type is similar to tap, but uses a helper program instead of a script to attach the device to a bridge. The helper program can then be installed as setuid. The helper program supports a simple ACL and configuration mechanism, see the commit message and feature page for documentation.

## Live Migration, Save/Restore
* Live migration (or save/restore) from QEMU releases prior to 0.13 to QEMU 1.1 is not supported.
* Live migration supports IPv6. IPv6 addresses can be expressed as tcp:host:port. Brackets around a numeric host address are required if a port is also specified, otherwise they can be omitted.

# Guest agent
* qemu-ga has been ported to Windows.
* Interfaces added for suspending guests to disk/ram, and retrieving information about network interfaces
* Interfaces for filesystem freeze have been hardened, and no longer depend on guest agent runtime state to determine whether a system is currently frozen.
* An easier to use reset mechanism has been added: guest-sync-delimited.

# Host support
* ARM hosts are now supported again (they were broken in 1.0).
* Sockets and SLIRP on Windows hosts was broken in 0.14 and works again.
* 64-bit Windows hosts are now supported.

# User-mode emulation
* User-mode emulation can provide some information from the /proc filesystem.
* On 64-bit hosts user-mode emulation now defaults to reserving 0xf7000000 bytes of address space for the guest. This significantly reduces the likelihood of QEMU having to fail a guest mmap() request when there is still memory available. This reservation can be overridden with the -R command line option.

# Testing
* A make check target has been implemented and runs some quick sanity tests
* qemu-iotests, which was previously hosted in an external git repository, has been merged into the QEMU source tree

# Build dependencies
* Building QEMU requires glib 2.12 on POSIX systems, and glib 2.20 on Win32 systems.

Revision 1.75 / (download) - annotate - [select for diffs], Mon Jun 25 10:07:21 2012 UTC (11 years, 9 months ago) by sbd
Branch: MAIN
CVS Tags: pkgsrc-2012Q2-base, pkgsrc-2012Q2
Changes since 1.74: +2 -1 lines
Diff to previous 1.74 (colored) to selected 1.109 (colored)

hw/usb/hcd_ehci.c will not compile with -O3 optimization so completely
remove it from CFLAGS.

Revision 1.74 / (download) - annotate - [select for diffs], Mon Jun 18 19:25:38 2012 UTC (11 years, 9 months ago) by martin
Branch: MAIN
Changes since 1.73: +2 -1 lines
Diff to previous 1.73 (colored) to selected 1.109 (colored)

Fix emulation of esp commands when not using dma.

Revision 1.73 / (download) - annotate - [select for diffs], Thu Jun 7 21:23:45 2012 UTC (11 years, 9 months ago) by ryoon
Branch: MAIN
Changes since 1.72: +14 -19 lines
Diff to previous 1.72 (colored) to selected 1.109 (colored)

Update to 1.1.0

* based on wip/qemu

Changelog:
1.1.0

System emulation
All targets

    qdev properties of type hex8 and hex32 used to accept hexadecimal values not prefixed with "0x"; the prefix is mandatory starting with this version. These properties are: iobase, membase, io_base for all devices that support the properties; vram_size for sysbus-g364 and SUNW,tcx; version for sb16 and iommu; ctl_iobase and data_iobase for fw_cfg; readback for debugcon; elcr_addr and elcr_mask for i8259.
    PCI addresses can still be addressed with a pair of hexadecimal device and function without a "0x" prefix.
    -kernel, -initrd and -append are now aliases for suboptions of -machine (for example -machine kernel=foo), and as such they are also available with -readconfig.
    PCI-to-PCI bridges are supported [...]
    PCI emulation includes a standard hot-plug controller [...]
    The coroutine backend can now be configured using configure --with-coroutine=.... A new coroutine backend sigaltstack is available for platforms that don't support the default ucontext backend.
    Last but not least: the SDL user interface now uses the new QEMU icon.

ARM

    The syborg machine type has been removed since the Symbian Virtual Platform is no longer relevant with the disbanding of Symbian.
    A device tree can be passed to the kernel using -dtb option (or alternatively -machine dtb=...).
    New 'nuri' and 'smdkc210' models of Samsung Exynos4210 based devboards.
    New 'highbank' model of the Calxeda Highbank.
    New 'vexpress-a15' model of the Versatile Express Cortex-A15.

PowerPC

    The Bamboo machine now works with TCG, before only KVM was able to execute 440 code.
    Pseries handles PCI, allowing for virtio devices with -M pseries.
    Pseries works with PR KVM allowing for -M pseries -enable-kvm to work on G5s.
    We can now emulate e500mc cores, but no e500mc based board is emulated yet. You need to use -M mpc8544ds and a special guest kernel.
    Timers on ppc405 now work and don't segfault QEMU.

S/390

    Added support to -kernel to allow booting of ELF binaries.
    Fixed -kernel to allow booting of newer guest kernels.
    Devices can now be hotplug add'ed (remove is not there yet).
    Rebooting a virtual machine now works.

SPARC

    Added interrupt controller and support of vector interrupts.
    Fixed handling 32 bit instructions on a sparc64 CPU.
    Fixed block load instructions regression happened in 1.0 release.
    Fixed BCD mask in m48t59 emulation, so that Solaris 2.5.1 doesn't hang on sun4m emulation when day of month >21.
    Fixed initrd loading in qemu-system-sparc64.

x86

    NMIs are correctly injected through the LAPIC (rather than sent directly to the guest CPU) and respect the LINT1 mask, thus fixing kdump.
    The -rtc-td-hack option is now available as a qdev property (-global mc146818rtc.lost_tick_policy=slew) and as such can be specified in a -readconfig configuration file.
    When the system is suspended to RAM, QEMU will now stop executing the guest until a wakeup event occurs. Implemented wakeup events include key presses, mouse button presses, RTC alarm, ACPI timer expiration, serial console input (off by default; enable with -global isa-serial.wakeup=1), and the system_wakeup monitor command.
    KVM can optionally use kernel-based emulation of the local APIC, IOAPIC, i8259 PIC and i8254 PIT. This is supported with the -machine ...,kernel_irqchip=on command-line option. MSI is not supported yet when using the kernel_irqchip option.
    Emulation of a PC System Flash device. The feature is enabled by adding a pflash drive. This feature is not supported when KVM is enabled. See Features/PC System Flash for more information.
    KVM guests support Hyper-V enlightenments. These are enabled by the -cpu features hv_spinlocks, hv_relaxed and hv_vapic.

Device emulation

    The virtio-scsi device is now supported by QEMU. The guest driver will be supported in Linux starting at version 3.4.
    QEMU now includes experimental support for USB 3.0 (xHCI).
    Various improvement on the floppy emulation, most notably media change has been fixed

Audio devices

    Audio devices can now use volume control capabilities exposed by the PulseAudio and Spice backends. (Note: all audio devices do not expose their volume control unless --enable-mixemu is turned on).

Block devices

    QEMU's NBD client implementation and the qemu-nbd server both fully support asynchronous I/O.
    The rbd block driver supports the discard operation now
    The vpc block driver supports the Fixed Disk subformat of VHD images now
    The new QMP command transaction can be used to perform a set of multiple snapshots atomically, rolling back to the original images if there is a problem along the way. See Features/SnapshotsMultipleDevices for more information.
    The new monitor command block_stream lets guest copy data from the backing file to the current image while the guest is running. This lets users enables quick provisioning of new virtual machines using shared remote storage, and lets the guest transition incrementally to fast local storage. An alternative to streaming is the copy-on-read option of the -drive command-line option, which only transfers data when the guest needs it.
    An experimental extension of the qcow2 file format has been introduced. With the implementation as of QEMU 1.1, the most important addition is zero clusters, which allows image streaming and copy-on-read to leave images sparse if the backing file they are copying from is sparse. In order to enable the extension, use qemu-img create -f qcow2 -o compat=1.1 <filename> <size> for creating the image. Note that older versions of QEMU won't be able to read such images.
    I/O throttling is experimentally supported using the new -drive options bps/bps_rd/bps_wr/iops/iops_rd/iops_wr. It is expected to work with virtio-blk and IDE harddisks, but may lead to hangs when used with CD-ROM or floppy emulation or other devices.
    qemu-io supports new options to enable tracing and to choose a cache modes

Network devices

    QEMU supports a new type of network device, bridge (used with -net bridge or -netdev bridge). The new type is similar to tap, but uses a helper program instead of a script to attach the device to a bridge. The helper program can then be installed as setuid. The helper program supports a simple ACL and configuration mechanism, see the commit message and feature page for documentation.

Live Migration, Save/Restore

    Live migration (or save/restore) from QEMU releases prior to 0.13 to QEMU 1.1 is not supported.
    Live migration supports IPv6. IPv6 addresses can be expressed as tcp:host:port. Brackets around a numeric host address are required if a port is also specified, otherwise they can be omitted.

Guest agent

    qemu-ga has been ported to Windows.
    Interfaces added for suspending guests to disk/ram, and retrieving information about network interfaces
    Interfaces for filesystem freeze have been hardened, and no longer depend on guest agent runtime state to determine whether a system is currently frozen.
    An easier to use reset mechanism has been added: guest-sync-delimited.

Host support

    ARM hosts are now supported again (they were broken in 1.0).
    Sockets and SLIRP on Windows hosts was broken in 0.14 and works again.
    64-bit Windows hosts are now supported.

User-mode emulation

    User-mode emulation can provide some information from the /proc filesystem.
    On 64-bit hosts user-mode emulation now defaults to reserving 0xf7000000 bytes of address space for the guest. This significantly reduces the likelihood of QEMU having to fail a guest mmap() request when there is still memory available. This reservation can be overridden with the -R command line option.

Testing

    A make check target has been implemented and runs some quick sanity tests
    qemu-iotests, which was previously hosted in an external git repository, has been merged into the QEMU source tree

Build dependencies

    Building QEMU requires glib 2.12 on POSIX systems, and glib 2.20 on Win32 systems.


Changelog:
1.0.1

* Version 1.0.1
* Merge branch 's390-1.0' of git://repo.or.cz/qemu/agraf
* Merge branch 'ppc-1.0' of git://repo.or.cz/qemu/agraf
* e1000: bounds packet size against buffer size
* s390: fix cpu hotplug / cpu activity on interrupts
* s390x: add TR function for EXECUTE
* pseries: Don't try to munmap() a malloc()ed TCE table
* pseries: Populate "/chosen/linux,stdout-path" in the FDT
* pseries: Add a routine to find a stable "default" vty and use it
* pseries: Emit device tree nodes in reg order
* kvm-ppc: halt secondary cpus when guest reset
* pseries: Fix array overrun bug in PCI code
* console: Fix segfault on screendump without VGA adapter
* Merge branch 'master' of ssh://git.qemu.org/pub/git/qemu-stable-1.0
* rbd: always set out parameter in qemu_rbd_snap_list
* Documentation: Add qemu-img -t parameter in man page
* qemu-img rebase: Fix for undersized backing files
* coroutine: switch per-thread free pool to a global pool
* qiov: prevent double free or use-after-free
* PPC: Fix linker scripts on ppc hosts
* target-sh4: ignore ocbp and ocbwb instructions
* usb-ohci: td.cbp incorrectly updated near page end
* usb-host: properly release port on unplug & exit
* usb-storage: cancel I/O on reset
* Fix parse of usb device description with multiple configurations
* pc: fix event_idx compatibility for virtio devices
* pc: add pc-0.15
* cris: Handle conditional stores on CRISv10
* configure: Enable build by default PIE / read-only relocation sections on OpenBSD amd64/i386.
* target-i386: fix cmpxchg instruction emulation
* hw/9pfs: Use the correct signed type for different variables
* hw/9pfs: replace iovec manipulation with QEMUIOVector
* hw/9pfs: Use the correct file descriptor in Fsdriver Callback
* hw/9pfs: Add qdev.reset callback for virtio-9p-pci device
* hw/9pfs: Reset server state during TVERSION
* hw/9pfs: use migration blockers to prevent live migration when virtfs export path is mounted
* hw/9pfs: Improve portability to older systems
* exec.c: Fix subpage memory access to RAM MemoryRegion
* malta: Fix regression (i8259 interrupts did not work)

General

    i386-softmmu is no longer named qemu but instead referred to as qemu-system-i386 for better consistency with other targets. A new tool is likely to be introduced that uses the qemu name so distributions are advised to not undo this change.
    QEMU now uses a separate thread for VCPU execution. This merges the biggest difference between the qemu-kvm tree and upstream QEMU.
    A new memory dispatch API has been added internally. A new monitor command "info mtree" can show the hierarchy of memory regions in the guest.
    QEMU now has a build dependency on glib and makes extensive use of glib.
    QEMU now can run on more hosts. Hosts without a native code generator can use the TCG interpreter (TCI). See Features/TCI for more information.

Block devices (disks)

    QEMU now supports I/O latency accounting in the monitor command "info blockstats".
    Errors are now tracked per device and are shown by the monitor command "info block".
    All image formats now support asynchronous operation. IDE and SCSI emulation will use this feature, while other devices (notably floppy and SD) will not.

IDE/ATAPI

    A large number of bugs were fixed regarding CD media change and tray locking.

SCSI

    Memory management errors could crash QEMU when scsi-disk encountered I/O errors. Many instances of this problem were fixed.
    The accuracy of error handling for SCSI emulation has been greatly improved.
    SCSI devices can now be addressed by channel, target (id) and LUN. Not all emulated HBAs will support this feature (in particular, the LSI controller will not).
    Block device pass through is now supported through a new scsi-block device. The scsi-block device works with block devices (like /dev/sda or /dev/sr0) rather than /dev/sgN devices, and is more efficient because it does not consume arbitrary amounts of memory when the guest does large data transfers.
    SCSI CD-ROMs now report media changed events.
    SCSI CD-ROMs now support DVD images.
    Bugfixes for IDE media change also apply to SCSI.
    SCSI devices now report a unit attention condition when the system is started or reset. This may cause problems with old firmware versions.

VDI

    Now supports discarded blocks in dynamically-sized images.

User-mode networking (SLIRP)

    SLIRP can process ARP replies and gratuitous ARP requests from the guest.

ARM

    QEMU now supports the new Cortex-A15 instructions in linux-user mode (via "-cpu any"): VFPv4 fused multiply-accumulate (VFMA, VFMS, VFNMA, VFNMS) and also integer division (UDIV, SDIV).
    The vexpress-a9, versatileab, versatilepb and realview-* boards now have audio support.
    QEMU is known not to work on ARM hosts in this release. (ARM target emulation is fine.)

pSeries

    sPAPR VIO devices can now be created with -device.

Xtensa

    QEMU now supports DC232b and FSF xtensa CPU cores.
    QEMU now supports sim (similar to Tensilica ISS) and LX60/LX110/LX200 machines.

Migration

    QEMU now supports live migration using image files like QCOW2 on shared storage

Revision 1.72 / (download) - annotate - [select for diffs], Sat May 12 09:56:51 2012 UTC (11 years, 10 months ago) by gson
Branch: MAIN
Changes since 1.71: +2 -1 lines
Diff to previous 1.71 (colored) to selected 1.109 (colored)

When setting up an outgoing user mode networking TCP connection,
disable the Nagle algorithm in the host-side connection.  Either
the VM is already doing Nagle, in which case there is no point
in doing it twice, or it has chosen to disable it, in which case
we should respect that choice.  This change speeds up GDB remote
debugging over TCP over user mode networking by multiple orders
of magnitude.

Revision 1.71 / (download) - annotate - [select for diffs], Wed Oct 19 18:45:42 2011 UTC (12 years, 5 months ago) by ryoon
Branch: MAIN
CVS Tags: pkgsrc-2012Q1-base, pkgsrc-2012Q1, pkgsrc-2011Q4-base, pkgsrc-2011Q4
Changes since 1.70: +4 -4 lines
Diff to previous 1.70 (colored) to selected 1.109 (colored)

Update to 0.15.1

Changelog:
qed: fix use-after-free during l2 cache commit
sdl: Fix termination in -no-shutdown mode
Fix termination by signal with -no-shutdown
Add support for finding libpng via pkg-config.
Check for presence of compiler -pthread flag.
Allow overriding the location of Samba's smbd.
Fix linker scripts
Fix install(1) usage to be compatible with OpenBSD's install(1).
Fix qjson test of solidus encoding
configure: Copy test data to build directory
monitor: fix build breakage for !CONFIG_VNC
monitor: fix build breakage with --disable-vnc
Fix forcing multicast msgs to loopback on OpenBSD.
user: Restore debug usage message for '-d ?' in user mode emulation

Revision 1.70 / (download) - annotate - [select for diffs], Thu Sep 22 05:37:49 2011 UTC (12 years, 6 months ago) by ryoon
Branch: MAIN
CVS Tags: pkgsrc-2011Q3-base, pkgsrc-2011Q3
Changes since 1.69: +3 -1 lines
Diff to previous 1.69 (colored) to selected 1.109 (colored)

Restore missing patches. It is my mistake.
* patch-aa is for tap detection bug.
* patch-bb is for build on NetBSD 4.

The patch-aa requires bump of PKGREVISION.

Pointed out by Sergey Svishchev in private e-mail.

Revision 1.69 / (download) - annotate - [select for diffs], Mon Aug 22 12:00:34 2011 UTC (12 years, 7 months ago) by ryoon
Branch: MAIN
Changes since 1.68: +18 -17 lines
Diff to previous 1.68 (colored) to selected 1.109 (colored)

Update to 0.15.0

* Many bug fixes and improvements
* Add LatticeMico32 and unicore32 targets are added.
* And many changes. See http://wiki.qemu.org/ChangeLog/0.15

Tested on NetBSD/i386 current, NetBSD/i386 5.1, DragonFly/i386 2.10.1,
and Gentoo Linux/i386.

Revision 1.68 / (download) - annotate - [select for diffs], Thu Aug 4 18:48:16 2011 UTC (12 years, 7 months ago) by ryoon
Branch: MAIN
Changes since 1.67: +2 -2 lines
Diff to previous 1.67 (colored) to selected 1.109 (colored)

Add comment to patch.

Revision 1.67 / (download) - annotate - [select for diffs], Thu Aug 4 12:20:54 2011 UTC (12 years, 7 months ago) by ryoon
Branch: MAIN
Changes since 1.66: +3 -3 lines
Diff to previous 1.66 (colored) to selected 1.109 (colored)

* Remove obsolete comments from patch-ej.
* Add * to pointer to function.

No functional change.
Thanks for tsustui@

Revision 1.66 / (download) - annotate - [select for diffs], Mon Jul 11 09:57:18 2011 UTC (12 years, 8 months ago) by ryoon
Branch: MAIN
Changes since 1.65: +17 -27 lines
Diff to previous 1.65 (colored) to selected 1.109 (colored)

Update to 0.14.1

* New features are not tested yet, for example SPICE protocol support.
* I have tested on NetBSD/i386 5.99.54 and DragonFly/i386 2.10.1 as host,
  NetBSD/{amd64, i386, sparc} as guest.

Changelog:

0.14.1
    virtio-blk: fail unaligned requests
    qed: Fix consistency check on 32-bit hosts
    exit if -drive specified is invalid instead of ignoring the "wrong" -drive
    vhost: fix dirty page handling
    Do not delete BlockDriverState when deleting the drive
    vnc: tight: Fix crash after 2GB of output
    lan9118: Ignore write to MAC_VLAN1 register
    Don't allow multiwrites against a block device without     lsi53c895a: add support for ABORT messages
    virtio-pci: fix bus master work around on load
    fix applesmc REV key
    rbd: don't link with -lcrypto
    net: Add the missing option declaration of "vhostforce"
    lsi53c895a: Update dnad when skipping MSGOUT bytes
    Revert "prep: Disable second IDE channel, as long as ISA IDE emulation doesn't support same irq for both channels"
    isa-bus: Remove bogus IRQ sharing check
    virtio-net: Fix lduw_p() pointer argument of wrong size
    hw/sd.c: Add missing state change for SD_STATUS, SEND_NUM_WR_BLOCKS
    vnc: Fix fatal crash with vnc reverse mode
    qemu-char: Check for missing backend name

0.14.0
Targets
ARM
    Most of the changes are related to bug fixes and improvements to match what the real hardware does. For now there is no new board or CPU.

MIPS
    Host CPU consumption for idle guests
    Timer fixes
    FPU improvements

SH4
    Various bug fixes and improvements including
        SM501 2D engine copyrect support, needed to boot recent kernels
        MMU mmaped TLB access, needed to boot recent kernels
        Floating point exceptions and correct NaN support.

PPC
    Fix running recent PPC64 kernels
    New maintainer: Alexander Graf
    Improve interrupt injection with KVM
    Enable PV enabled guests for speedup with KVM
    Floating point fixes
    Add a ppc-440x5 Xilinx model
    Add a virtex5 ml507 refdesign board for ppc-440x5
    BookE MMU emulation improvements

s390x
    No news, business as usual.

SPARC
    Fix div(cc) and sdiv(cc) instruction emulation, fixes Xorg crash in the guest

Hosts
ARM
    Fix random crashes
    Fix 64-bit big-endian targets support

MIPS
    Fix random crashes

IA64
    Fix random crashes for 32-bit targets

Devices
IDE / AHCI
    Added emulation layer for an ICH-9 AHCI controller (not yet stable). Tested with Linux, OpenBSD, Windows Vista and Windows 7. The AHCI emulation supports NCQ, so multiple read or write requests can be outstanding at the same time.
        to use it, use the following command line snippet: -drive id=disk,file=<your image goes here>,if=none -device ahci,id=ahci -device ide-drive,drive=disk,bus=ahci.0

SCSI
    Various bug fixes, no new features.

USB
    Added USB support for remote wakeup, allowing the guest to suspend the USB bus when idle, which in turn reduces the CPU overhead of an idle machine.
    The USB subsystem also got a bunch of patches to prepare it for USB 2.0 support.

virtio
    virtio-pci can use ioeventfd for virtqueue notify. On systems that support KVM, the ioeventfd mechanism can be used to make virtqueue notify a lightweight exit by deferring hardware emulation to the iothread and allowing the VM to continue execution. This model is similar to how vhost receives virtqueue notifies. The result of this change is improved performance for userspace virtio devices. Virtio-blk throughput increases especially for multithreaded scenarios and virtio-net transmit throughput increases substantially. Read the commit message for more details.
    Various fixes and stabilization for live-migration:
    Various virtio-net improvements:
        Make tx_timer timeout configurable
        Limit number of packets sent per TX flush
        Introduce a new bottom half packet TX
        Fix cross-endianness support

PCI/PCI Express
    Improved PCI Express support and functionalities with the implementation of:
        flr (Function Level Reset)
        aer (Advanced Error Reporting) and other improvements
        A new monitor command to inject errors into the PCI bus: pcie_aer_inject_error
    Implementation of Message Signaled Interrupts (MSI/MSI-X) support
    Separation of the PCI bridge code from the main PCI code.

Sound
    New Intel HD Audio support, adding three new devices:
        intel-hda: Intel HD Audio Controller, the PCI device.
        hda-duplex: HDA Codec. Attaches to the HDA bus. Supports 16bit stereo, rates 16k -> 96k, playback, recording and volume control (with CONFIG_MIXEMU=y).
        hda-output: HDA Codec without recording support. Subset of the hda-duplex codec. Use this if you don't want your guests access your mic.
    Usage: add '-device intel-hda -device hda-duplex' to your command line.
    Tested guests:
        Linux works.
        Win7 works.
        DOS (mpxplay) works.
        WinXP doesn't work.

Real Time Clock
    Fix binary/BCD mode switch

Video
    Fix cirrus VGA crash with some guests
    Fix curses big endian support

Block Drivers
qcow2
    Added a writeback metadata cache. This improves performance of scenarios with lots of cluster allocations noticably (e.g. installation or after taking a snapshot), in some benchmarks by a factor of ten or more. Use cache=none or cache=writeback to take advantage from this change.
    Copy snapshots out of QCOW2 disk, eg: qemu-img convert -f qcow2 -O qcow2 -s snapshot_name src_img bck_img
    Zero-copy read and write operations
    Other fixes and code cleanups:
        qcow2: Invalidate cache after failed read
        block: Allow bdrv_flush to return errors
        qcow2: Simplify image creation
        qcow2: Fixes unaligned access on IA64

qed
    Introduction of the QEMU Enhanced Disk (qed) image format. It is a disk image format that forgoes features found in qcow2 in favor of better levels of performance and data integrity. Due to its simpler on-disk layout, it is possible to safely perform metadata updates more efficiently.
    More information about qed: http://wiki.qemu.org/Features/QED
    Initial thread discussion: http://lists.nongnu.org/archive/html/qemu-devel/2010-09/msg00310.html

ceph/rbd
    Introduction of the new ceph/rbd block driver. RBD is an block driver for the distributed file system Ceph.
    More information about ceph: http://ceph.newdream.net/

nbd
    Improve qemu-nbd performance by 4400 %. This patch combines the reply header and payload send operation.
    Introduce NBD named exports.

Spice
    New support for the SPICE protocol. The project main focus is to provide high-quality remote access to QEMU virtual machines. More information about SPICE can be found at the project's web site: http://spice-space.org/
    New qxl device. qxl is a paravirtual graphics card. The qxl device is the bridge between the guest and the spice server (aka libspice-server). The spice server will send the rendering commands to the spice client, which will actually render them. The spice server is also able to render locally, which is done in case the guest wants read something from video memory. Local rendering is also used to support display over vnc and sdl. qxl is activated using -vga qxl. qxl supports multihead, additional cards can be added via '-device qxl.
    Relevant commits:
        spice: core bits
        spice: add keyboard
        spice: add mouse
        spice: simple display
        spice: add tablet support
        spice: tls support
        spice: make compression configurable.
        spice: add config options for channel security.
        spice: add config options for the listening address
        spice: add misc config options
        spice: add audio
        spice: add qxl device
        spice: connection events.

QMP / monitor

    TODO: QMP is now stable, except for error reporting?
    The work to facilitate the management of QEMU instances has been improved. QMP has received various fixes. Now it is possible to call a traditional monitor command through QMP, in case your application depends on the output or the command is not yet ported to QMP.
    New commands:
        query-spice / info spice
        human-monitor-command
        set_password
        drive_del
        block_resize command, allowing resizing of block devices while qemu is running. For virtio-blk the size is updated automatically when this command is issued on the host. IDE is not supported. For SCSI devices the new size can be updated in Linux guests by doing the following shell command:

echo > /sys/class/scsi_device/0:0:0:0/device/rescan

Tracing
    Introduction of platform-independent tracing, more information about it: http://wiki.qemu.org/Features/Tracing
    Documentation and tutorial: http://git.qemu.org/qemu.git/plain/docs/tracing.txt
    Some relevant commits:
        Add trace-events file for declaring trace events
        Add a DTrace tracing backend targetted for SystemTAP compatibility
        Add LTTng Userspace Tracer backend
        Add simple built-in tracing backend
        Add stderr trace-event backend:
        Support for dynamically enabling/disabling trace events
        Specify trace file name
        Add trace-file command to open/close/flush trace file

Other stuff
    Extend -option-rom command to have additional parameter bootindex
    Little endian / big endian MMIO framework. Until now, most devices had special hacks to allow them to work on big and little endian systems (ppc / x86). With that framework, they should mostly work with both and not require and device specific hacks anymore.

Revision 1.65 / (download) - annotate - [select for diffs], Sun Apr 3 09:56:39 2011 UTC (12 years, 11 months ago) by shattered
Branch: MAIN
CVS Tags: pkgsrc-2011Q2-base, pkgsrc-2011Q2, pkgsrc-2011Q1-base, pkgsrc-2011Q1
Changes since 1.64: +2 -1 lines
Diff to previous 1.64 (colored) to selected 1.109 (colored)

PR/44325 PR/42899 -- fix build on netbsd-4

Revision 1.64 / (download) - annotate - [select for diffs], Fri Mar 4 13:03:47 2011 UTC (13 years ago) by tsutsui
Branch: MAIN
Changes since 1.63: +2 -2 lines
Diff to previous 1.63 (colored) to selected 1.109 (colored)

Fix botch in patch-ej rev 1.1. PR pkg/44680
Also note about change in rev 1.2.

Revision 1.63 / (download) - annotate - [select for diffs], Mon Dec 27 12:33:32 2010 UTC (13 years, 3 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2010Q4-base, pkgsrc-2010Q4
Changes since 1.62: +2 -2 lines
Diff to previous 1.62 (colored) to selected 1.109 (colored)

Fix building on Mac OS X (PR#43207)

Revision 1.62 / (download) - annotate - [select for diffs], Tue Nov 9 10:37:12 2010 UTC (13 years, 4 months ago) by jmmv
Branch: MAIN
Changes since 1.61: +3 -2 lines
Diff to previous 1.61 (colored) to selected 1.109 (colored)

Properly deal with configuration files by respecting PKG_SYSCONFBASE.
Bump PKGREVISION to 1.

Revision 1.61 / (download) - annotate - [select for diffs], Wed Oct 27 13:24:09 2010 UTC (13 years, 5 months ago) by tsutsui
Branch: MAIN
Changes since 1.60: +22 -10 lines
Diff to previous 1.60 (colored) to selected 1.109 (colored)

Update qemu to 0.13.0.  PR pkg/43994
"Looks good" from wiz@ and obache@.

ChangeLog for 0.13.0 is not updated but there is a list in announcement:

This release consists of over 2,500 commits from 145 contributors.

Some major features were added in this release including:

- vhost-net: kernel-accelerating network backend for virtio devices (using KVM)
- qmp: significant improvements covering most monitor commands
- vnc: introduction of new encodings that dramatically improve bandwidth
  (part of GSoC project)
- ivshmem: new shared memory device allowing multiple guests to share
  a memory region
- mips: introduction of fulong mini-pc
- virtio-9p: introduction of a paravirtual file system passthrough mechanism
- hpet: many enhancements
- target-s390: support for s390 usermode emulation
- many more features and bug fixes

A special note about QMP support in 0.13.0. QMP is still considered
experimental in 0.13.0. There are no plans to change the protocol
in an incompatible way but there are likely to be missing features.


ChangeLog for version 0.12.5:

 - audio/alsa: Handle SND_PCM_STATE_SETUP in alsa_poll_handler
 - block: Handle multiwrite errors only when all requests have completed
 - block: Fix early failure in multiwrite
 - vpc: Use bdrv_(p)write_sync for metadata writes
 - vmdk: Use bdrv_(p)write_sync for metadata writes
 - qcow2: Use bdrv_(p)write_sync for metadata writes
 - qcow: Use bdrv_(p)write_sync for metadata writes
 - block: Add bdrv_(p)write_sync
 - qcow2: Restore L1 entry on l2_allocate failure
 - block/vdi: Fix image opening and creation for odd disk sizes
 - block/vpc: Fix conversion from size to disk geometry
 - qcow2: Remove abort on free_clusters failure
 - vmdk: Fix COW
 - qcow2: Fix creation of large images
 - vmdk: fix double free
 - qemu-options: add documentation for stdio signal=on|off
 - target-arm : fix parallel saturated subtraction implementation
 - target-arm : fix thumb2 parallel add/sub opcode decoding
 - target-arm: fix addsub/subadd implementation
 - target-i386: fix xchg rax,r8
 - block/vvfat.c: fix warnings with _FORTIFY_SOURCE
 - audio/alsa: Spelling typo (paramters)
 - target-mips: fix DINSU instruction
 - Correct definitions for FD_CMD_SAVE and FD_CMD_RESTORE
 - qcow2: Fix corruption after error in update_refcount
 - qcow2: Fix corruption after refblock allocation
 - block: Fix multiwrite with overlapping requests
 - qcow2: Fix error handling in l2_allocate
 - qcow2: Clear L2 table cache after write error
 - ide: Fix ide_dma_cancel
 - usb-bus: fix no params
 - Avoid crash on '-usbdevice <device>' without parameters
 - Fix -usbdevice crash
 - Fix multiboot compilation
 - Fix missing symbols in .rel/.rela.plt sections
 - target-ppc: fix RFI by clearing some bits of MSR
 - Fix typo in balloon help
 - arm_timer: fix oneshot mode
 - arm_timer: reload timer when enabled
 - qemu-sockets: avoid strlen of NULL pointer
 - block: fix aio_flush segfaults for read-only protocols (e.g. curl)
 - virtio-blk: fix barrier support
 - block: fix sector comparism in multiwrite_req_compare
 - pci: irq_state vmstate breakage
 - qemu-img: use the heap instead of the huge stack array for win32


Pkgsrc changes:

patch-aa
patch-ao
patch-ba
patch-de
patch-ed
 - lifted from previous (some adjustments per upstream changes)

patch-ab
 - removed (looks similar fix applied in upstream)

patch-dd
 - adjust configure for location of man page dir (as previous)
 - fix detection for arm hosts

patch-dk
 - removed (looks no longer applicable due to reorganized upstream)

patch-ee
 - remove old e1000.c fix (pulled up to upstream)
 - pull block/sheepdog.c build fix on *BSD hosts from upstream

patch-ef
patch-eg
patch-eh
patch-ei
 - workaround for conflicts with SSP read() macro in NetBSD's <ssp/unistd.h>
   (PR lib/43832: ssp causes common names to be defines)

patch-ej
 - pull build/warning fixes in ui/vnc-enc-tight.c from upstream

patch-ek
 - pull ATA PIO fix (by jakllsch@) from upstream
 - pull warning fix from upstream

patch-el
 - workaround for missing C99 FP macro on netbsd-4
   (PR pkg/42899, but od(1) fixes for netbsd-4 not included)

patch-em
patch-en
 - build fix on NetBSD/arm host using gcc-4.1.3
   (built qemu binary on NetBSD/hpcarm host fails though)

patch-eo
patch-ep
patch-er
patch-es
 - pull ESP SCSI DMA fixes (that might affect sparc) from upstream

patch-eq
 - pull ESP SCSI DMA fixes from upstream
 - disable broken ARC JAZZ floppy that causes hang on MIPS NT 4.0 guest

Makefile
 - bump DISTNAME
 - add makeinfo to USE_TOOLS
   XXX: gets "qemu-doc.texi:7: warning: unrecognized encoding name `UTF-8'."
 - adjust SUBST_FILES.qaudio per upstream changes
 - enable nbd support *BSD per upstream update

PLIST
distinfo
 - update per each file

Revision 1.60 / (download) - annotate - [select for diffs], Sun Oct 3 15:11:49 2010 UTC (13 years, 5 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2010Q3-base, pkgsrc-2010Q3
Changes since 1.59: +2 -2 lines
Diff to previous 1.59 (colored) to selected 1.109 (colored)

regen distinfo for patch-ab.

Revision 1.59 / (download) - annotate - [select for diffs], Fri Oct 1 08:32:35 2010 UTC (13 years, 5 months ago) by tnn
Branch: MAIN
Changes since 1.58: +2 -1 lines
Diff to previous 1.58 (colored) to selected 1.109 (colored)

Rework 2MB stack allocation in qemu-img which causes SEGV with our
default process limits. Bump PKGREVISION.

Revision 1.58 / (download) - annotate - [select for diffs], Wed Aug 11 17:05:13 2010 UTC (13 years, 7 months ago) by tsutsui
Branch: MAIN
Changes since 1.57: +2 -2 lines
Diff to previous 1.57 (colored) to selected 1.109 (colored)

Note that qemu-0.13.x will include e1000 fix in patch-ee.

Revision 1.57 / (download) - annotate - [select for diffs], Mon Aug 9 21:19:09 2010 UTC (13 years, 7 months ago) by tsutsui
Branch: MAIN
Changes since 1.56: +2 -2 lines
Diff to previous 1.56 (colored) to selected 1.109 (colored)

Use common style comment and cleanup whitespace/TAB nits in pkgsrc patch.

Revision 1.56 / (download) - annotate - [select for diffs], Mon Aug 9 11:46:39 2010 UTC (13 years, 7 months ago) by tsutsui
Branch: MAIN
Changes since 1.55: +3 -3 lines
Diff to previous 1.55 (colored) to selected 1.109 (colored)

Suppress (harmless) warnings caused by pkgsrc patches.

Revision 1.55 / (download) - annotate - [select for diffs], Mon May 17 14:31:07 2010 UTC (13 years, 10 months ago) by tsutsui
Branch: MAIN
CVS Tags: pkgsrc-2010Q2-base, pkgsrc-2010Q2
Changes since 1.54: +5 -4 lines
Diff to previous 1.54 (colored) to selected 1.109 (colored)

Update qemu to 0.12.4. Okay'ed by wiz@, in PR pkg/43311 filed by me.

---
version 0.12.4:

 - Workaround for broken OSS_GETVERSION on FreeBSD, part two (Juergen Lock)
 - oss: fix fragment setting (malc)
 - oss: issue OSS_GETVERSION ioctl only when needed (malc)
 - oss: refactor code around policy setting (malc)
 - oss: workaround for cases when OSS_GETVERSION is not defined (malc)
 - block: Free iovec arrays allocated by multiwrite_merge() (Stefan Hajnoczi)
 - lsi: fix segfault in lsi_command_complete (Gerd Hoffmann)
 - lsi: pass lsi_request to lsi_reselect (Gerd Hoffmann)
 - lsi: move dma_len+dma_buf into lsi_request (Gerd Hoffmann)
 - lsi: move current_dev into lsi_request (Gerd Hoffmann)
 - lsi: have lsi_request for the whole life time of the request. (Gerd Hoffmann)
 - lsi: use QTAILQ for lsi_queue (Gerd Hoffmann)
 - tcp/mips: Change TCG_AREG0 (fp -> s0) (Stefan Weil)
 - sh_pci: fix memory and I/O access (Aurelien Jarno)
 - Fix incoming migration with iothread (Marcelo Tosatti)
 - Fix SIGFPE for vnc display of width/height = 1 (Chris Webb)
 - net: remove broken net_set_boot_mask() boot device validation (Eduardo Habkost)
 - qcow2: Remove request from in-flight list after error (Kevin Wolf)
 - qcow2: Don't ignore immediate read/write failures (Kevin Wolf)
 - block: Fix multiwrite memory leak in error case (Kevin Wolf)
 - block: Fix error code in multiwrite for immediate failures (Kevin Wolf)
 - block: Fix multiwrite error handling (Kevin Wolf)
 - scsi-disk: fix buffer overflow (Gerd Hoffmann)
 - qcow2: Rewrite alloc_refcount_block/grow_refcount_table (Kevin Wolf)
 - qcow2: Factor next_refcount_table_size out (Kevin Wolf)
 - block: avoid creating too large iovecs in multiwrite_merge (Christoph Hellwig)
 - json-parser: Fix segfault on malformed input (Kevin Wolf)
 - linux-user: switch default ppc64 CPU to 970fx from 970 (Aurelien Jarno)
 - target-sh4: MMU: fix store queue addresses (Aurelien Jarno)
 - target-sh4: MMU: fix ITLB priviledge check (Aurelien Jarno)
 - target-sh4: MMU: fix mem_idx computation (Aurelien Jarno)
 - sh7750: handle MMUCR TI bit (Aurelien Jarno)
 - UHCI spurious interrut fix (Paul Brook)
 - tcg/mips: fix branch offset during retranslation (Aurelien Jarno)
 - tcg/arm: correctly save/restore registers in prologue/epilogue (Aurelien Jarno)
 - workaround for cmd646 bmdma register access while no dma is active (Igor V. Kovalenko)
 - Fix corner case in chardev udp: parameter (Jan Kiszka)
 - Don't set default monitor when there is a mux'ed one (Jan Kiszka)
 - spelling typo (compatibilty) in hw/fw_cfg.c (Vagrant Cascadian)
 - fdc: fix drive property handling. (Gerd Hoffmann)
 - target-i386: fix commit c22549204a6edc431e8e4358e61bd56386ff6957 (TeLeMan)
 - target-i386: fix SIB decoding with index = 4 (Aurelien Jarno)
 - Fix segfault with ram_size > 4095M without kvm (Ryan Harper)
 - target-i386: Fix long jumps/calls in long mode with REX.W set (malc)
 - target-i386: fix lddqu SSE instruction (Aurelien Jarno)
 - qemu-char.c: drop debug printfs from qemu_chr_parse_compat (Jan Kiszka)
 - fix undefined shifts by >32 (Paolo Bonzini)
 - Fix qemu -net user,hostfwd= example (Aurelien Jarno)

---

Also add a patch for e1000.c NIC to make wm(4) work on NetBSD guest:
---
 * Reset EEPROM internal state on CS rise edge,
   not SK rise edge during CS is low, per CS pin description in
   the FM93C06 EEPROM manual:
    "... a rising edge on this signal is required to reset the
     internal state-machine to accept a new cycle ..."
   Intel's em driver seems to explicitly raise and lower SK output
   after CS is negated in em_standby_eeprom() so many other OSes
   that use Intel's driver don't have this problem, but I can't find
   articles that say the MICROWIRE or EEPROM spec requires such sequence.
 * It isn't a good idea to use memset(,0,) to clear EEPROM state values,
   so explicitly clear status members and preserve the previous EECD values
---
This patch is also filed as upstream QEMU bugs #581737.

While here, several tweaks in Makefile to appease pkglint.

Revision 1.54 / (download) - annotate - [select for diffs], Sun Apr 25 12:55:41 2010 UTC (13 years, 11 months ago) by gson
Branch: MAIN
Changes since 1.53: +2 -1 lines
Diff to previous 1.53 (colored) to selected 1.109 (colored)

Correct emulation of i386 cmpxchg instruction in the case where the
comparison outcome is unequal and the memory write causes a page
fault.  Fixes PR pkg/42158.

Revision 1.53 / (download) - annotate - [select for diffs], Sat Feb 27 23:21:13 2010 UTC (14 years, 1 month ago) by tnn
Branch: MAIN
CVS Tags: pkgsrc-2010Q1-base, pkgsrc-2010Q1
Changes since 1.52: +7 -11 lines
Diff to previous 1.52 (colored) to selected 1.109 (colored)

Update to qemu-0.12.3.
Changes: assorted bugfixes

Revision 1.52 / (download) - annotate - [select for diffs], Thu Jan 14 22:32:33 2010 UTC (14 years, 2 months ago) by bouyer
Branch: MAIN
CVS Tags: pkgsrc-2009Q4-base, pkgsrc-2009Q4
Changes since 1.51: +3 -1 lines
Diff to previous 1.51 (colored) to selected 1.109 (colored)

patch-aa: patch ported from sysutils/xentools3-hvm to make network interface
tap backend work on NetBSD (NetBSD uses an ioctl to get the tap name).
patch-ab: add support for the "select without ATN" to the emulated
esp device. NetBSD's esp(4) uses this command and aborts after a timeout.
While there fix the homepage URL.

Now NetBSD/sparc 5.0.1 boots and runs fine in qemu-system-sparc on a
NetBSD/amd64 host.

Bump pkgrevision.

Revision 1.51 / (download) - annotate - [select for diffs], Wed Dec 9 18:28:39 2009 UTC (14 years, 3 months ago) by asau
Branch: MAIN
Changes since 1.50: +3 -4 lines
Diff to previous 1.50 (colored) to selected 1.109 (colored)

Update to qemu 0.11.1:

Changes in version 0.11.1:
  - fix I2C slave addressing (Juha Riihimæki)
  - Revert "vga: do not resize the screen on hw_invalidate" (Aurelien Jarno)
  - slirp: fix use-after-free (Mark McLoughlin)
  - Fix sparc.ld (Blue Swirl)
  - ELF codedump build failures (Laurent Desnogues)
  - kvm: Move KVM mp_state accessors to i386-specific code (Hollis Blanchard)
  - fix configure script with armv4l cpu (Laurent Desnogues)
  - net: disable draining tap queue in one go (Mark McLoughlin)
  - pcnet: Restart poll timer on pcnet_start (Jan Kiszka)
  - Sparc32: Fix lance (Blue Swirl)
  - mac99: fix segmentation fault on startup (Aurelien Jarno)
  - usb-linux.c: fix buffer overflow (Jim Paris)
  - ARM host: fix generated blocks linking (Laurent Desnogues)
  - qemu serial: lost tx irqs (affecting FreeBSD's new uart(4) driver (Juergen Lock)
  - exec-all.h: increase MAX_OP_PER_INSTR to 96 from 64 (Aurelien Jarno)

Revision 1.50 / (download) - annotate - [select for diffs], Sun Oct 11 16:04:13 2009 UTC (14 years, 5 months ago) by asau
Branch: MAIN
Changes since 1.49: +9 -17 lines
Diff to previous 1.49 (colored) to selected 1.109 (colored)

Update to qemu 0.11.0. With input from Hasso Tepper (Dragonfly).
Changes since previous package:

version 0.11.0
  - fix rtc polling mode (Bernhard Kauer)
  - qcow2: order concurrent aio requests (Kevin Wolf)
  - qemu-io: port to win32 (Stefan Weil)
  - alpha: fix extlh instruction (Vince Weaver)
  - tcg: fix size of local variables in tcg_gen_bswap64_i64 (Stefan Weil)
  - net: fix send ordering (Jan Kiszka)
  - escc: fix IRQ routing (Aurelien Jarno)
  - versatile: fix Linux task preemption (Aurelien Jarno)
  - curses: reduce memory usage by 250MB (Aurelien Jarno)

version 0.11.0-rc2
  - mips: fix conditional move off fp conditions codes (Nath Froyd)
  - fix migration to obey -S (Paolo Bonzini)
  - remove pc-0-10 machine type (Mark McLoughlin)
  - vnc: fix copyrect screen corruption (Gerd Hoffman)
  - fix vm state change handlers running order (Markus Armbruster)
  - e1000: fix eerc and ics emulation (Bill Paul)
  - fix sdl zooming with pl110 (Blue Swirl)
  - sparc64: flush pending conditional evaluations (Igor Kovalenko)
  - esp: fix interrupt register read (Blue Swirl)
  - option rom makefile fixes (Paul Brook)
  - fix sparse warnings (Blue Swirl)
  - fix symfind (Laurent Desnogues)
  - win32: fix default prefix (Stefan Weil)
  - fix checksum writing in signboot (Alex Graf)
  - fix sdl window resize (Stefano Stabellini)
  - do not resize the screen on hw_invalidate (Stefano Stabellini)
  - Add checks for -smbios option (Beth Kon)
  - fix do_set_link (Luiz Capitulino)
  - fix do_commit behavior (Luiz Capitulino)
  - make windows notice media change (Gleb Natapov)
  - check for PR_SET_NAME being defined (Nathan Froyd)
  - fix migration for ide devices (Anthony Liguori)
  - Use correct depth in vmware vga (Reimar Doffiner)
  - support 32bpp cursors in sdl (Reimar Doffinger)
  - fix device name completion for eject (Blue Swirl)
  - make screendump use DisplayState properly (Stefano Stabellini)
  - fix autostart with live migration (Avi Kivity)
  - fix detached migration with exec (Chris Lalancette)
  - fix segv when changing vnc password in sdl (Zach Amsden)
  - fix vnc password clearing with stdio monitor (Zach Amsden)
  - clean up VGA type selection (Zach Amsden)
  - add missing linefeed in error message (Stefan Weil)

version 0.11.0-rc1
  - add machine aliasing support (Mark McLoughlin)
  - add getfd/closefd monitor commands (Mark McLoughlin)
  - use correct headers for tap-win32 (Filip Navara)
  - fix live migration (Glauber Costa)
  - slirp: use monotonic clock if available (Ed Swierk)
  - clear msix_entries_nr on error (Michael Tsirkin)
  - HPET: fix reg writes (Beth Kon)
  - slirp: fix guestfwd for incoming data (Jan Kiszka)
  - fix build of qemu-thread.c on win32 (Sebastian Herbszt)
  - improve signrom.sh portability (Christoph Egger)
  - fix qemu-img convert to copy unallocated parts of the image
	(Akkarit Sangpetch)
  - vmdk: fix backing file handling (Kevin Wolf)
  - scsi: add save/restore support (Nolan Leake)
  - fix live migration for SCSI (Nolan Leake)
  - various sparc build fixes (Blue Swirl)
  - fix OpenBSD build (Blue Swirl)
  - only allow -cpu host when using KVM (Anthony Liguori)
  - fix build breakage when !KVM (Anthony Liguori)

Revision 1.49 / (download) - annotate - [select for diffs], Tue Sep 22 12:18:33 2009 UTC (14 years, 6 months ago) by tnn
Branch: MAIN
CVS Tags: pkgsrc-2009Q3-base, pkgsrc-2009Q3
Changes since 1.48: +2 -2 lines
Diff to previous 1.48 (colored) to selected 1.109 (colored)

The package's install target already installs manpages, no need for
us to do it manually anymore.

Revision 1.48 / (download) - annotate - [select for diffs], Mon Aug 31 14:49:21 2009 UTC (14 years, 7 months ago) by tnn
Branch: MAIN
Changes since 1.47: +2 -2 lines
Diff to previous 1.47 (colored) to selected 1.109 (colored)

fat-fingered that one ...

Revision 1.47 / (download) - annotate - [select for diffs], Mon Aug 31 14:41:31 2009 UTC (14 years, 7 months ago) by tnn
Branch: MAIN
Changes since 1.46: +2 -2 lines
Diff to previous 1.46 (colored) to selected 1.109 (colored)

we can use clock_gettime(2) instead of gettimeofday(2) on NetBSD too

Revision 1.46 / (download) - annotate - [select for diffs], Mon Aug 31 14:34:07 2009 UTC (14 years, 7 months ago) by tnn
Branch: MAIN
Changes since 1.45: +2 -2 lines
Diff to previous 1.45 (colored) to selected 1.109 (colored)

use mmap to allocate the VM memory as well

Revision 1.45 / (download) - annotate - [select for diffs], Mon Aug 31 14:30:50 2009 UTC (14 years, 7 months ago) by tnn
Branch: MAIN
Changes since 1.44: +2 -2 lines
Diff to previous 1.44 (colored) to selected 1.109 (colored)

Use mmap to allocate executable memory on NetBSD as well.
Bump revision.

Revision 1.44 / (download) - annotate - [select for diffs], Mon Aug 31 13:07:04 2009 UTC (14 years, 7 months ago) by asau
Branch: MAIN
Changes since 1.43: +2 -2 lines
Diff to previous 1.43 (colored) to selected 1.109 (colored)

Fix NetBSD build. Insert omitted "defined" in "defined(__Dragonfly__)".

Revision 1.43 / (download) - annotate - [select for diffs], Mon Aug 31 10:18:49 2009 UTC (14 years, 7 months ago) by hasso
Branch: MAIN
Changes since 1.42: +17 -15 lines
Diff to previous 1.42 (colored) to selected 1.109 (colored)

Update to 0.10.6. Tested on DragonFly only.

version 0.10.6:
  - e1000: ignore reset command (Kevin Wolf)
  - fix VNC memory allocation (Stefan Weil)
  - fix raw_pread_aligned return value (Christoph Hellwig)
  - allow monitor interaction when using -incoming exec: (Chris Lalancette)
  - fix -net socket,listen (Jan Kiszka)
  - live migration: don't send gratuitous packets all at once (Gleb Natapov)
  - serial: fix lost characters after sysrq (Jason Wessel)
  - Fix prototype of zfree (Stefan Weil)
  - Handle EINTR with exec: migration (Uri Lublin)
  - Delete io-handler before closing fd after migration (Uri Lublin)
  - Fix qemu_aio_flush (Andrea Arcangeli)
  - lsi53c895a: Implement additional registers (Sebastian Herbszt)
  - virtio-blk: fix warning (Gerd Hoffman)
  - i386: fix cpu reset (Nitin Kamble)
  - kvm: fix irq injection into full queue (Jan Kiszka)
  - Prevent CD-ROM eject while device is locked (Mark McLoughlin)
  - Fix screen dump with blank screen (Eduardo Habkost)
  - Fix memory leak with cpu_unregister_map_client (Isaku Yamahata)
  - Fix memory leak in SDL (Jan Kiszka)
  - Fix build on OS X 10.4 (John Arbuckle)
  - Fix leak of vlan clients after hot remove (Mark McLoughlin)
  - Fix migration after hot remove with eepro100 (Mark McLoughlin)
  - Don't start a VM after failed migration if stopped (Anthony Liguori)
  - Fix live migration under heavy IO load (Glauber Costa)
  - Honor -S on incoming migration (Paolo Bonzini)
  - Reset HPET config register on reset (Beth Kon)
  - Reset PS2 keyboard/mouse on reset (Dinesh Subraveti)

version 0.10.5:
  - kvm: trim unsupported cpu features from cpuid (Avi Kivity)
  - kvm: provide a better error message for -smp > 1 (Mark McLoughlin)
  - Remove initrd printfs (Richard Jones)
  - Initial variables found by valgrind (Jean-Christophe Dubois)
  - Fix -initrd with > 4GB guests (Glauber Costa)
  - Fix busy loop on live migration for certain platforms (Uri Lublin)
  - Remove GCC 3.x requirements from docs (Hollis Blanchard)
  - ETRAX: fixes for kernel command line, ethernet address, bmi (Edgar Iglesias)
  - CRIS: Fix bmi (Edgar Iglesias)
  - Fix bounce buffer errors (Avi Kivity)
  - Fix regression in -kernel (Anthony Liguori)

version 0.10.4:
  - Improve block range checks to remove integer overflow (Kevin Wolf)
  - e1000: do not re-init PCI config space 0 (Amit Shah)
  - fix AIO deletion race (Alex Graf)
  - reset option roms on reboot (Glauber Costa)
  - fix qcow2 corruption in cluster freeing (Gleb Natapov)
  - Enable power button event generation (Gleb Natapov)

version 0.10.3:
  - fix AIO cancellations (Avi Kivity)
  - fix live migration error path on incoming
  - avoid SEGV on pci hotplug failure (Chris Wright)
  - fix serial option in -drive
  - support DDIM for option roms (Glauber Costa)
  - avoid fork/exec on pre-2.6.27 kernels with KVM (Jan Kiszka)
  - block-vpc: don't silently create smaller images than requested (Kevin Wolf)
  - Fix non-ACPI timer interrupt routing (Beth Kon)
  - hpet: fix emulation of HPET_TN_SETVAL (Jan Kiszka)
  - kvm: fix cpuid initialization (Jan Kiszka)
  - qcow2: fix corruption on little endian hosts (Kevin Wolf)
  - avoid leaing memory on hot unplug (Mark McLoughlin)
  - fix savevm/migration after hot unplug (Mark McLoughlin)
  - Fix keyboard mapping on newer Xords with non-default keymaps (balrog)
  - Make PCI config status register read-only (Anthony Liguori)
  - Fix crash on resolution change -> screen dump -> vga redraw (Avi Kivity)

version 0.10.2:

  - fix savevm/loadvm (Anthony Liguori)
  - live migration: fix dirty tracking windows (Glauber Costa)
  - live migration: improve error propogation (Glauber Costa)
  - qcow2: fix image creation for > ~2TB images (Chris Wright)
  - hotplug: fix error handling for if= parameter (Eduardo Habkost)
  - qcow2: fix data corruption (Nolan Leake)
  - virtio: fix guest oops with 2.6.25 kernels (Rusty Russell)
  - SH4: add support for -kernel (Takashi Yoshii, Aurelien Jarno)
  - hotplug: fix closing of char devices (Jan Kiszka)
  - hotplug: remove incorrect check for device name (Eduardo Habkost)
  - enable -k on win32 (Herve Poussineau)
  - configure: use LANG=C for grep (Andreas Faerber)
  - fix VGA regression (malc)

version 0.10.1:

  - virtio-net: allow masking of notifications on empty queue (Alex Williamson)
  - e1000: fix rx descriptor low threshold logic (Alex Willaimson)
  - x86 tcg: add NULL checks to lsl instruction (Jan Kiszka)
  - kvm vga: fix screen corruption with -std-vga and Windows (Avi Kivity)
  - kvm vga: fix screen corruption with Ubuntu installations (Glauber Costa)
  - virtio-net: check right return size on sg list (Alex Williamson)
  - Make qemu_announce_self handle holes (live migration after hotplug)
    (Marcelo Tosatti)
  - Revert r6804-r6808 (qcow2 allocation info).  This series of changes added
    a high cost to startup for large qcow2 images (Anthony Liguori)
  - qemu-img: fix help message (Aurelien Jarno)
  - Fix build for non-default installs of SDL (Anthony Liguori)
  - Fix race condition in env->interrupt_request.  When using TCG and a dynticks
    host timer, this condition could cause TCG to get stuck in an infinite
    loop (Aurelien Jarno)
  - Fix reading encrypted hard disk passwords during early startup (Jan Kiszka)
  - Fix encrypted disk reporting in 'info block' (Jan Kiszka)
  - Fix console size with tiny displays (MusicPal) (Jan Kiszka)
  - Improve error handling in bdrv_open2 (Jan Kiszka)
  - Avoid leaking data in mux'ed character devices (Jan Kiszka)
  - Fix initial character device reset (no banner in monitor) (Jan Kiszka)
  - Fix cpuid KVM crash on i386 host (Lubomir Rintel)
  - Fix SLES10sp2 installation by adding ISTAT1 register to LSI SCSI emulation
    (Ryan Harper)

version 0.10.0:

  - TCG support (No longer requires GCC 3.x)
  - Kernel Virtual Machine acceleration support
  - BSD userspace emulation
  - Bluetooth emulation and host passthrough support
  - GDB XML register description support
  - Intel e1000 emulation
  - HPET emulation
  - VirtIO paravirtual device support
  - Marvell 88w8618 / MusicPal emulation
  - Nokia N-series tablet emulation / OMAP2 processor emulation
  - PCI hotplug support
  - Live migration and new save/restore formats
  - Curses display support
  - qemu-nbd utility to mount supported block formats
  - Altivec support in PPC emulation and new firmware (OpenBIOS)
  - Multiple VNC clients are now supported
  - TLS encryption is now supported in VNC
  - MIPS Magnum R4000 machine (Hervé Poussineau)
  - Braille support (Samuel Thibault)
  - Freecom MusicPal system emulation (Jan Kiszka)
  - OMAP242x and Nokia N800, N810 machines (Andrzej Zaborowski)
  - EsounD audio driver (Frederick Reeve)
  - Gravis Ultrasound GF1 sound card (Tibor "TS" Schütz)
  - Many, many, bug fixes and new features

Revision 1.41.2.1 / (download) - annotate - [select for diffs], Fri May 15 10:43:35 2009 UTC (14 years, 10 months ago) by tron
Branch: pkgsrc-2009Q1
Changes since 1.41: +2 -2 lines
Diff to previous 1.41 (colored) next main 1.42 (colored) to selected 1.109 (colored)

Pullup ticket #2768 - requested by kefren
qemu: security patch

Revisions pulled up:
- emulators/qemu/Makefile			1.56
- emulators/qemu/distinfo			1.42
- emulators/qemu/patches/patch-ac		1.11
---
Module Name:	pkgsrc
Committed By:	kefren
Date:		Wed May 13 19:02:18 UTC 2009

Modified Files:
	pkgsrc/emulators/qemu: Makefile distinfo
	pkgsrc/emulators/qemu/patches: patch-ac

Log Message:
Fix from upstream for CVE-2008-2004
PKGREVISION=1

Revision 1.42 / (download) - annotate - [select for diffs], Wed May 13 19:02:18 2009 UTC (14 years, 10 months ago) by kefren
Branch: MAIN
CVS Tags: pkgsrc-2009Q2-base, pkgsrc-2009Q2
Changes since 1.41: +2 -2 lines
Diff to previous 1.41 (colored) to selected 1.109 (colored)

Fix from upstream for CVE-2008-2004
PKGREVISION=1

Revision 1.41 / (download) - annotate - [select for diffs], Fri Jan 23 08:15:27 2009 UTC (15 years, 2 months ago) by jmmv
Branch: MAIN
CVS Tags: pkgsrc-2009Q1-base
Branch point for: pkgsrc-2009Q1
Changes since 1.40: +2 -2 lines
Diff to previous 1.40 (colored) to selected 1.109 (colored)

Fix build problems; QEMU_TOOL seems to have disappeared, so check for
QEMU_IMG instead.  From Juergen Buchmueller in private mail.

Revision 1.40 / (download) - annotate - [select for diffs], Thu Jan 22 07:27:28 2009 UTC (15 years, 2 months ago) by jmmv
Branch: MAIN
Changes since 1.39: +13 -13 lines
Diff to previous 1.39 (colored) to selected 1.109 (colored)

Update to 0.9.1:

  - TFTP booting from host directory (Anthony Liguori, Erwan Velu)
  - Tap device emulation for Solaris (Sittichai Palanisong)
  - Monitor multiplexing to several I/O channels (Jason Wessel)
  - ds1225y nvram support (Herve Poussineau)
  - CPU model selection support (J. Mayer, Paul Brook, Herve Poussineau)
  - Several Sparc fixes (Aurelien Jarno, Blue Swirl, Robert Reif)
  - MIPS 64-bit FPU support (Thiemo Seufer)
  - Xscale PDA emulation (Andrzej Zaborowski)
  - ColdFire system emulation (Paul Brook)
  - Improved SH4 support (Magnus Damm)
  - MIPS64 support (Aurelien Jarno, Thiemo Seufer)
  - Preliminary Alpha guest support (J. Mayer)
  - Read-only support for Parallels disk images (Alex Beregszaszi)
  - SVM (x86 virtualization) support (Alexander Graf)
  - CRIS emulation (Edgar E. Iglesias)
  - SPARC32PLUS execution support (Blue Swirl)
  - MIPS mipssim pseudo machine (Thiemo Seufer)
  - Strace for Linux userland emulation (Stuart Anderson, Thayne Harbaugh)
  - OMAP310 MPU emulation plus Palm T|E machine (Andrzej Zaborowski)
  - ARM v6, v7, NEON SIMD and SMP emulation (Paul Brook/CodeSourcery)
  - Gumstix boards: connex and verdex emulation (Thorsten Zitterell)
  - Intel mainstone II board emulation (Armin Kuster)
  - VMware SVGA II graphics card support (Andrzej Zaborowski)

Revision 1.39 / (download) - annotate - [select for diffs], Tue Dec 30 00:54:19 2008 UTC (15 years, 3 months ago) by hubertf
Branch: MAIN
CVS Tags: pkgsrc-2008Q4-base, pkgsrc-2008Q4
Changes since 1.38: +2 -1 lines
Diff to previous 1.38 (colored) to selected 1.109 (colored)

Get this building on amd64, patch suggested by Dieter Roelants

Revision 1.38 / (download) - annotate - [select for diffs], Sat Oct 4 14:31:06 2008 UTC (15 years, 5 months ago) by reed
Branch: MAIN
CVS Tags: pkgsrc-2008Q3-base, pkgsrc-2008Q3
Changes since 1.37: +2 -2 lines
Diff to previous 1.37 (colored) to selected 1.109 (colored)

Revert the uname change. Back to the original source.
Unknown why it was using this.

This closes PR 39571 and PR 37786.

Another suggestion is to use pkgsrc's MACHINE_ARCH.

(Not completely tested on DragonFly as this still doesn't build
due to wrong gcc.)

Also note this release is not the latest.

Revision 1.37 / (download) - annotate - [select for diffs], Fri Jan 4 21:37:07 2008 UTC (16 years, 2 months ago) by sborrill
Branch: MAIN
CVS Tags: pkgsrc-2008Q2-base, pkgsrc-2008Q2, pkgsrc-2008Q1-base, pkgsrc-2008Q1, cwrapper, cube-native-xorg-base, cube-native-xorg
Changes since 1.36: +2 -2 lines
Diff to previous 1.36 (colored) to selected 1.109 (colored)

Reverse logic for detecting stack protection. Previous patch enabled
-fno-stack-protection iff using -fno-stack-protection gave an error

Revision 1.36 / (download) - annotate - [select for diffs], Sun Dec 30 17:12:44 2007 UTC (16 years, 3 months ago) by joerg
Branch: MAIN
CVS Tags: pkgsrc-2007Q4-base, pkgsrc-2007Q4
Changes since 1.35: +5 -3 lines
Diff to previous 1.35 (colored) to selected 1.109 (colored)

Fix build on DragonFly. From Rumko based on patch from Patrick Georgi.

Revision 1.35 / (download) - annotate - [select for diffs], Mon Dec 24 10:18:22 2007 UTC (16 years, 3 months ago) by apb
Branch: MAIN
Changes since 1.34: +2 -1 lines
Diff to previous 1.34 (colored) to selected 1.109 (colored)

Add patches/patch-ba:
  Emulate the speaker port's refresh clock bit.  This is supposed
  to toggle between 0 and 1<<4 every 15 microseconds.  XXX: We use
  gettimeofday() in the real machine instead of a monotonic clock
  in the virtual machine, and we are a bit sloppy about the 15
  microseconds.  This should be good enough for crude loops that
  measure approximate delays by counting how often this line toggles.

Bump PKGREVISION to 1

Revision 1.34 / (download) - annotate - [select for diffs], Tue Dec 18 00:16:56 2007 UTC (16 years, 3 months ago) by joerg
Branch: MAIN
Changes since 1.33: +4 -4 lines
Diff to previous 1.33 (colored) to selected 1.109 (colored)

DESTDIR support, order PLIST and add RCS ids to some patches.

Revision 1.33 / (download) - annotate - [select for diffs], Sun Oct 7 21:21:00 2007 UTC (16 years, 5 months ago) by heinz
Branch: MAIN
CVS Tags: pkgsrc-2007Q3-base, pkgsrc-2007Q3
Changes since 1.32: +2 -1 lines
Diff to previous 1.32 (colored) to selected 1.109 (colored)

Provided a simple trunc() implementation for NetBSD < 3 and Dragonfly <
1.10 (thanks to Joerg Sonneberger).
This fix should solve PR pkg/36602 by Pierre Pronchery.

Revision 1.32 / (download) - annotate - [select for diffs], Mon May 21 20:24:44 2007 UTC (16 years, 10 months ago) by xtraeme
Branch: MAIN
CVS Tags: pkgsrc-2007Q2-base, pkgsrc-2007Q2
Changes since 1.31: +8 -17 lines
Diff to previous 1.31 (colored) to selected 1.109 (colored)

Update to 0.9.0. Thanks to Michael Van Elst for sending me the missing
patch to let this build on systems without POSIX AIO.

version 0.9.0:

- Support for relative paths in backing files for disk images
- Async file I/O API
- New qcow2 disk image format
- Support of multiple VM snapshots
- Linux: specific host CDROM and floppy support
- SMM support
- Moved PCI init, MP table init and ACPI table init to Bochs BIOS
- Support for MIPS32 Release 2 instruction set (Thiemo Seufer)
- MIPS Malta system emulation (Aurelien Jarno, Stefan Weil)
- Darwin userspace emulation (Pierre d'Herbemont)
- m68k user support (Paul Brook)
- several x86 and x86_64 emulation fixes
- Mouse relative offset VNC extension (Anthony Liguori)
- PXE boot support (Anthony Liguori)
- '-daemonize' option (Anthony Liguori)

Revision 1.31 / (download) - annotate - [select for diffs], Sat Jan 6 21:21:35 2007 UTC (17 years, 2 months ago) by xtraeme
Branch: MAIN
CVS Tags: pkgsrc-2007Q1-base, pkgsrc-2007Q1
Changes since 1.30: +4 -3 lines
Diff to previous 1.30 (colored) to selected 1.109 (colored)

Add patches to make this build/work on NetBSD/macppc, sent by
Zach Lowry privately.

Revision 1.30 / (download) - annotate - [select for diffs], Thu Dec 7 16:06:39 2006 UTC (17 years, 3 months ago) by xtraeme
Branch: MAIN
CVS Tags: pkgsrc-2006Q4-base, pkgsrc-2006Q4
Changes since 1.29: +4 -4 lines
Diff to previous 1.29 (colored) to selected 1.109 (colored)

Don't patch multiple times the same file, fixed all pkglint warns.

Revision 1.29 / (download) - annotate - [select for diffs], Thu Dec 7 13:50:58 2006 UTC (17 years, 3 months ago) by xtraeme
Branch: MAIN
Changes since 1.28: +4 -3 lines
Diff to previous 1.28 (colored) to selected 1.109 (colored)

Make this build on DragonFlyBSD. Patches were sent by Rumko privately.

Revision 1.28 / (download) - annotate - [select for diffs], Sun Sep 17 07:51:56 2006 UTC (17 years, 6 months ago) by xtraeme
Branch: MAIN
CVS Tags: pkgsrc-2006Q3-base, pkgsrc-2006Q3
Changes since 1.27: +2 -2 lines
Diff to previous 1.27 (colored) to selected 1.109 (colored)

Install html documentation, noted by hira@.

Bump PKGREVISION.

Revision 1.27 / (download) - annotate - [select for diffs], Sat Sep 16 15:29:35 2006 UTC (17 years, 6 months ago) by hira
Branch: MAIN
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored) to selected 1.109 (colored)

Add missing RCS Id.

Revision 1.26 / (download) - annotate - [select for diffs], Tue Sep 5 00:44:38 2006 UTC (17 years, 6 months ago) by xtraeme
Branch: MAIN
Changes since 1.25: +7 -9 lines
Diff to previous 1.25 (colored) to selected 1.109 (colored)

Update to 0.8.2:

  - ACPI support
  - PC VGA BIOS fixes
  - switch to OpenBios for SPARC targets (Blue Swirl)
  - VNC server fixes
  - MIPS FPU support (Marius Groeger)
  - Solaris/SPARC host support (Ben Taylor)
  - PPC breakpoints and single stepping (Jason Wessel)
  - USB updates (Paul Brook)
  - UDP/TCP/telnet character devices (Jason Wessel)
  - Windows sparse file support (Frediano Ziglio)
  - RTL8139 NIC TCP segmentation offloading (Igor Kovalenko)
  - PCNET NIC support (Antony T Curtis)
  - Support for variable frequency host CPUs
  - Workaround for win32 SMP hosts
  - Support for AMD Flash memories (Jocelyn Mayer)
  - Audio capture to WAV files support (malc)

pkgsrc changes:

On systems with gcc4, force to use pkgsrc gcc34 to make it build
on NetBSD >=4.0.

Revision 1.25 / (download) - annotate - [select for diffs], Sat Sep 2 18:17:40 2006 UTC (17 years, 6 months ago) by rillig
Branch: MAIN
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored) to selected 1.109 (colored)

Added the manual pages to the PLIST. Bumped PKGREVISION.

Revision 1.24 / (download) - annotate - [select for diffs], Mon Aug 21 17:29:33 2006 UTC (17 years, 7 months ago) by dbj
Branch: MAIN
Changes since 1.23: +2 -2 lines
Diff to previous 1.23 (colored) to selected 1.109 (colored)

unconditionally install html documentation, since it comes
with pre-built versions in the distribution.
bump pkgrevision

Revision 1.23 / (download) - annotate - [select for diffs], Mon Aug 21 17:23:52 2006 UTC (17 years, 7 months ago) by dbj
Branch: MAIN
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored) to selected 1.109 (colored)

remove references to fakepoll.h used on darwin, since the actual
header seems to have already been accidentally removed, and more
recent versions of darwin appear to have a working poll

Revision 1.22 / (download) - annotate - [select for diffs], Sun May 7 21:33:53 2006 UTC (17 years, 10 months ago) by xtraeme
Branch: MAIN
CVS Tags: pkgsrc-2006Q2-base, pkgsrc-2006Q2
Changes since 1.21: +2 -1 lines
Diff to previous 1.21 (colored) to selected 1.109 (colored)

Apply patch PR pkg/33437: mouse pointer "invisible wall" with qemu 8.1.

More info:
http://lists.gnu.org/archive/html/qemu-devel/2006-05/msg00112.html

Bump PKGREVISION.

Revision 1.21 / (download) - annotate - [select for diffs], Sat May 6 18:41:49 2006 UTC (17 years, 10 months ago) by xtraeme
Branch: MAIN
Changes since 1.20: +2 -2 lines
Diff to previous 1.20 (colored) to selected 1.109 (colored)

Fix typo in patch.

Revision 1.20 / (download) - annotate - [select for diffs], Sat May 6 18:09:53 2006 UTC (17 years, 10 months ago) by xtraeme
Branch: MAIN
Changes since 1.19: +8 -9 lines
Diff to previous 1.19 (colored) to selected 1.109 (colored)

Update to 0.8.1:

Changes:

  - USB tablet support (Brad Campbell, Anthony Liguori)
  - win32 host serial support (Kazu)
  - PC speaker support (Joachim Henke)
  - IDE LBA48 support (Jens Axboe)
  - SSE3 support
  - Solaris port (Ben Taylor)
  - Preliminary SH4 target (Samuel Tardieu)
  - VNC server (Anthony Liguori)
  - slirp fixes (Ed Swierk et al.)
  - USB fixes
  - ARM Versatile Platform Baseboard emulation (Paul Brook)

Revision 1.19 / (download) - annotate - [select for diffs], Fri Jan 6 09:17:03 2006 UTC (18 years, 2 months ago) by xtraeme
Branch: MAIN
CVS Tags: pkgsrc-2006Q1-base, pkgsrc-2006Q1
Changes since 1.18: +3 -1 lines
Diff to previous 1.18 (colored) to selected 1.109 (colored)

Apply patches from Tobyas Nigren (PR pkg/32464) to make this
build on NetBSD/amd64. Thank you Tobias!

Revision 1.18 / (download) - annotate - [select for diffs], Mon Jan 2 12:19:52 2006 UTC (18 years, 2 months ago) by blymn
Branch: MAIN
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored) to selected 1.109 (colored)

Enable pty opening for serial port emulation under NetBSD.

Revision 1.17 / (download) - annotate - [select for diffs], Sun Jan 1 19:12:54 2006 UTC (18 years, 2 months ago) by hubertf
Branch: MAIN
Changes since 1.16: +4 -4 lines
Diff to previous 1.16 (colored) to selected 1.109 (colored)

be consistent about siginfo handling (treat as union on NetBSD,
keep the struct on the rest)

Revision 1.16 / (download) - annotate - [select for diffs], Sun Jan 1 13:48:45 2006 UTC (18 years, 2 months ago) by xtraeme
Branch: MAIN
Changes since 1.15: +7 -9 lines
Diff to previous 1.15 (colored) to selected 1.109 (colored)

Update to 0.8.0 (update provided by Hubert Feyrer, thanks :-)

* Support for ARM Integrator/CP board system emulation.
* Support for MIPS R4K system emulation.
* Initial SMP support on x86 (up to 255 CPUs !).
* Many new audio emulation features.
* Initial USB support.
* New networking options for VLAN support between several QEMU instances.

Revision 1.15 / (download) - annotate - [select for diffs], Sun Dec 11 09:40:39 2005 UTC (18 years, 3 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2005Q4-base, pkgsrc-2005Q4
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored) to selected 1.109 (colored)

Convert aalib to options framework, adding an 'x11' option, and remove
aalib-x11 and aview-x11.
SDL dependencies change, so bump PKGREVISION (and BUILDLINK_RECOMMENDED)
for affected packages.

Addresses PR 32046 by Leonard Schmidt.

Revision 1.14 / (download) - annotate - [select for diffs], Fri Nov 4 21:10:42 2005 UTC (18 years, 4 months ago) by dbj
Branch: MAIN
Changes since 1.13: +2 -1 lines
Diff to previous 1.13 (colored) to selected 1.109 (colored)

fix to i386 div64 taken from qemu cvs
bump PKGREVISION

Revision 1.13 / (download) - annotate - [select for diffs], Fri Nov 4 21:09:15 2005 UTC (18 years, 4 months ago) by dbj
Branch: MAIN
Changes since 1.12: +3 -2 lines
Diff to previous 1.12 (colored) to selected 1.109 (colored)

use fakepoll.h implementation of poll using select on apple, which has
a broken poll.

Revision 1.12 / (download) - annotate - [select for diffs], Sun Oct 23 19:55:59 2005 UTC (18 years, 5 months ago) by rillig
Branch: MAIN
Changes since 1.11: +3 -3 lines
Diff to previous 1.11 (colored) to selected 1.109 (colored)

Added RCS Id to patch-ak and patch-ap.

Revision 1.11 / (download) - annotate - [select for diffs], Sun Sep 4 23:06:33 2005 UTC (18 years, 6 months ago) by xtraeme
Branch: MAIN
CVS Tags: pkgsrc-2005Q3-base, pkgsrc-2005Q3
Changes since 1.10: +4 -4 lines
Diff to previous 1.10 (colored) to selected 1.109 (colored)

Update to 0.7.2

Changes:

  - x86_64 fixes (Win2000 and Linux 2.6 boot in 32 bit)
  - merge self modifying code handling in dirty ram page mecanism.
  - MIPS fixes (Ralf Baechle)
  - better user net performances

Revision 1.10 / (download) - annotate - [select for diffs], Fri Jul 29 16:38:15 2005 UTC (18 years, 8 months ago) by xtraeme
Branch: MAIN
Changes since 1.9: +6 -8 lines
Diff to previous 1.9 (colored) to selected 1.109 (colored)

Update to 0.7.1.

Changes:

  - read-only Virtual FAT support (Johannes Schindelin)
  - Windows 2000 install disk full hack (original idea from Vladimir
    N. Oleynik)
  - VMDK disk image creation (Filip Navara)
  - SPARC64 progress (Blue Swirl)
  - initial MIPS support (Jocelyn mayer)
  - MIPS improvements (Ralf Baechle)
  - 64 bit fixes in user networking (initial patch by Gwenole Beauchesne)
  - IOAPIC support (Filip Navara)

Revision 1.9 / (download) - annotate - [select for diffs], Wed May 25 18:04:57 2005 UTC (18 years, 10 months ago) by dbj
Branch: MAIN
CVS Tags: pkgsrc-2005Q2-base, pkgsrc-2005Q2
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored) to selected 1.109 (colored)

fix SDL include for vl.c on darwin

Revision 1.8 / (download) - annotate - [select for diffs], Tue May 3 11:18:47 2005 UTC (18 years, 10 months ago) by xtraeme
Branch: MAIN
Changes since 1.7: +11 -10 lines
Diff to previous 1.7 (colored) to selected 1.109 (colored)

Update to 0.7.0.

Changes:

  - better BIOS translation and HDD geometry auto-detection
  - user mode networking bug fix
  - undocumented FPU ops support
  - Cirrus VGA: support for 1280x1024x[8,15,16] modes
  - 'pidfile' option
  - .dmg disk image format support (Johannes Schindelin)
  - keymaps support (initial patch by Johannes Schindelin)
  - big endian ARM support (Lennert Buytenhek)
  - added generic 64 bit target support
  - x86_64 target support
  - initial APIC support
  - MMX/SSE/SSE2/PNI support
  - PC parallel port support (Mark Jonckheere)
  - initial SPARC64 support (Blue Swirl)
  - SPARC target boots Linux (Blue Swirl)
  - armv5te user mode support (Paul Brook)
  - ARM VFP support (Paul Brook)
  - ARM "Angel" semihosting syscalls (Paul Brook)
  - user mode gdb stub support (Paul Brook)
  - Samba 3 support
  - initial Cocoa support (Pierre d'Herbemont)
  - generic FPU emulation code
  - Virtual PC read-only disk image support (Alex Beregszaszi)

pkgsrc changes:

Applied Hubert Feyrer workaround for the x86_64 target (patch-aw).

Revision 1.7 / (download) - annotate - [select for diffs], Thu Mar 3 09:11:28 2005 UTC (19 years ago) by abs
Branch: MAIN
CVS Tags: pkgsrc-2005Q1-base, pkgsrc-2005Q1
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored) to selected 1.109 (colored)

add a patch... update a distinfo

Revision 1.6 / (download) - annotate - [select for diffs], Wed Mar 2 23:22:41 2005 UTC (19 years, 1 month ago) by hubertf
Branch: MAIN
Changes since 1.5: +2 -1 lines
Diff to previous 1.5 (colored) to selected 1.109 (colored)

Patch to 0.6.1nb3. Java in Solaris (needed e.g. for the installer)
doesn't crash any more. Patch found at
http://lists.gnu.org/archive/html/qemu-devel/2004-09/msg00271.html

Revision 1.5 / (download) - annotate - [select for diffs], Wed Feb 23 18:49:19 2005 UTC (19 years, 1 month ago) by agc
Branch: MAIN
Changes since 1.4: +2 -1 lines
Diff to previous 1.4 (colored) to selected 1.109 (colored)

Add RMD160 digests to the SHA1 ones

Revision 1.4 / (download) - annotate - [select for diffs], Tue Dec 14 01:02:19 2004 UTC (19 years, 3 months ago) by dbj
Branch: MAIN
CVS Tags: pkgsrc-2004Q4-base, pkgsrc-2004Q4
Changes since 1.3: +6 -5 lines
Diff to previous 1.3 (colored) to selected 1.109 (colored)

fixes to compile on darwin.
add config.h include to target-ppc builds so _BSD is properly defined
bump PKGREVISION

Revision 1.3 / (download) - annotate - [select for diffs], Mon Nov 15 15:38:15 2004 UTC (19 years, 4 months ago) by soren
Branch: MAIN
Changes since 1.2: +2 -1 lines
Diff to previous 1.2 (colored) to selected 1.109 (colored)

Workaround for the bug that causes disk image corruption with XP.

Revision 1.2 / (download) - annotate - [select for diffs], Mon Nov 15 11:35:30 2004 UTC (19 years, 4 months ago) by xtraeme
Branch: MAIN
Changes since 1.1: +14 -10 lines
Diff to previous 1.1 (colored) to selected 1.109 (colored)

Update emulators/qemu to 0.6.1.

Changes:

  - Mac OS X port (Pierre d'Herbemont)
  - Virtual console support
  - Better monitor line edition
  - New block device layer
  - New 'qcow' growable disk image support with AES encryption and
    transparent decompression
  - VMware 3 and 4 read-only disk image support (untested)
  - Support for up to 4 serial ports
  - TFTP server support (Magnus Damm)
  - Port redirection support in user mode networking
  - Support for not executable data sections
  - Compressed loop disk image support (Johannes Schindelin)
  - Level triggered IRQ fix (aka NE2000 PCI performance fix) (Steve
    Wormley)
  - Fixed Fedora Core 2 problems (now you can run qemu without any
    LD_ASSUME_KERNEL tricks on FC2)
  - DHCP fix for Windows (accept DHCPREQUEST alone)
  - SPARC system emulation (Blue Swirl)
  - Automatic Samba configuration for host file access from Windows.
  - '-loadvm' and '-full-screen' options
  - ne2000 savevm support (Johannes Schindelin)
  - Ctrl-Alt is now the default grab key. Ctrl-Alt-[0-9] switches to
    the virtual consoles.
  - BIOS floppy fix for NT4 (Mike Nordell, Derek Fawcus, Volker Ruppert)
  - Floppy fixes for NT4 and NT5 (Mike Nordell)
  - NT4 IDE fixes (Ben Pfaf, Mike Nordell)
  - SDL Audio support and SB16 fixes (malc)
  - ENTER instruction bug fix (initial patch by Stefan Kisdaroczi)
  - VGA font change fix
  - VGA read-only CRTC register fix

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Tue Nov 9 13:05:33 2004 UTC (19 years, 4 months ago) by xtraeme
Branch: TNF
CVS Tags: pkgsrc-base
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored) to selected 1.109 (colored)

Initial import of qemu-0.6.0 from pkgsrc-wip, packaged by David
Holland.

QEMU is a FAST! processor emulator using dynamic translation to achieve 
good emulation speed, QEMU has two operating modes:

    * Full system emulation. In this mode, QEMU emulates a full system 
      (for example a PC), including a processor and various peripherals.
      It can be used to launch different Operating Systems without rebooting
      the PC or to debug system code.
    * User mode emulation (Linux host only). In this mode, QEMU can launch 
      Linux processes compiled for one CPU on another CPU. It can be used 
      to launch the Wine Windows API emulator or to ease cross-compilation
      and cross-debugging. 

--
It's nice to see NetBSD/x86 running perfectly with QEMU!

Revision 1.1 / (download) - annotate - [select for diffs], Tue Nov 9 13:05:33 2004 UTC (19 years, 4 months ago) by xtraeme
Branch: MAIN
Diff to selected 1.109 (colored)

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>