Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Apr 7, 2011
  1. NBD: Use qemu_socket functions to open TCP and UNIX sockets

    Nick Thomas authored Kevin Wolf committed
    This commit has the side-effect of making the qemu-nbd binary
    capable of binding to IPv6 addresses. ("-b ::1", for instance).
    block/nbd.c fails to parse IPv6 IP addresses correctly at this
    point, but will work over IPv6 when given a hostname. It still
    works over IPv4 as before.
    
    We move the qemu-sockets object from the 'common' to the 'block'
    list in the Makefile. The common list includes the block list,
    so this is effectively a no-op for the rest of the code.
    
    We also add 32-bit 'magic' attributes to nbd_(request|reply) to
    facilitate calculating maximum request/response sizes later.
    
    Signed-off-by: Nick Thomas <nick@bytemark.co.uk>
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
  2. qemu-img: Initial progress printing support

    Jes Sorensen authored Kevin Wolf committed
    This adds the basic infrastructure for supporting progress output
    on the command line, as well as progress support for qemu-img commands
    'rebase' and 'convert'.
    
    Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
    Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commits on Apr 2, 2011
  1. ccid: add ccid-card-emulated device

    Alon Levy authored Anthony Liguori committed
    This devices uses libcacard (internal) to emulate a smartcard conforming
    to the CAC standard. It attaches to the usb-ccid bus. Usage instructions
    (example command lines) are in the following patch in docs/ccid.txt. It
    uses libcacard which uses nss, so it can work with both hw cards and
    certificates (files).
    
    Signed-off-by: Alon Levy <alevy@redhat.com>
    
    ---
    
    changes from v20->v21: (Jes Sorenson review)
     * cosmetics
     * use qemu-thread and qemu_malloc/qemu_free
    
    changes from v19->v20:
     * checkpatch.pl
    
    changes from v18->v19:
     * add qdev.desc
     * backend: drop the enumeration property, back to using a string one.
    
    changes from v16->v17:
     * use PROP_TYPE_ENUM for backend
    
    changes from v15->v16:
     * fix error reporting in initfn
     * bump copyright year
     * update copyright license
    
    changes from v1:
     * remove stale comments, use only c-style comments
     * bugfix, forgot to set recv_len
     * change reader name to 'Virtual Reader'
  2. libcacard: initial commit

    Robert Relyea authored Anthony Liguori committed
    libcacard emulates a Common Access Card (CAC) which is a standard
    for smartcards. It is used by the emulated ccid card introduced in
    a following patch. Docs are available in docs/libcacard.txt
    
    Signed-off-by: Alon Levy <alevy@redhat.com>
    
    ---
    
    changes from v24->v25:
     * Fix out of tree builds.
     * Fix build with linux-user targets.
    
    changes from v23->v24: (Jes Sorensen review 2)
     * Makefile.target: use obj-$(CONFIG_*) +=
     * remove unrequired includes, include qemu-common before qemu-thread
      * required adding #define NO_NSPR_10_SUPPORT (harmless)
    
    changes from v22->v23:
     * configure fixes: (reported by Stefan Hajnoczi)
      * test a = b, not a == b (second isn't portable)
      * quote $source_path in case it contains spaces
       - this doesn't really help since there are many other places
         that need similar fixes, not introduced by this patch.
    
    changes from v21->v22:
     * fix configure to not link libcacard if nss not found
        (reported by Stefan Hajnoczi)
     * fix vscclient linkage with simpletrace backend
        (reported by Stefan Hajnoczi)
     * card_7816.c: add missing break in ERROR_DATA_NOT_FOUND
        (reported by William van de Velde)
    
    changes from v20->v21: (Jes Sorensen review)
     * use qemu infrastructure: qemu-thread, qemu-common (qemu_malloc
      and qemu_free), error_report
     * assert instead of ASSERT
     * cosmetic fixes
     * use strpbrk and isspace
     * add --disable-nss --enable-nss here, instead of in the final patch.
     * split vscclient, passthru and docs to following patches.
    
    changes from v19->v20:
     * checkpatch.pl
    
    changes from v15->v16:
    
    Build:
     * don't erase self with distclean
     * fix make clean after make distclean
     * Makefile: make vscclient link quiet
    
    Behavioral:
     * vcard_emul_nss: load coolkey in more situations
     * vscclient:
      * use hton,ntoh
      * send init on connect, only start vevent thread on response
      * read payload after header check, before type switch
      * remove Reconnect
      * update for vscard_common changes, empty Flush implementation
    
    Style/Whitespace:
     * fix wrong variable usage
     * remove unused variable
     * use only C style comments
      * add copyright header
      * fix tabulation
    
    Signed-off-by: Alon Levy <alevy@redhat.com>
    
    libcacard: fix out of tree builds
  3. ccid: add passthru card device

    Alon Levy authored Anthony Liguori committed
    The passthru ccid card is a device sitting on the usb-ccid bus and
    using a chardevice to communicate with a remote device using the
    VSCard protocol defined in libcacard/vscard_common.h
    
    Usage docs available in following patch in docs/ccid.txt
    
    Signed-off-by: Alon Levy <alevy@redhat.com>
    
    ---
    
    Changes from v23->v24:
     * fixed double license line in header.
    
    Changes from v20->v21: (Jes Sorensen review)
     * add reference to COPYING in header
     * long comment reformatting
    
    Changes from v19->v20:
     * checkpatch.pl
    
    Changes from v18->v19:
     * add qdev.desc
     * remove .qdev.unplug (no hot unplug support for ccid bus)
    
    Changes from v16->v17:
     * fix wrong cast when receiving VSC_Error
     * ccid-card-passthru: force chardev user wakeup by sending Init
       see lengthy comment below.
    
    Changes from v15->v16:
    
    Behavioral changes:
     * return correct size
     * return error instead of assert if client sent too large ATR
     * don't assert if client sent too large a size, but add asserts for indices to buffer
     * reset vscard_in indices on chardev disconnect
     * handle init from client
     * error if no chardev supplied
     * use ntoh, hton
     * eradicate reader_id_t
     * remove Reconnect usage (removed from VSCARD protocol)
     * send VSC_SUCCESS on card insert/remove and reader add/remove
    
    Style fixes:
     * width of line fix
     * update copyright
     * remove old TODO's
     * update file header comment
     * use macros for debug levels
     * c++ style comment replacement
     * update copyright license
     * fix ATR size comment
     * fix whitespace in struct def
     * fix DPRINTF prefix
     * line width fix
    
    ccid-card-passthru: force chardev user wakeup by sending Init
    
    The problem: how to wakeup the user of the smartcard when the smartcard
    device is initialized?
    
    Long term solution: have a callback interface. This was done via
    the deprecated so called chardev ioctl interface.
    
    Short term solution: do a write. Specifically we write an Init message.
    And we change the client to send it's own Init message regardless of
    receiving this one. Additional Init messages will be regarded as
    acceptable, the first one received after connection establishment is
    the determining one wrt capabilities.
  4. usb-ccid: add CCID bus

    Alon Levy authored Anthony Liguori committed
    A CCID device is a smart card reader. It is a USB device, defined at [1].
    This patch introduces the usb-ccid device that is a ccid bus. Next patches will
    introduce two card types to use it, a passthru card and an emulated card.
    
     [1] http://www.usb.org/developers/devclass_docs/DWG_Smart-Card_CCID_Rev110.
    
    Signed-off-by: Alon Levy <alevy@redhat.com>
    
    ---
    
    changes from v20->v21: (Jes Sorenson review)
     * cosmetic changes - fix multi line comments.
     * reorder fields in USBCCIDState
     * add reference to COPYING
     * add --enable-smartcard and --disable-smartcard here (moved
     from last patch)
    
    changes from v19->v20:
     * checkpatch.pl
    
    changes from v18->v19:
     * merged: ccid.h: add copyright, fix define and remove non C89 comments
     * add qdev.desc
    
    changes from v15->v16:
    
    Behavioral changes:
     * fix abort on client answer after card remove
     * enable migration
     * remove side affect code from asserts
     * return consistent self-powered state
     * mask out reserved bits in ccid_set_parameters
     * add missing abRFU in SetParameters (no affect on linux guest)
    
    whitefixes / comments / consts defines:
     * remove stale comment
     * remove ccid_print_pending_answers if no DEBUG_CCID
     * replace printf's with DPRINTF, remove DEBUG_CCID, add verbosity defines
     * use error_report
     * update copyright (most of the code is not original)
     * reword known bug comment
     * add missing closing quote in comment
     * add missing whitespace on one line
     * s/CCID_SetParameter/CCID_SetParameters/
     * add comments
     * use define for max packet size
    
    Comment for "return consistent self-powered state":
    
    the Configuration Descriptor bmAttributes claims we are self powered,
    but we were returning not self powered to USB_REQ_GET_STATUS control message.
    
    In practice, this message is not sent by a linux 2.6.35.10-74.fc14.x86_64
    guest (not tested on other guests), unless you issue lsusb -v as root (for
    example).
  5. trace: move trace objects from Makefile to Makefile.objs

    Alon Levy authored Anthony Liguori committed
Commits on Mar 29, 2011
  1. @bonzini

    extract I/O handler lists to iohandler.c

    bonzini authored Anthony Liguori committed
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Commits on Mar 22, 2011
  1. Make VNC support optional

    Jes Sorensen authored Anthony Liguori committed
    Per default VNC is enabled.
    
    Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Commits on Mar 15, 2011
  1. tools: Use real async.c instead of stubs

    Kevin Wolf authored
    It's wrong to call BHs directly, even in tools. The only operations that
    schedule BHs are called in a loop that (indirectly) contains a call to
    qemu_bh_poll anyway, so we're not losing the scheduled BHs: Tools either use
    synchronous functions, which are guaranteed to have completed (including any
    BHs) when they return; or if they use asynchronous functions, they need to call
    qemu_aio_wait() or similar functions already today.
    
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
    Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Commits on Mar 13, 2011
  1. @bonzini @blueswirl

    add win32 qemu-thread implementation

    bonzini authored blueswirl committed
    For now, qemu_cond_timedwait and qemu_mutex_timedlock are left as
    POSIX-only functions.  They can be removed later, once the patches
    that remove their uses are in.
    
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Commits on Feb 23, 2011
  1. @iksaif

    bitmap: add a generic bitmap and bitops library

    iksaif authored Anthony Liguori committed
    Add most used bitmap and bitops functions into bitmap.c and bitops.c.
    Theses functions are mostly copied from Linux kernel source.
    
    Some of these functions are already redefined in the VNC server. Some
    of them could be used for some block stuff. The yet yo be submitted
    NUMA work also need bitmaps.
    
    bitops_ffsl() and bitops_flsl() are here because bitops/bitmap works
    on unsigned long, not int, and we can't use current code because:
    * ffs only works on int
    * qemu_fls only works on int
    * ffsl is a GNU extension
    
    Signed-off-by: Corentin Chary <corentincj@iksaif.net>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
  2. @iksaif

    vnc: Add ZRLE and ZYWRLE encodings.

    iksaif authored Anthony Liguori committed
    Add ZRLE [1] and ZYWRLE [2] encodings. The code is inspire^W stolen
    from libvncserver (again), but have been rewriten to match QEMU coding
    style.
    
    [1] http://www.realvnc.com/docs/rfbproto.pdf
    [2] http://micro-vnc.jp/research/remote_desktop_ng/ZYWRLE/publications/
    
    Signed-off-by: Corentin Chary <corentincj@iksaif.net>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Commits on Feb 20, 2011
  1. @blueswirl

    applesmc: make optional

    blueswirl authored
    Based on patch by David Ahern.
    
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Commits on Feb 14, 2011
  1. @jan-kiszka

    Set up signalfd under !CONFIG_IOTHREAD

    jan-kiszka authored Marcelo Tosatti committed
    Will be required for SIGBUS handling. For obvious reasons, this will
    remain a nop on Windows hosts.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Commits on Feb 12, 2011
  1. @blueswirl

    hpet: make optional

    blueswirl authored
    Ignore failure with hpet device creation.
    
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
  2. @blueswirl

    x86: make vmmouse optional

    blueswirl authored
    Compile vmmouse in hwlib. Ignore failure if vmmouse device can't be
    created.
    
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Commits on Feb 7, 2011
  1. ahci: split ICH9 from core

    Sebastian Herbszt authored Kevin Wolf committed
    There are multiple ahci devices out there. The currently implemented ich-9
    is only one of the many. So let's split that one out into a separate file
    to stress the difference.
    
    Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commits on Feb 1, 2011
  1. Merge remote branch 'spice/spice.v29.pull' into staging

    Anthony Liguori authored
    Conflicts:
    	trace-events
Commits on Jan 24, 2011
  1. @kraxel

    spice: add chardev (v5)

    Alon Levy authored kraxel committed
    Adding a chardev backend for spice, where spice determines what
    to do with it based on the name attribute given during chardev creation.
    For usage by spice vdagent in conjunction with a properly named
    virtio-serial device, and future smartcard channel usage.
    
    Example usage:
     qemu -device virtio-serial -chardev spicevmc,name=vdagent,id=vdagent \
     -device virtserialport,chardev=vdagent,name=com.redhat.spice.0
    
    v4->v5:
     * add tracing events
     * fix missing comma
     * fix help string to show debug is optional
    
    v3->v4:
     * updated commit message
    
    v1->v3 changes: (v2 had a wrong commit message)
     * removed spice-qemu-char.h, folded into ui/qemu-spice.h
     * removed dead IOCTL code
     * removed comment
     * removed ifdef CONFIG_SPICE from qemu-config.c and qemu-options.hx help.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
  2. qcow2: Add QcowCache

    Kevin Wolf authored
    This adds some new cache functions to qcow2 which can be used for caching
    refcount blocks and L2 tables. When used with cache=writethrough they work
    like the old caching code which is spread all over qcow2, so for this case we
    have merely a cleanup.
    
    The interesting case is with writeback caching (this includes cache=none) where
    data isn't written to disk immediately but only kept in cache initially. This
    leads to some form of metadata write batching which avoids the current "write
    to refcount block, flush, write to L2 table" pattern for each single request
    when a lot of cluster allocations happen. Instead, cache entries are only
    written out if its required to maintain the right order. In the pure cluster
    allocation case this means that all metadata updates for requests are done in
    memory initially and on sync, first the refcount blocks are written to disk,
    then fsync, then L2 tables.
    
    This improves performance of scenarios with lots of cluster allocations
    noticably (e.g. installation or after taking a snapshot).
    
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commits on Jan 11, 2011
  1. @kraxel

    usb: data structs and helpers for usb descriptors.

    kraxel authored
    This patch adds hw/usb-desc.[ch] files.  They carry data structures
    for various usb descriptors and helper functions to generate usb
    packets from the structures.
    
    The intention is to have a internal representation of the device
    desription which is more usable than the current char array blobs,
    so we can have common code handle common usb device emulation using
    the device description.
    
    The usage of this infrastructure is optional for usb drivers as there
    are cases such as pass-through where it probably isn't very useful.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Commits on Dec 22, 2010
  1. @yamahata @mstsirkin

    build, pci: remove QMP dependency on core PCI code

    yamahata authored mstsirkin committed
    by introducing pci-stub.c, eliminate QMP dependency on core PCI code
    rquired by query-pci command.
    
    Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commits on Dec 17, 2010
  1. qed: Read/write support

    Stefan Hajnoczi authored Kevin Wolf committed
    This patch implements the read/write state machine.  Operations are
    fully asynchronous and multiple operations may be active at any time.
    
    Allocating writes lock tables to ensure metadata updates do not
    interfere with each other.  If two allocating writes need to update the
    same L2 table they will run sequentially.  If two allocating writes need
    to update different L2 tables they will run in parallel.
    
    Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
  2. qed: Table, L2 cache, and cluster functions

    Stefan Hajnoczi authored Kevin Wolf committed
    This patch adds code to look up data cluster offsets in the image via
    the L1/L2 tables.  The L2 tables are writethrough cached in memory for
    performance (each read/write requires a lookup so it is essential to
    cache the tables).
    
    With cluster lookup code in place it is possible to implement
    bdrv_is_allocated() to query the number of contiguous
    allocated/unallocated clusters.
    
    Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
  3. qed: Add QEMU Enhanced Disk image format

    Stefan Hajnoczi authored Kevin Wolf committed
    This patch introduces the qed on-disk layout and implements image
    creation.  Later patches add read/write and other functionality.
    
    Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
  4. @agraf

    ahci: add ahci emulation

    agraf authored Kevin Wolf committed
    This patch adds an emulation layer for an ICH-9 AHCI controller. For now
    this controller does not do IDE legacy emulation. It is a pure AHCI controller.
    
    Signed-off-by: Alexander Graf <agraf@suse.de>
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
  5. Merge remote branch 'kwolf/for-anthony' into staging

    Anthony Liguori authored
  6. Merge remote branch 'mst/for_anthony' into staging

    Anthony Liguori authored
Commits on Dec 14, 2010
  1. @chbmuc

    ceph/rbd block driver for qemu-kvm

    chbmuc authored Kevin Wolf committed
    RBD is an block driver for the distributed file system Ceph
    (http://ceph.newdream.net/). This driver uses librados (which is part
    of the Ceph server) for direct access to the Ceph object store and is
    running entirely in userspace (Yehuda also wrote a driver for the
    linux kernel, that can be used to access rbd volumes as a block
    device).
    
    Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
    Signed-off-by: Christian Brunner <chb@muc.de>
    Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commits on Dec 11, 2010
  1. @agraf @blueswirl

    usb_ohci: Always use little endian

    agraf authored blueswirl committed
    This patch replaces explicit bswaps with endianness hints to the
    mmio layer.
    
    Because we don't depend on the target endianness anymore, we can also
    move the driver over to Makefile.objs.
    
    Signed-off-by: Alexander Graf <agraf@suse.de>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
  2. @agraf @blueswirl

    rtl8139: Declare as little endian

    agraf authored blueswirl committed
    This patch replaces explicit bswaps with endianness hints to the
    mmio layer.
    
    Because we don't depend on the target endianness anymore, we can also
    move the driver over to Makefile.objs.
    
    Signed-off-by: Alexander Graf <agraf@suse.de>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
  3. @agraf @blueswirl

    e1000: Make little endian

    agraf authored blueswirl committed
    The e1000 has compatibility code to handle big endianness which makes it
    mandatory to be recompiled on different targets.
    
    With the generic mmio endianness solution, there's no need for that anymore.
    We just declare all mmio to be little endian and call it a day.
    
    Because we don't depend on the target endianness anymore, we can also
    move the driver over to Makefile.objs.
    
    Signed-off-by: Alexander Graf <agraf@suse.de>
    Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Commits on Dec 9, 2010
  1. @mstsirkin

    Makefile: make msix/msi depend on CONFIG_PCI

    mstsirkin authored
    Possible now that pci is not depending on these.
    
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Commits on Dec 2, 2010
  1. Fix build

    Anthony Liguori authored
    msix.o and msi.o get pulled into the build unconditionally for QMP.
    
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Something went wrong with that request. Please try again.