head 1.9; access; symbols pkgsrc-2017Q3:1.8.0.12 pkgsrc-2017Q3-base:1.8 pkgsrc-2017Q2:1.8.0.8 pkgsrc-2017Q2-base:1.8 pkgsrc-2017Q1:1.8.0.6 pkgsrc-2017Q1-base:1.8 pkgsrc-2016Q4:1.8.0.4 pkgsrc-2016Q4-base:1.8 pkgsrc-2016Q3:1.8.0.2 pkgsrc-2016Q3-base:1.8 pkgsrc-2016Q2:1.7.0.20 pkgsrc-2016Q2-base:1.7 pkgsrc-2016Q1:1.7.0.18 pkgsrc-2016Q1-base:1.7 pkgsrc-2015Q4:1.7.0.16 pkgsrc-2015Q4-base:1.7 pkgsrc-2015Q3:1.7.0.14 pkgsrc-2015Q3-base:1.7 pkgsrc-2015Q2:1.7.0.12 pkgsrc-2015Q2-base:1.7 pkgsrc-2015Q1:1.7.0.10 pkgsrc-2015Q1-base:1.7 pkgsrc-2014Q4:1.7.0.8 pkgsrc-2014Q4-base:1.7 pkgsrc-2014Q3:1.7.0.6 pkgsrc-2014Q3-base:1.7 pkgsrc-2014Q2:1.7.0.4 pkgsrc-2014Q2-base:1.7 pkgsrc-2014Q1:1.7.0.2 pkgsrc-2014Q1-base:1.7 pkgsrc-2013Q4:1.6.0.4 pkgsrc-2013Q4-base:1.6 pkgsrc-2013Q3:1.6.0.2 pkgsrc-2013Q3-base:1.6 pkgsrc-2013Q2:1.5.0.2 pkgsrc-2013Q2-base:1.5 pkgsrc-2013Q1:1.4.0.6 pkgsrc-2013Q1-base:1.4 pkgsrc-2012Q4:1.4.0.4 pkgsrc-2012Q4-base:1.4 pkgsrc-2012Q3:1.4.0.2 pkgsrc-2012Q3-base:1.4 pkgsrc-2012Q2:1.3.0.8 pkgsrc-2012Q2-base:1.3 pkgsrc-2012Q1:1.3.0.6 pkgsrc-2012Q1-base:1.3 pkgsrc-2011Q4:1.3.0.4 pkgsrc-2011Q4-base:1.3 pkgsrc-2011Q3:1.3.0.2 pkgsrc-2011Q3-base:1.3 pkgsrc-2011Q2:1.1.0.6 pkgsrc-2011Q2-base:1.1 pkgsrc-2011Q1:1.1.0.4 pkgsrc-2011Q1-base:1.1 pkgsrc-2010Q4:1.1.0.2 pkgsrc-2010Q4-base:1.1; locks; strict; comment @# @; 1.9 date 2017.12.14.08.01.11; author adam; state dead; branches; next 1.8; commitid OqYZNwWtSQYpHPiA; 1.8 date 2016.09.04.09.21.04; author ryoon; state Exp; branches; next 1.7; commitid I3i6KeRF9qQq7Xkz; 1.7 date 2014.01.15.18.26.20; author wiz; state Exp; branches; next 1.6; commitid cDmpD82GiJAF5flx; 1.6 date 2013.07.09.17.00.58; author tsutsui; state Exp; branches; next 1.5; commitid 9AfTrUJjU4C6JOWw; 1.5 date 2013.06.16.18.27.25; author tsutsui; state Exp; branches; next 1.4; commitid QgBMwNl5XgsBWRTw; 1.4 date 2012.09.11.17.13.45; author asau; state Exp; branches; next 1.3; 1.3 date 2011.08.22.12.00.34; author ryoon; state Exp; branches; next 1.2; 1.2 date 2011.07.11.09.57.18; author ryoon; state Exp; branches; next 1.1; 1.1 date 2010.10.27.13.24.09; author tsutsui; state Exp; branches; next ; desc @@ 1.9 log @qemu: fixed block driver whitelisting problem @ text @$NetBSD: patch-ef,v 1.8 2016/09/04 09:21:04 ryoon Exp $ Avoid conflicts with SSP read() macro in NetBSD's (PR lib/43832: ssp causes common names to be defines) --- audio/audio.c.orig 2016-09-02 15:34:17.000000000 +0000 +++ audio/audio.c @@@@ -1156,7 +1156,7 @@@@ int AUD_read (SWVoiceIn *sw, void *buf, return 0; } - return sw->hw->pcm_ops->read(sw, buf, size); + return (sw->hw->pcm_ops->read)(sw, buf, size); } int AUD_get_buffer_size_out (SWVoiceOut *sw) @ 1.8 log @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. @ text @d1 1 a1 1 $NetBSD: patch-ef,v 1.7 2014/01/15 18:26:20 wiz Exp $ @ 1.7 log @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. @ text @d1 1 a1 1 $NetBSD: patch-ef,v 1.6 2013/07/09 17:00:58 tsutsui Exp $ d6 1 a6 1 --- audio/audio.c.orig 2013-11-27 22:15:55.000000000 +0000 d8 1 a8 1 @@@@ -1173,7 +1173,7 @@@@ int AUD_read (SWVoiceIn *sw, void *buf, d12 2 a13 3 - bytes = sw->hw->pcm_ops->read (sw, buf, size); + bytes = (*sw->hw->pcm_ops->read)(sw, buf, size); return bytes; d16 1 @ 1.6 log @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. @ text @d1 1 a1 1 $NetBSD: patch-ef,v 1.5 2013/06/16 18:27:25 tsutsui Exp $ d6 1 a6 1 --- audio/audio.c.orig 2013-06-26 21:47:29.000000000 +0000 d8 1 a8 1 @@@@ -1172,7 +1172,7 @@@@ int AUD_read (SWVoiceIn *sw, void *buf, @ 1.5 log @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. @ text @d1 1 a1 1 $NetBSD: patch-ef,v 1.4 2012/09/11 17:13:45 asau Exp $ d6 1 a6 1 --- audio/audio.c.orig 2013-05-24 13:37:57.000000000 +0000 @ 1.4 log @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. @ text @d1 1 a1 1 $NetBSD: patch-ef,v 1.3 2011/08/22 12:00:34 ryoon Exp $ d6 1 a6 1 --- audio/audio.c.orig 2012-09-05 14:03:06.000000000 +0000 d8 1 a8 1 @@@@ -1171,7 +1171,7 @@@@ int AUD_read (SWVoiceIn *sw, void *buf, @ 1.3 log @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. @ text @d1 1 a1 1 $NetBSD: patch-ef,v 1.2 2011/07/11 09:57:18 ryoon Exp $ d6 1 a6 1 --- audio/audio.c.orig 2011-08-08 18:28:42 +0000 d8 1 a8 1 @@@@ -1162,7 +1162,7 @@@@ int AUD_read (SWVoiceIn *sw, void *buf, @ 1.2 log @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=,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. @ text @d1 1 a1 1 $NetBSD: patch-ef,v 1.1 2010/10/27 13:24:09 tsutsui Exp $ d6 1 a6 1 --- audio/audio.c.orig 2011-05-06 19:01:43.000000000 +0000 @ 1.1 log @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 ' 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 (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 @ text @d1 1 a1 1 $NetBSD$ d6 3 a8 3 --- audio/audio.c.orig 2010-07-28 10:55:42.000000000 +0900 +++ audio/audio.c 2010-08-08 04:02:07.000000000 +0900 @@@@ -1163,7 +1163,7 @@@@ @