1. 24 6月, 2014 16 次提交
  2. 23 6月, 2014 7 次提交
    • P
      Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging · d9c1647d
      Peter Maydell 提交于
      Block pull request
      
      # gpg: Signature made Mon 23 Jun 2014 09:53:49 BST using RSA key ID 81AB73C8
      # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>"
      # gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>"
      
      * remotes/stefanha/tags/block-pull-request:
        block: asynchronously stop the VM on I/O errors
        vl: allow other threads to do qemu_system_vmstop_request
        sheepdog: fix NULL dereference in sd_create
        QemuOpts: check NULL opts in qemu_opt_get functions
        block: m25p80: Support read only bdrvs.
        block: m25p80: sync_page(): Deindent function body.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      d9c1647d
    • P
      Merge remote-tracking branch 'remotes/mcayland/qemu-sparc' into staging · 910f66fc
      Peter Maydell 提交于
      * remotes/mcayland/qemu-sparc:
        apb: Fix out-of-bounds array write access
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      910f66fc
    • P
      Merge remote-tracking branch 'remotes/mcayland/qemu-openbios' into staging · 337b172b
      Peter Maydell 提交于
      * remotes/mcayland/qemu-openbios:
        Update OpenBIOS images
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      337b172b
    • M
      console: move chardev declarations to sysemu/char.h · 3840f842
      Michael S. Tsirkin 提交于
      move generic chardev APIs to sysemu/char.h, to make them available to
      callers which can not depend on the whole of ui/console.h.
      This fixes a build error on systems without pixman-devel:
      
      ./configure --disable-tools --disable-docs --target-list=arm-linux-user
      ...
      pixman            none
      ...
      make
      ...
      In file included from
      /data/home/nchip/linaro/qemu/include/ui/console.h:4:0,
                       from /data/home/nchip/linaro/qemu/stubs/vc-init.c:2:
      /data/home/nchip/linaro/qemu/include/ui/qemu-pixman.h:14:20: fatal
      error: pixman.h: No such file or directory
       #include <pixman.h>
                          ^
      compilation terminated.
      Reported-by: NRiku Voipio <riku.voipio@iki.fi>
      Tested-by: NRiku Voipio <riku.voipio@iki.fi>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Message-id: 1403508500-32691-1-git-send-email-mst@redhat.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      3840f842
    • P
      block: asynchronously stop the VM on I/O errors · 2bd3bce8
      Paolo Bonzini 提交于
      With virtio-blk dataplane, I/O errors might occur while QEMU is
      not in the main I/O thread.  However, it's invalid to call vm_stop
      when we're neither in a VCPU thread nor in the main I/O thread,
      even if we were to take the iothread mutex around it.
      
      To avoid this problem, we can raise a request to the main I/O thread,
      similar to what QEMU does when vm_stop is called from a CPU thread.
      We know that bdrv_error_action is called from an AIO callback, and
      the moment at which the callback will fire is not well-defined; it
      depends on the moment at which the disk or OS finishes the operation,
      which can happen at any time.  Note that QEMU is certainly not in a CPU
      thread and we do not need to call cpu_stop_current() like vm_stop() does.
      
      However, we need to ensure that any action taken by management will
      result in correct detection of the error _and_ a running VM.  In particular:
      
      - the event must be raised after the iostatus has been set, so that
      "info block" will return an iostatus that matches the event.
      
      - the VM must be stopped after the iostatus has been set, so that
      "info block" will return an iostatus that matches the runstate.
      
      The ordering between the STOP and BLOCK_IO_ERROR events is preserved;
      BLOCK_IO_ERROR is documented to come first.
      
      This makes bdrv_error_action() thread safe (assuming QMP events are,
      which is attacked by a separate series).
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      2bd3bce8
    • P
      vl: allow other threads to do qemu_system_vmstop_request · 74892d24
      Paolo Bonzini 提交于
      There patch protects vmstop_requested with a lock and introduces
      qemu_system_vmstop_request_prepare.
      
      Together with the new call to qemu_vmstop_requested in vm_start,
      qemu_system_vmstop_request_prepare avoids a race where the VM could remain
      stopped even though the iostatus of a block device has already been set
      (for example).
      
      qemu_system_vmstop_request_prepare however also lets the caller thread
      delay observation of the state change until it has itself communicated
      that change to the user.  This delay avoids any possibility of a wrong
      reordering of the BLOCK_IO_ERROR event and the subsequent STOP event.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      74892d24
    • L
      sheepdog: fix NULL dereference in sd_create · 5d5da114
      Liu Yuan 提交于
      Following command
      
      qemu-img create -f qcow2 sheepdog:test 20g
      
      will cause core dump because aio_context is NULL in sd_create. We should
      initialize it by qemu_get_aio_context() to avoid NULL dereference.
      
      Cc: qemu-devel@nongnu.org
      Cc: Kevin Wolf <kwolf@redhat.com>
      Cc: Stefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NLiu Yuan <namei.unix@gmail.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      5d5da114
  3. 21 6月, 2014 10 次提交
    • C
      QemuOpts: check NULL opts in qemu_opt_get functions · 435db4cf
      Chunyan Liu 提交于
      Some places will call bdrv_create_file(filename, NULL, &local_err), where
      opts is NULL. Check NULL in qemu_opt_get and qemu_opt_get_*_del functions,
      to avoid extra effort of checking opts before calling them every time.
      Signed-off-by: NChunyan Liu <cyliu@suse.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      435db4cf
    • P
      block: m25p80: Support read only bdrvs. · 999e5aa5
      Peter Crosthwaite 提交于
      By just never doing write-backs. This is completely invisible to the
      guest, as the entire storage area is implemented as device state (at
      realize time the entire drive is read in).
      Signed-off-by: NPeter Crosthwaite <peter.crosthwaite@xilinx.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      999e5aa5
    • P
      block: m25p80: sync_page(): Deindent function body. · fc1084aa
      Peter Crosthwaite 提交于
      sync_page() was conditionalizing it's whole fn body on the bdrv being
      non-null. Just return for the function immediately on NULL brdv and
      get rid of the big if.
      
      Makes implementation consistent with flash_zynq_area().
      Signed-off-by: NPeter Crosthwaite <peter.crosthwaite@xilinx.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      fc1084aa
    • M
      Update OpenBIOS images · 871c60a7
      Mark Cave-Ayland 提交于
      Update OpenBIOS images to SVN r1306 built from submodule.
      Signed-off-by: NMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
      871c60a7
    • S
      apb: Fix out-of-bounds array write access · 68716da7
      Stefan Weil 提交于
      The array regs is declared with IOMMU_NREGS (3) elements and accessed
      using IOMMU_CTRL (0) and IOMMU_BASE (8). In most cases, those values
      are right shifted before being used as an index which results in indices
      0 and 1. In one case, this right shift was missing for IOMMU_BASE which
      results in an out-of-bounds write access with index 8.
      
      The patch adds the missing shift operation also for IOMMU_CTRL where
      it is needed only for cosmetic reasons.
      Signed-off-by: NStefan Weil <sw@weilnetz.de>
      Signed-off-by: NMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
      68716da7
    • S
      gt64xxx_pci: Add VMStateDescription · 427e1750
      Sanjay Lal 提交于
      Add VMStateDescription for GT64120 PCI emulation used by the Malta
      platform, to allow it to work with savevm/loadvm and live migration.
      
      The entire register array is saved/restored using VMSTATE_UINT32_ARRAY
      (fixed length GT_REGS = 1024).
      Signed-off-by: NSanjay Lal <sanjayl@kymasys.com>
      [james.hogan@imgtec.com: Convert to VMState]
      Signed-off-by: NJames Hogan <james.hogan@imgtec.com>
      Cc: Andreas Färber <afaerber@suse.de>
      Reviewed-by: NAurelien Jarno <aurelien@aurel32.net>
      Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
      427e1750
    • A
      target-mips: copy CP0_Config1 into DisasContext · 5ab5c041
      Aurelien Jarno 提交于
      In order to avoid access to the CPUMIPSState structure in the
      translator, keep a copy of CP0_Config1 into DisasContext. The whole
      register is read-only so it can be copied as a single value.
      Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
      5ab5c041
    • P
      Merge remote-tracking branch 'remotes/kvm/uq/master' into staging · d70a319b
      Peter Maydell 提交于
      * remotes/kvm/uq/master:
        hw/mips: malta: Don't boot from flash with KVM T&E
        MAINTAINERS: Add entry for MIPS KVM
        target-mips: Enable KVM support in build system
        hw/mips: malta: Add KVM support
        hw/mips: In KVM mode, inject IRQ2 (I/O) interrupts via ioctls
        target-mips: Call kvm_mips_reset_vcpu() from mips_cpu_reset()
        target-mips: kvm: Add main KVM support for MIPS
        kvm: Allow arch to set sigmask length
        target-mips: get_physical_address: Add KVM awareness
        target-mips: get_physical_address: Add defines for segment bases
        hw/mips: Add API to convert KVM guest KSEG0 <-> GPA
        hw/mips/cputimer: Don't start periodic timer in KVM mode
        target-mips: Reset CPU timer consistently
        KVM: Fix GSI number space limit
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      d70a319b
    • P
      Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging · 0a99aae5
      Peter Maydell 提交于
      pc,pci,virtio,hotplug fixes, enhancements
      
      numa work by Hu Tao and others
      memory hotplug by Igor
      vhost-user by Nikolay, Antonios and others
      guest virtio announcements by Jason
      qtest fixes by Sergey
      qdev hotplug fixes by Paolo
      misc other fixes mostly by myself
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      
      * remotes/mst/tags/for_upstream: (109 commits)
        numa: use RAM_ADDR_FMT with ram_addr_t
        qapi/string-output-visitor: fix bugs
        tests: simplify code
        qapi: fix input visitor bugs
        acpi: rephrase comment
        qmp: add ACPI_DEVICE_OST event handling
        qmp: add query-acpi-ospm-status command
        acpi: implement ospm_status() method for PIIX4/ICH9_LPC devices
        acpi: introduce TYPE_ACPI_DEVICE_IF interface
        qmp: add query-memory-devices command
        numa: handle mmaped memory allocation failure correctly
        pc: acpi: do not hardcode preprocessor
        qmp: clean out whitespace
        qdev: recursively unrealize devices when unrealizing bus
        qdev: reorganize error reporting in bus_set_realized
        qapi: fix build on glib < 2.28
        qapi: make string output visitor parse int list
        qapi: make string input visitor parse int list
        tests: fix memory leak in test of string input visitor
        hmp: add info memdev
        ...
      
      Conflicts:
      	include/hw/i386/pc.h
      [PMM: fixed minor conflict in pc.h]
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      0a99aae5
    • P
      Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20140619' into staging · 53001c14
      Peter Maydell 提交于
      target-arm:
       * Support PSCI 0.2 when using KVM
       * fix AIRCR reset value for v7M CPUs
       * report correct size information for pflash_cfi01
       * minor coverity fixes
       * avoid warnings on Windows builds due to #define clash
       * implement TTBCR PD0/PD1 bits
      
      # gpg: Signature made Thu 19 Jun 2014 18:35:06 BST using RSA key ID 14360CDE
      # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>"
      
      * remotes/pmaydell/tags/pull-target-arm-20140619:
        armv7m_nvic: fix AIRCR implementation
        Use PSCI v0.2 compatible string when KVM or TCG provides it
        target-arm: Introduce per-CPU field for PSCI version
        target-arm: Implement kvm_arch_reset_vcpu() for KVM ARM64
        target-arm: Enable KVM_ARM_VCPU_PSCI_0_2 feature when possible
        target-arm: Common kvm_arm_vcpu_init() for KVM ARM and KVM ARM64
        kvm: Handle exit reason KVM_EXIT_SYSTEM_EVENT
        hw/block/pflash_cfi01: Report correct size info for parallel configs
        hw/arm/vexpress: Forbid specifying flash contents in two ways at once
        target-arm/translate-a64.c: Fix dead ?: in handle_simd_shift_fpint_conv()
        target-arm/translate-a64.c: Remove dead ?: in disas_simd_3same_int()
        target-arm: Add ULL suffix to calculation of page size
        hw/arm/spitz: Avoid clash with Windows header symbol MOD_SHIFT
        target-arm: implement PD0/PD1 bits for TTBCR
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      53001c14
  4. 20 6月, 2014 7 次提交