• "struct timeval last" caused a compilation error with mingw32
    (missing header for struct timeval).
    
    It is unused, so it was possible to remove it.
    
    Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
    Signed-off-by: Stefan Weil <weil@mail.berlios.de>
    Stefan Weil authored
     
    Browse Code »
  • Implement and use a common device bus state.  The main side-effect is
    that creating a bus and attaching it to a parent device are no longer
    separate operations.  For legacy code we allow a NULL parent, but that
    should go away eventually.
    
    Also tweak creation code to veriry theat a device in on the right bus.
    
    Signed-off-by: Paul Brook <paul@codesourcery.com>
    Paul Brook authored
     
    Browse Code »

  • Signed-off-by: Paul Brook <paul@codesourcery.com>
    Paul Brook authored
     
    Browse Code »
  • Signed-off-by: Paul Brook <paul@codesourcery.com>
    Paul Brook authored
     
    Browse Code »
  • Bit 0 is the enable bit, which we not only don't want to set, but
    it will stick and make us think it's an I/O port resource.
    
    Signed-off-by: Alex Williamson <alex.williamson@hp.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Anthony Liguori authored
     
    Browse Code »
  • Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Jan Kiszka authored
     
    Browse Code »
  • Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Jan Kiszka authored
     
    Browse Code »
  • Currently Qemu can read from posix I/O and NBD. This patch adds a
    third protocol to the game: HTTP.
    
    In certain situations it can be useful to access HTTP data directly,
    for example if you want to try out an http provided OS image, but
    don't know if you want to download it yet.
    
    Using this patch you can now try it on on the fly. Just use it like:
    
    qemu -cdrom http://host/path/my.iso
    
    Signed-off-by: Alexander Graf <agraf@suse.de>
    Alexander Graf authored
     
    Browse Code »
  • Add in a workaround to allow the usb serial devices to work with the
    usb pass through mechanism.  The ioctl() to request an alternate
    interface will always return < 0 for a usb-serial device based on the
    kernel driver.  This means there is no alternate interface end point.
    
    This was fully tested with a pl2303 usb serial device.
    
    Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
    Jason Wessel authored
     
    Browse Code »
  • After creating an automated regression test to test the sysrq
    responses while running a linux image in qemu, I found that the
    simulated uart was eating the character right after the sysrq about
    75% of the time.
    
    The problem is that the qemu sets the LSR_DR (data ready) bit on a
    serial break.  The automated tests can send a break and the sysrq
    character quickly enough that the qemu serial fifo has a real
    character available. When there is valid character in the fifo, it
    gets consumed by the serial driver in the guest OS.
    
    The real hardware also appears to set the LSR_DR but always appears to
    have a null byte in this condition.  This patch changes the qemu
    behavior to match the tested characteristics of a real 16550 chip.
    
    Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
    Jason Wessel authored
     
    Browse Code »
  • Implement the serial break via usb serial.
    
    The second data byte in ftdi status packet contains the break status.
    The values were already defined in usb-serial.c so it was a matter of
    making use of the event_trigger to form a urb to send over to the host
    controller with the serial break status set.
    
    This was tested against a linux development image which enables sysrq
    via a serial break on the ftdi usb console.
    
    Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
    Jason Wessel authored
     
    Browse Code »
  • In case a client restarts a DHCP recovery without releasing its old
    address, reassign the same address to prevent consuming free addresses
    and moving away from the standard client address.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Jan Kiszka authored
     
    Browse Code »
  • Save and restore all so far neglected KVM-specific CPU states. Handling
    the TSC stabilizes migration in KVM mode. The interrupt_bitmap and
    mp_state are currently unused, but will become relevant for in-kernel
    irqchip support. By including proper saving/restoring already, we avoid
    having to increment CPU_SAVE_VERSION later on once again.
    
    v2:
     - initialize mp_state runnable (for the boot CPU)
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »
  • Use standard callback with highest order to synchronize VCPU on reset
    after all device callbacks were execute. This allows to remove the
    special kvm hook in qemu_system_reset.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »
  • Add the parameter 'order' to qemu_register_reset and sort callbacks on
    registration. On system reset, callbacks with lower order will be
    invoked before those with higher order. Update all existing users to the
    standard order 0.
    
    Note: At least for x86, the existing users seem to assume that handlers
    are called in their registration order. Therefore, the patch preserves
    this property. If someone feels bored, (s)he could try to identify this
    dependency and express it properly on callback registration.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »
  • kvm_physical_sync_dirty_bitmap() takes the end address as second
    argument, not the region size. Moverover, the kvm API should not be used
    directly here, but cpu_physical_sync_dirty_bitmap().
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »
  • This patch adds the missing hooks to allow live migration in KVM mode.
    It adds proper synchronization before/after saving/restoring the VCPU
    states (note: PPC is untested), hooks into
    cpu_physical_memory_set_dirty_tracking() to enable dirty memory logging
    at KVM level, and synchronizes that drity log into QEMU's view before
    running ram_live_save().
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »
  • Extend kvm_physical_sync_dirty_bitmap() so that is can sync across
    multiple slots. Useful for updating the whole dirty log during
    migration. Moreover, properly pass down errors the whole call chain.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »
  • The buffer passed to KVM_GET_DIRTY_LOG requires one bit per page. Fix
    the size calculation in kvm_physical_sync_dirty_bitmap accordingly,
    avoiding allocation of extremly oversized buffers.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »
  • Introduce a global dirty logging flag that enforces logging for all
    slots. This can be used by the live migration code to enable/disable
    global logging withouth destroying the per-slot setting.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »
  • Only apply the workaround for broken slot joining in KVM when the
    capability was not found that signals the corresponding fix existence.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »
  • Add an option to specify the cluster size of a newly created qcow2 image.
    Default is 4k which is the same value that was hard-coded before.
    
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Kevin Wolf authored
     
    Browse Code »
  • This is part two of the qemu-img conversion. This really works the same as the
    previous conversion of qemu-img create: It introduces a new -o option for the
    generic approach and adds the old-style options to this option set.
    
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Kevin Wolf authored
     
    Browse Code »
  • This patch changes qemu-img to actually use the new bdrv_create interface. It
    translates the old-style qemu-img options which have been bdrv_create2
    parameters or flags so far to option structures. As the generic approach, it
    introduces an -o option which accepts any parameter the driver knows.
    
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Kevin Wolf authored
     
    Browse Code »
  • Now we can make use of the newly introduced option structures. Instead of
    having bdrv_create carry more and more parameters (which are format specific in
    most cases), just pass a option structure as defined by the driver itself.
    
    bdrv_create2() contains an emulation of the old interface to simplify the
    transition.
    
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Kevin Wolf authored
     
    Browse Code »
  • This patch creates a new header file and the corresponding implementation file
    for parsing of parameter strings for options (like used in -drive). Part of
    this is code moved from vl.c (so qemu-img can use it later).
    
    The idea is to have a data structure describing all accepted parameters. When
    parsing a parameter string, the structure is copied and filled with the
    parameter values.
    
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Kevin Wolf authored
     
    Browse Code »
  • This patch allow us to call migrate_set_speed on running
    migrations. This should allow mgmt tools to increase the allocated
    bandwidth of a running migration if there is no progress, and they
    really want the migration to succeed.
    
    Signed-off-by: Glauber Costa <glommer@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Glauber Costa authored
     
    Browse Code »
  • This patch converts the current callers of qemu_fopen_ops().
    
    Signed-off-by: Glauber Costa <glommer@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Glauber Costa authored
     
    Browse Code »
  • This patch augments info migrate output with status about:
    * ram bytes remaining
    * ram bytes transferred
    * ram bytes total
    
    This should be enough for management tools to realize
    whether or not there is progress in migration. We can
    add more information later on, if the need arrives
    
    [v2: fixes bytes_transferred type]
    
    Signed-off-by: Glauber Costa <glommer@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Glauber Costa authored
     
    Browse Code »
  • Use timer to separate them in time.
    
    Signed-off-by: Gleb Natapov <gleb@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Gleb Natapov authored
     
    Browse Code »
  • Signed-off-by: Gleb Natapov <gleb@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Gleb Natapov authored
     
    Browse Code »
  • Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Anthony Liguori authored
     
    Browse Code »