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:           Mon Jul 11 09:57:18 UTC 2011

Modified Files:
        pkgsrc/emulators/qemu: Makefile PLIST distinfo
        pkgsrc/emulators/qemu/patches: patch-ao patch-ba patch-dd patch-ed
            patch-ef patch-eg patch-eh patch-ei patch-ej patch-el patch-en
            patch-et
Added Files:
        pkgsrc/emulators/qemu/patches: patch-ioport.c
Removed Files:
        pkgsrc/emulators/qemu/patches: patch-aa patch-bb patch-de patch-ee
            patch-ek patch-em patch-eo patch-ep patch-eq patch-er patch-es

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


To generate a diff of this commit:
cvs rdiff -u -r1.79 -r1.80 pkgsrc/emulators/qemu/Makefile
cvs rdiff -u -r1.24 -r1.25 pkgsrc/emulators/qemu/PLIST
cvs rdiff -u -r1.65 -r1.66 pkgsrc/emulators/qemu/distinfo
cvs rdiff -u -r1.8 -r0 pkgsrc/emulators/qemu/patches/patch-aa
cvs rdiff -u -r1.3 -r1.4 pkgsrc/emulators/qemu/patches/patch-ao \
    pkgsrc/emulators/qemu/patches/patch-ba \
    pkgsrc/emulators/qemu/patches/patch-ej
cvs rdiff -u -r1.1 -r0 pkgsrc/emulators/qemu/patches/patch-bb \
    pkgsrc/emulators/qemu/patches/patch-ek \
    pkgsrc/emulators/qemu/patches/patch-em \
    pkgsrc/emulators/qemu/patches/patch-eo \
    pkgsrc/emulators/qemu/patches/patch-ep \
    pkgsrc/emulators/qemu/patches/patch-eq \
    pkgsrc/emulators/qemu/patches/patch-er \
    pkgsrc/emulators/qemu/patches/patch-es
cvs rdiff -u -r1.5 -r1.6 pkgsrc/emulators/qemu/patches/patch-dd
cvs rdiff -u -r1.4 -r0 pkgsrc/emulators/qemu/patches/patch-de
cvs rdiff -u -r1.2 -r1.3 pkgsrc/emulators/qemu/patches/patch-ed
cvs rdiff -u -r1.3 -r0 pkgsrc/emulators/qemu/patches/patch-ee
cvs rdiff -u -r1.1 -r1.2 pkgsrc/emulators/qemu/patches/patch-ef \
    pkgsrc/emulators/qemu/patches/patch-eg \
    pkgsrc/emulators/qemu/patches/patch-eh \
    pkgsrc/emulators/qemu/patches/patch-ei \
    pkgsrc/emulators/qemu/patches/patch-el \
    pkgsrc/emulators/qemu/patches/patch-en \
    pkgsrc/emulators/qemu/patches/patch-et
cvs rdiff -u -r0 -r1.1 pkgsrc/emulators/qemu/patches/patch-ioport.c

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