1. 03 3月, 2015 3 次提交
    • P
      Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging · 3180aadb
      Peter Maydell 提交于
      - more config options
      - bootdevice, iscsi, virtio-scsi fixes
      - build system patches for MinGW and config-devices.mak
      - qemu_mutex_lock_iothread deadlock fixes
      - another tiny patch from the record/replay series
      
      # gpg: Signature made Mon Mar  2 09:59:14 2015 GMT using RSA key ID 78C7AE83
      # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>"
      # gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>"
      # gpg: WARNING: This key is not certified with a trusted signature!
      # gpg:          There is no indication that the signature belongs to the owner.
      # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
      #      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83
      
      * remotes/bonzini/tags/for-upstream:
        cpus: be more paranoid in avoiding deadlocks
        cpus: fix deadlock and segfault in qemu_mutex_lock_iothread
        virtio-scsi: Allocate op blocker reason before blocking
        Makefile.target: binary depends on config-devices
        Makefile: don't silence mak file test with V=1
        Makefile: fix up parallel building under MSYS+MinGW
        iscsi: Handle write protected case in reopen
        Give ivshmem its own config option
        Create specific config option for "platform-bus"
        Add specific config options for PCI-E bridges
        bootdevice: fix segment fault when booting guest with '-kernel' and '-initrd'
        timer: replace time() with QEMU_CLOCK_HOST
        virtio-scsi-dataplane: Call blk_set_aio_context within BQL
        block: Forbid bdrv_set_aio_context outside BQL
        scsi: give device a parent before setting properties
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      3180aadb
    • P
      Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2015-02-26' into staging · 5efde22a
      Peter Maydell 提交于
      QemuOpts: Convert various setters to Error
      
      # gpg: Signature made Thu Feb 26 13:56:43 2015 GMT using RSA key ID EB918653
      # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>"
      # gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>"
      
      * remotes/armbru/tags/pull-error-2015-02-26:
        qtest: Use qemu_opt_set() instead of qemu_opts_parse()
        pc: Use qemu_opt_set() instead of qemu_opts_parse()
        qemu-sockets: Simplify setting numeric and boolean options
        block: Simplify setting numeric options
        qemu-img: Suppress unhelpful extra errors in convert, amend
        QemuOpts: Propagate errors through opts_parse()
        QemuOpts: Propagate errors through opts_do_parse()
        QemuOpts: Drop qemu_opt_set(), rename qemu_opt_set_err(), fix use
        block: Suppress unhelpful extra errors in bdrv_img_create()
        qemu-img: Suppress unhelpful extra errors in convert, resize
        QemuOpts: Convert qemu_opts_set() to Error, fix its use
        QemuOpts: Convert qemu_opt_set_number() to Error, fix its use
        QemuOpts: Convert qemu_opt_set_bool() to Error, fix its use
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      5efde22a
    • P
      Revert "Merge remote-tracking branch 'remotes/ehabkost/tags/x86-pull-request' into staging" · 0856579c
      Peter Maydell 提交于
      This reverts commit b8a173b2, reversing
      changes made to 5de09046.
      
      (I applied this pull request when I should not have done so, and
      am now immediately reverting it.)
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      0856579c
  2. 02 3月, 2015 6 次提交
    • P
      Merge remote-tracking branch 'remotes/ehabkost/tags/x86-pull-request' into staging · b8a173b2
      Peter Maydell 提交于
      * remotes/ehabkost/tags/x86-pull-request:
        target-i386: Move APIC ID compatibility code to pc.c
        target-i386: Require APIC ID to be explicitly set before CPU realize
        target-i386: Set APIC ID using cpu_index on CONFIG_USER
        linux-user: Check for cpu_init() errors
        target-i386: Move CPUX86State.cpuid_apic_id to X86CPU.apic_id
        target-i386: Simplify error handling on cpu_x86_init_user()
        target-i386: Eliminate cpu_init() function
        target-i386: Rename cpu_x86_init() to cpu_x86_init_user()
        target-i386: Move topology.h to include/hw/i386
        target-i386: Eliminate unnecessary get_cpuid_vendor() function
        target-i386: Simplify listflags() function
      
      Conflicts:
      	target-i386/cpu.c
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      b8a173b2
    • P
      Merge remote-tracking branch 'remotes/afaerber/tags/qom-devices-for-peter' into staging · 5de09046
      Peter Maydell 提交于
      QOM infrastructure fixes and device conversions
      
      * Assertion fix for device_add with non-device types
      * Documentation fix
      * qdev_init() error reporting cleanups
      
      # gpg: Signature made Tue Feb 24 13:56:33 2015 GMT using RSA key ID 3E7E013F
      # gpg: Good signature from "Andreas Färber <afaerber@suse.de>"
      # gpg:                 aka "Andreas Färber <afaerber@suse.com>"
      
      * remotes/afaerber/tags/qom-devices-for-peter:
        parallel: parallel_hds_isa_init() shouldn't fail
        parallel: Factor out common parallel_hds_isa_init()
        serial: serial_hds_isa_init() shouldn't fail
        serial: Factor out common serial_hds_isa_init()
        etsec: Replace qdev_init() by qdev_init_nofail()
        leon3: Replace unchecked qdev_init() by qdev_init_nofail()
        ide/isa: Replace unchecked qdev_init() by qdev_init_nofail()
        qdev: Improve qdev_init_nofail()'s error reporting
        qom: Fix typo, 'my_class_init' -> 'derived_class_init'
        qdev: Avoid type assertion in qdev_build_hotpluggable_device_list()
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      5de09046
    • P
      Merge remote-tracking branch 'remotes/ehabkost/tags/numa-pull-request' into staging · 2dffe551
      Peter Maydell 提交于
      NUMA fixes queue
      
      # gpg: Signature made Mon Feb 23 19:28:42 2015 GMT using RSA key ID 984DC5A6
      # gpg: Can't check signature: public key not found
      
      * remotes/ehabkost/tags/numa-pull-request:
        numa: Rename set_numa_modes() to numa_post_machine_init()
        numa: Rename option parsing functions
        numa: Move QemuOpts parsing to set_numa_nodes()
        numa: Make max_numa_nodeid static
        numa: Move NUMA globals to numa.c
        vl.c: Remove unnecessary zero-initialization of NUMA globals
        numa: Move NUMA declarations from sysemu.h to numa.h
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      2dffe551
    • P
      cpus: be more paranoid in avoiding deadlocks · 21618b3e
      Paolo Bonzini 提交于
      For good measure, ensure that the following sequence:
      
         thread 1 calls qemu_mutex_lock_iothread
         thread 2 calls qemu_mutex_lock_iothread
         VCPU thread are created
         VCPU thread enters execution loop
      
      results in the VCPU threads letting the other two threads run
      and obeying iothread_requesting_mutex even if the VCPUs are
      not halted.  To do this, check iothread_requesting_mutex
      before execution starts.
      Tested-by: NLeon Alrae <leon.alrae@imgtec.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      21618b3e
    • P
      cpus: fix deadlock and segfault in qemu_mutex_lock_iothread · 6b49809c
      Paolo Bonzini 提交于
      When two threads (other than the low-priority TCG VCPU thread)
      are competing for the iothread lock, a deadlock can happen.  This
      is because iothread_requesting_mutex is set to false by the first
      thread that gets the mutex, and then the VCPU thread might never
      yield from the execution loop.  If iothread_requesting_mutex is
      changed from a bool to a counter, the deadlock is fixed.
      
      However, there is another bug in qemu_mutex_lock_iothread that
      can be triggered by the new call_rcu thread.  The bug happens
      if qemu_mutex_lock_iothread is called before the CPUs are
      created.  In that case, first_cpu is NULL and the caller
      segfaults in qemu_mutex_lock_iothread.  To fix this, just
      do not do the kick if first_cpu is NULL.
      Reported-by: NLeon Alrae <leon.alrae@imgtec.com>
      Reported-by: NAndreas Gustafsson <gson@gson.org>
      Tested-by: NLeon Alrae <leon.alrae@imgtec.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      6b49809c
    • M
      virtio-scsi: Allocate op blocker reason before blocking · f6758f7d
      Max Reitz 提交于
      s->blocker is really only used in hw/scsi/virtio-scsi.c; the only places
      where it is used in hw/scsi/virtio-scsi-dataplane.c is when it is
      allocated and when it is freed. That does not make a whole lot of sense
      (and is actually wrong because this leads to s->blocker potentially
      being NULL when blk_op_block_all() is called in virtio-scsi.c), so move
      the allocation and destruction of s->blocker to the device realization
      and unrealization in virtio-scsi.c, respectively.
      
      Case in point:
      
      $ echo -e 'eject drv\nquit' | \
          x86_64-softmmu/qemu-system-x86_64 \
              -monitor stdio -machine accel=qtest -display none \
              -object iothread,id=thr -device virtio-scsi-pci,iothread=thr \
              -drive if=none,file=test.qcow2,format=qcow2,id=drv \
              -device scsi-cd,drive=drv
      
      Without this patch:
      
      (qemu) eject drv
      [1]    10102 done
             10103 segmentation fault (core dumped)
      
      With this patch:
      
      (qemu) eject drv
      Device 'drv' is busy: block device is in use by data plane
      (qemu) quit
      Signed-off-by: NMax Reitz <mreitz@redhat.com>
      Message-Id: <1425057113-26940-1-git-send-email-mreitz@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      f6758f7d
  3. 28 2月, 2015 4 次提交
  4. 27 2月, 2015 8 次提交
  5. 26 2月, 2015 19 次提交