1. 05 3月, 2015 4 次提交
  2. 04 3月, 2015 1 次提交
    • P
      Merge remote-tracking branch 'remotes/awilliam/tags/vfio-update-20150302.0' into staging · 3539bbb9
      Peter Maydell 提交于
      Updates for QEMU 2.3-rc0:
       - Error reporting and static cleanup (Alexey Kardashevskiy)
       - Runtime mmap disable for tracing (Samuel Pitoiset)
       - Support for host directed device request (Alex Williamson)
      
      # gpg: Signature made Mon Mar  2 18:42:50 2015 GMT using RSA key ID 3BB08B22
      # gpg: Good signature from "Alex Williamson <alex.williamson@redhat.com>"
      # gpg:                 aka "Alex Williamson <alex@shazbot.org>"
      # gpg:                 aka "Alex Williamson <alwillia@redhat.com>"
      # gpg:                 aka "Alex Williamson <alex.l.williamson@gmail.com>"
      
      * remotes/awilliam/tags/vfio-update-20150302.0:
        vfio-pci: Enable device request notification support
        vfio: allow to disable MMAP per device with -x-mmap=off option
        vfio: Make type1 listener symbols static
        vfio: Add ioctl number to error report
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      3539bbb9
  3. 03 3月, 2015 8 次提交
  4. 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
  5. 28 2月, 2015 4 次提交
  6. 27 2月, 2015 8 次提交
  7. 26 2月, 2015 9 次提交