• remove unnecessary #if NB_MMU_MODES by using loop.
    
    Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
    Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Isaku Yamahata authored
     
    Browse Code »
  • vga_screen_dump_blank() was not generating a valid PPM file: the width of the
    image made no sense (why it was multiplied by sizeof(uint32_t)?), and there was
    only one sample per pixel, instead of three.
    
    Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Eduardo Habkost authored
     
    Browse Code »
  • Section 10.8.25 ("START/STOP UNIT Command") of SFF-8020i states that
    if the device is locked we should refuse to eject if the device is
    locked.
    
    ASC_MEDIA_REMOVAL_PREVENTED is the appropriate return in this case.
    
    In order to stop itself from ejecting the media it is running from,
    Fedora's installer (anaconda) requires the CDROMEJECT ioctl() to fail
    if the drive has been previously locked.
    
    See also https://bugzilla.redhat.com/501412
    
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Mark McLoughlin authored
     
    Browse Code »
  • provide a monitor command to allow one to set the maximum
    downtime he is willing to suffer during migration, in seconds.
    "ms", "us", "ns" and "s" are accepted as modifiers.
    
    This parameter will be used by ram_save_live() code to determine
    a safe moment to enter stage 3
    
    Signed-off-by: Glauber Costa <glommer@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Glauber Costa authored
     
    Browse Code »
  • Currently, we're entering migration's stage 3 when
    a treshold of 10 pages remain to be transferred in the system.
    
    This has hurt some users. However, any proposed threshold is
    arbitrary by nature, and would only shift the annoyance.
    
    The proposal of this patch is to define a max_downtime variable,
    which represents the maximum downtime a migration user is willing
    to suffer. Then, based on the bandwidth of last iteration, we
    calculate how much data we can transfer in such a window of time.
    
    Whenever we reach that value (or lower), we know is safe to enter
    stage3.
    
    This has largely improved the situation for me.
    On localhost migrations, where one would expect things to go as
    quickly as me running away from the duty of writting software for
    windows, a kernel compile was enough to get the migration stuck.
    
    It takes 20 ~ 30 iterations now.
    
    Signed-off-by: Glauber Costa <glommer@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Glauber Costa authored
     
    Browse Code »
  • User space may only inject interrupts during kvm_arch_pre_run if
    ready_for_interrupt_injection is set in kvm_run. But that field is
    updated on exit from KVM_RUN, so we must ensure that we enter the
    kernel after potentially queuing an interrupt, otherwise we risk to
    loose one - like it happens with the current code against latest
    kernel modules (since kvm-86) that started to queue only a single
    interrupt.
    
    Fix the problem by reordering kvm_cpu_exec.
    
    Credits go to Gleb Natapov for analyzing the issue in details.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »
  • Also replave qemu_bh_cancel with qemu_bh_delete in bdrv_aio_cancel_em.
     Otherwise the bh will live forever in the bh list.
    
    Signed-off-by: Dor Laor <dor@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Dor Laor authored
     
    Browse Code »
  • vl.c contains some dead code that initialises a 'label' string with the name
    of the char device being initialised. This is unused.
    
    Signed-off-by: Amit Shah <amit.shah@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Amit Shah authored
     
    Browse Code »
  • As per the IA32 processor manual, the accessed bit is set to 1 in the
    processor state after reset. qemu pc cpu_reset code was missing this
    accessed bit setting.
    
    Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Nitin A Kamble authored
     
    Browse Code »
  • KVM-enabled QEMU will always report the vendor ID of the physical CPU it is
    running on. Allow to override this if explicitly requested on the
    command line. It will not suffice to name a CPU type (like -cpu phenom),
    but you have to explicitly set the vendor: -cpu phenom,vendor=AuthenticAMD
    
    Signed-off-by: Andre Przywara <andre.przywara@amd.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Andre Przywara authored
     
    Browse Code »
  • The new option is --enable-debug, not --disable-debug.
    
    Signed-off-by: Stefan Weil <weil@mail.berlios.de>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Stefan Weil authored
     
    Browse Code »
  • There are some people interested in, given a cpu number,
    pick its CPUState. KVM is an example, although not yet in tree.
    This patch provides a way of doing that.
    
    Signed-off-by: Glauber Costa <glommer@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Glauber Costa authored
     
    Browse Code »
  • Signed-off-by: Amit Shah <amit.shah@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Amit Shah authored
     
    Browse Code »
  • Reorganize qemu console emulation code.  Make it look at the numlock
    state and interpret numpad keys as arrow+friends (numlock off) or
    digits (numlock on).  While being at it also wind up the other numpad
    keys.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Gerd Hoffmann authored
     
    Browse Code »
  • Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Gerd Hoffmann authored
     
    Browse Code »
  • Adds CASE_SET_REG24 and fixes the following errors:
    
    lsi_scsi: error: Unhandled writeb 0x24 = 0x0
    lsi_scsi: error: Unhandled writeb 0x25 = 0x0
    
    Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Sebastian Herbszt authored
     
    Browse Code »
  • Fixes the following errors:
    
    lsi_scsi: error: Unhandled writeb 0x28 = 0x0
    lsi_scsi: error: Unhandled writeb 0x29 = 0x0
    lsi_scsi: error: Unhandled writeb 0x2a = 0x0
    lsi_scsi: error: Unhandled writeb 0x2b = 0x0
    
    Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Sebastian Herbszt authored
     
    Browse Code »
  • Fixes the following errors:
    
    lsi_scsi: error: Unhandled writeb 0x3a = 0x0
    lsi_scsi: error: readb 0x3a
    
    Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Sebastian Herbszt authored
     
    Browse Code »
  • This function is used to manage a PCI BAR, so make the more generic
    pci_register_io_region() available to other uses.
    
    Signed-off-by: Avi Kivity <avi@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Avi Kivity authored
     
    Browse Code »
  • Move io_mem_init() downwards to avoid a forward declaration.  No code change.
    
    Signed-off-by: Avi Kivity <avi@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Avi Kivity authored
     
    Browse Code »
  • The parameter is always zero except when registering the three internal
    io regions (ROM, unassigned, notdirty).  Remove the parameter to reduce
    the API's power, thus facilitating future change.
    
    Signed-off-by: Avi Kivity <avi@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Avi Kivity authored
     
    Browse Code »
  • There is no point in trying to find KVM on anything else than Linux, at
    least for the moment.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »
  • So far a new timestamp was generated *after* a full line had been
    printed. Fix this.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »
  • As we can have multiple multiplexed terminals, timestamp control and
    tracking should better take place per MuxDriver.
    
    Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Jan Kiszka authored
     
    Browse Code »
  • qemu_mallocz() already checks for NULL returns, readline_init() doesn't
    have to do it again.
    
    Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Luiz Capitulino authored
     
    Browse Code »
  • When updating the refcount blocks in update_refcount(), write complete sectors
    instead of updating single entries.
    
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Kevin Wolf authored
     
    Browse Code »
  • When updating the L2 tables in alloc_cluster_link_l2(), write complete
    sectors instead of updating single entries.
    
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Kevin Wolf authored
     
    Browse Code »
  • When modifying the L1 table, l2_allocate() needs to write complete sectors
    instead of single entries. The L1 table is already in memory, reading it from
    disk in the block layer to align the request is wasted performance.
    
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Kevin Wolf authored
     
    Browse Code »
  • The qcow2 source is now split into several more manageable files. During the
    conversion quite some functions that were static before needed to be changed to
    be global to make the source compile again.
    
    We were lucky enough not to get name conflicts with these additional global
    names, but they are not nice. This patch adds a qcow2_ prefix to all of the
    global functions in qcow2.
    
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Kevin Wolf authored
     
    Browse Code »
  • qcow2-snapshot.c contains the code related to snapshotting.
    
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Kevin Wolf authored
     
    Browse Code »
  • qcow2-cluster.c contains all functions related to the management of guest
    clusters, i.e. what the guest sees on its virtual disk. This code is about
    mapping these guest clusters to host clusters in the image file using the
    two-level lookup tables.
    
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Kevin Wolf authored
     
    Browse Code »
  • qcow2-refcount.c contains all functions which are related to cluster
    allocation and management in the image file. A large part of this is the
    reference counting of these clusters.
    
    Also a header file qcow2.h is introduced which will contain the interface of
    the split qcow2 modules.
    
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Kevin Wolf authored
     
    Browse Code »
  • Larger cluster sizes mean less metadata. This has been discussion a few times,
    let's do it now. This turns 64k clusters on by default for new images.
    
    Signed-off-by: Kevin Wolf <kwolf@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Kevin Wolf authored
     
    Browse Code »
  • Split socket closing and releasing of VncState into two steps.  First
    close the socket and set the variable to -1 to indicate shutdown in
    progress.  Do the actual release in a few places where we can be sure it
    doesn't cause trouble in form of use-after-free.  Add some checks for a
    valid socket handle to make sure we don't try to use the closed socket.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Gerd Hoffmann authored
     
    Browse Code »
  • When we open a file, we first attempt to open it read-write, then fall back
    to read-only.  Unfortunately we reuse the flags from the previous attempt,
    so both attempts try to open the file with write permissions, and fail.
    
    Fix by clearing the O_RDWR flag from the previous attempt.
    
    Signed-off-by: Avi Kivity <avi@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Avi Kivity authored
     
    Browse Code »
  • The flags argument to raw_common_open() contain bits defined by the BDRV_O_*
    namespace, not the posix O_* namespace.
    
    Adjust to use the correct constants.
    
    Signed-off-by: Avi Kivity <avi@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Avi Kivity authored
     
    Browse Code »
  • qemu_pci_hot_add_storage() runs qdev_init() twice.  Broken in commit
    07e3af9a "Virtio-blk qdev conversion".
    
    Signed-off-by: Markus Armbruster <armbru@redhat.com>
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Markus Armbruster authored
     
    Browse Code »