pkgsrc/emulators/qemu/Makefile

137 lines
3.6 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.95 2012/08/03 17:51:47 asau Exp $
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.
2012-07-23 13:17:54 +02:00
DISTNAME= qemu-1.1.1-1
PKGNAME= qemu-1.1.1.1
PKGREVISION= 1
CATEGORIES= emulators
MASTER_SITES= http://wiki.qemu.org/download/
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
2012-06-07 23:23:45 +02:00
EXTRACT_SUFX= .tar.bz2
2007-07-09 22:01:44 +02:00
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.qemu.org/
COMMENT= CPU emulator using dynamic translation
2010-01-24 18:11:17 +01:00
LICENSE= gnu-gpl-v2 AND gnu-lgpl-v2.1 AND mit AND modified-bsd
PKG_DESTDIR_SUPPORT= user-destdir
CONFLICTS+= qemu-bin-[0-9]*
NOT_FOR_PLATFORM= NetBSD-1.[0-6]*-*
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.
2012-07-23 13:17:54 +02:00
WRKSRC= ${WRKDIR}/qemu-1.1.1
USE_TOOLS+= gmake makeinfo perl:build pkg-config
UNLIMIT_RESOURCES= datasize
HAS_CONFIGURE= yes
BUILD_DEPENDS+= texi2html-[0-9]*:../../textproc/texi2html
.include "options.mk"
.include "../../mk/bsd.prefs.mk"
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
2012-06-07 23:23:45 +02:00
CONFIGURE_ENV+= mansuffix=/${PKGMANDIR}
2010-12-27 13:33:32 +01:00
CONFIGURE_ARGS+= --prefix=${PREFIX}
CONFIGURE_ARGS+= --interp-prefix=${PREFIX}/share/qemu
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
CONFIGURE_ARGS+= --python=${PYTHONBIN}
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
2012-06-07 23:23:45 +02:00
CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR}
CONF_FILES= ${EGDIR}/target-x86_64.conf \
${PKG_SYSCONFDIR}/target-x86_64.conf
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
2012-06-07 23:23:45 +02:00
CONF_FILES+= ${EGDIR}//cpus-x86_64.conf \
${PKG_SYSCONFDIR}/cpus-x86_64.conf
EGDIR= ${PREFIX}/share/examples/qemu
INSTALL_MAKE_FLAGS= egdir=${EGDIR}
PKG_SYSCONFSUBDIR= qemu
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)
2009-10-11 18:04:13 +02:00
# Avoid clash with system include file:
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
2009-08-31 12:18:49 +02:00
pre-patch:
mv ${WRKSRC}/audio/audio.h ${WRKSRC}/audio/qaudio.h
SUBST_CLASSES+= qaudio
SUBST_STAGE.qaudio= pre-configure
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
2010-10-27 15:24:09 +02:00
SUBST_FILES.qaudio= arch_init.c monitor.c savevm.c vl.c \
audio/*.c \
hw/ac97.c \
hw/adlib.c \
hw/cs4231a.c \
hw/es1370.c \
hw/gus.c \
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.
2011-07-11 11:57:18 +02:00
hw/hda-audio.c \
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
2012-06-07 23:23:45 +02:00
hw/lm4549.c \
hw/lm4549.h \
hw/marvell_88w8618_audio.c \
hw/milkymist-ac97.c \
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
2010-10-27 15:24:09 +02:00
hw/mips_fulong2e.c \
hw/mips_jazz.c \
hw/mips_malta.c \
hw/omap2.c \
hw/palm.c \
hw/pcspk.c \
hw/sb16.c \
hw/spitz.c \
hw/tsc210x.c \
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
2012-06-07 23:23:45 +02:00
hw/usb/dev-audio.c \
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
2010-10-27 15:24:09 +02:00
hw/wm8750.c \
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
2012-06-07 23:23:45 +02:00
hw/z2.c \
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
2010-10-27 15:24:09 +02:00
ui/vnc.h
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
2009-08-31 12:18:49 +02:00
SUBST_SED.qaudio= -e s,audio.h\",qaudio.h\",g
2010-08-09 22:56:32 +02:00
SUBST_MESSAGE.qaudio= Fixing audio.h confusion
REPLACE_PERL+= scripts/texi2pod.pl
BUILDLINK_PASSTHRU_DIRS+= /usr/lib
BUILDLINK_PASSTHRU_RPATHDIRS+= /usr/lib
INSTALLATION_DIRS= ${PKGMANDIR}/man1 share/doc/qemu
UE_ARCHS+= alpha arm armeb cris i386 m68k microblaze mips mipsel
UE_ARCHS+= ppc ppc64 ppc64abi32 sh4 sh4eb sparc sparc32plus
UE_ARCHS+= sparc64 x86_64 microblazeel s390x unicore32
.if ${OPSYS} == "NetBSD"
.if (!empty(OS_VERSION:M5.99.*) || !empty(OS_VERSION:M[6-9].*))
# XXX
# i386 and x86_64 user emul require newer binutils for PROVIDE_HIDDEN()
# http://git.qemu.org/qemu.git/commit/?id=845f2c2812d9ed24b36c02a3d06ee83aeafe8b49
# but binutils-2.19 was enabled around 5.99.22:
# http://cvsweb.NetBSD.org/bsdweb.cgi/src/share/mk/bsd.own.mk#rev1.594
USER_EMUL= i386 x86_64 sparc sparc64
.else
CONFIGURE_ARGS+= --disable-bsd-user
USER_EMUL=
.endif
PLIST.nbd= YES
.elif !empty(OPSYS:M*BSD) || !empty(OPSYS:MDragonFly)
USER_EMUL= i386 x86_64 sparc sparc64
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
2010-10-27 15:24:09 +02:00
PLIST.nbd= YES
.elif !empty(OPSYS:MDarwin)
2010-12-27 13:33:32 +01:00
USER_EMUL=
CONFIGURE_ARGS+= --disable-bsd-user
CONFIGURE_ARGS+= --disable-darwin-user
PLIST.nbd= YES
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.
2010-05-17 16:31:07 +02:00
.elif !empty(OPSYS:MLinux)
USER_EMUL= ${UE_ARCHS}
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.
2010-05-17 16:31:07 +02:00
PLIST.nbd= YES
.endif
PLIST_VARS+= ${UE_ARCHS} nbd
.for _var_ in ${USER_EMUL}
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.
2010-05-17 16:31:07 +02:00
PLIST.${_var_}= YES
.endfor
post-install:
${INSTALL_DATA} ${FILESDIR}/Makefile.multinode-NetBSD \
${DESTDIR}${PREFIX}/share/doc/qemu/
2010-12-27 13:33:32 +01:00
# On Darwin, qemu uses Cocoa and CoreAudio
.if empty(OPSYS:MDarwin)
.include "../../mk/oss.buildlink3.mk"
2010-12-27 13:33:32 +01:00
.endif
.include "../../devel/glib2/buildlink3.mk"
2010-12-27 13:33:32 +01:00
.include "../../devel/zlib/buildlink3.mk"
.include "../../lang/python/extension.mk"
.include "../../mk/curses.buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"