pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/emulators/qemu



Module Name:    pkgsrc
Committed By:   ryoon
Date:           Thu Jun  7 21:23:46 UTC 2012

Modified Files:
        pkgsrc/emulators/qemu: Makefile PLIST distinfo
        pkgsrc/emulators/qemu/files: Makefile.multinode-NetBSD
        pkgsrc/emulators/qemu/patches: patch-eg patch-eh patch-en patch-et
            patch-hw_ppc__newworld.c patch-hw_ppc__oldworld.c
            patch-hw_xilinx__axienet.c patch-ioport.c patch-slirp_tcp__subr.c
Added Files:
        pkgsrc/emulators/qemu/patches: patch-memory.c
            patch-roms_seabios_tools_buildversion.sh
Removed Files:
        pkgsrc/emulators/qemu/patches: patch-aa patch-ao patch-ba patch-bb
            patch-dd patch-ed patch-ei

Log Message:
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


To generate a diff of this commit:
cvs rdiff -u -r1.90 -r1.91 pkgsrc/emulators/qemu/Makefile
cvs rdiff -u -r1.27 -r1.28 pkgsrc/emulators/qemu/PLIST
cvs rdiff -u -r1.72 -r1.73 pkgsrc/emulators/qemu/distinfo
cvs rdiff -u -r1.3 -r1.4 \
    pkgsrc/emulators/qemu/files/Makefile.multinode-NetBSD
cvs rdiff -u -r1.10 -r0 pkgsrc/emulators/qemu/patches/patch-aa
cvs rdiff -u -r1.5 -r0 pkgsrc/emulators/qemu/patches/patch-ao \
    pkgsrc/emulators/qemu/patches/patch-ba
cvs rdiff -u -r1.3 -r0 pkgsrc/emulators/qemu/patches/patch-bb \
    pkgsrc/emulators/qemu/patches/patch-ei
cvs rdiff -u -r1.7 -r0 pkgsrc/emulators/qemu/patches/patch-dd
cvs rdiff -u -r1.4 -r0 pkgsrc/emulators/qemu/patches/patch-ed
cvs rdiff -u -r1.3 -r1.4 pkgsrc/emulators/qemu/patches/patch-eg \
    pkgsrc/emulators/qemu/patches/patch-eh \
    pkgsrc/emulators/qemu/patches/patch-en \
    pkgsrc/emulators/qemu/patches/patch-et
cvs rdiff -u -r1.1 -r1.2 \
    pkgsrc/emulators/qemu/patches/patch-hw_ppc__newworld.c \
    pkgsrc/emulators/qemu/patches/patch-hw_ppc__oldworld.c \
    pkgsrc/emulators/qemu/patches/patch-hw_xilinx__axienet.c \
    pkgsrc/emulators/qemu/patches/patch-slirp_tcp__subr.c
cvs rdiff -u -r1.4 -r1.5 pkgsrc/emulators/qemu/patches/patch-ioport.c
cvs rdiff -u -r0 -r1.1 pkgsrc/emulators/qemu/patches/patch-memory.c \
    pkgsrc/emulators/qemu/patches/patch-roms_seabios_tools_buildversion.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index