1. 07 10月, 2010 3 次提交
    • M
      virtio-net: unify vhost-net start/stop · afbaa7b4
      Michael S. Tsirkin 提交于
      Move all of vhost-net start/stop logic to a single routine,
      and call it from everywhere.
      
      Additionally, start/stop vhost-net on link up/down:
      we should not transmit anything if user asked us to
      put the link down.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Acked-by: NAlex Williamson <alex.williamson@redhat.com>
      afbaa7b4
    • M
      virtio: invoke set_status callback on reset · e0c472d8
      Michael S. Tsirkin 提交于
      As status is set to 0 on reset, invoke the relevant callback. This makes
      for a cleaner code in devices as they don't need to duplicate the code
      in their reset routine, as well as excercises this path a little more.
      
      In particular this makes it possible to unify
      vhost-net handling code with the following patch.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      e0c472d8
    • M
      net: delay freeing peer host device · a083a89d
      Michael S. Tsirkin 提交于
      With -netdev, virtio devices present offload
      features to guest, depending on the backend used.
      Thus, removing host netdev peer while guest is
      active leads to guest-visible inconsistency and/or crashes.
      
      As a solution, while guest (NIC) peer device exists,
      we prevent the host peer from being deleted.
      This patch does this by adding peer_deleted flag in nic state:
      if host device is going away while guest device
      is around, set this flag and keep a shell of
      the host device around for as long as guest device exists.
      
      The link is put down so all packets will get discarded.
      
      At the moment, management can detect that device deletion
      is delayed by doing info net. As a next step, we shall add
      commands that control hotplug/unplug without
      removing the device, and an event to report that
      guest has responded to the hotplug event.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Acked-by: NAlex Williamson <alex.williamson@redhat.com>
      a083a89d
  2. 03 10月, 2010 15 次提交
  3. 02 10月, 2010 6 次提交
  4. 01 10月, 2010 2 次提交
  5. 30 9月, 2010 1 次提交
  6. 29 9月, 2010 1 次提交
    • W
      pulse-audio: fix bug on updating rpos · fd5723b3
      Wu Fengguang 提交于
      Fix a rpos coordination bug between qpa_run_out() and qpa_thread_out(),
      which shows up as playback noises.
      
      	qpa_run_out()
      			qpa_thread_out loop N critical section 1
      	qpa_run_out()   qpa_thread_out loop N doing pa_simple_write()
      	qpa_run_out()	qpa_thread_out loop N doing pa_simple_write()
      			qpa_thread_out loop N critical section 2
      			qpa_thread_out loop N+1 critical section 1
      	qpa_run_out()	qpa_thread_out loop N+1 doing pa_simple_write()
      
      In the above scheme, "qpa_thread_out loop N+1 critical section 1" will
      get the same rpos as the one used by "qpa_thread_out loop N critical
      section 1". So it will be reading dead samples from the old rpos.
      
      The rpos can only be updated back to qpa_thread_out when there is a
      qpa_run_out() run between two qpa_thread_out loops.
      
      normal sequence:
      	qpa_thread_out:
      			hw->rpos (X0) => local rpos => pa->rpos (X1)
      	qpa_run_out:
      			pa->rpos (X1) => hw->rpos (X1)
      	qpa_thread_out:
      			hw->rpos (X1) => local rpos => pa->rpos (X2)
      
      buggy sequence:
      	qpa_thread_out:
      			hw->rpos (X0) => local rpos => pa->rpos (X1)
      	qpa_thread_out:
      			hw->rpos (X0) => local rpos => pa->rpos (X1')
      
      Obviously qpa_run_out() shall be called at least once between any two
      qpa_thread_out loops (after pa->rpos is set), in order for the new
      qpa_thread_out loop to see the updated rpos.
      
      Setting pa->live to 0 does the trick. The next loop will have to wait
      for one qpa_run_out() invocation in order to get a non-zero pa->live
      and proceed.
      Signed-off-by: Nmalc <av1474@comtv.ru>
      Signed-off-by: NWu Fengguang <fengguang.wu@intel.com>
      fd5723b3
  7. 28 9月, 2010 1 次提交
  8. 27 9月, 2010 1 次提交
  9. 26 9月, 2010 1 次提交
  10. 25 9月, 2010 3 次提交
    • A
      Introduce qemu_madvise() · e78815a5
      Andreas Färber 提交于
      vl.c has a Sun-specific hack to supply a prototype for madvise(),
      but the call site has apparently moved to arch_init.c.
      
      Haiku doesn't implement madvise() in favor of posix_madvise().
      OpenBSD and Solaris 10 don't implement posix_madvise() but madvise().
      MinGW implements neither.
      
      Check for madvise() and posix_madvise() in configure and supply qemu_madvise()
      as wrapper. Prefer madvise() over posix_madvise() due to flag availability.
      Convert all callers to use qemu_madvise() and QEMU_MADV_*.
      
      Note that on Solaris the warning is fixed by moving the madvise() prototype,
      not by qemu_madvise() itself. It helps with porting though, and it simplifies
      most call sites.
      
      v7 -> v8:
      * Some versions of MinGW have no sys/mman.h header. Reported by Blue Swirl.
      
      v6 -> v7:
      * Adopt madvise() rather than posix_madvise() semantics for returning errors.
      * Use EINVAL in place of ENOTSUP.
      
      v5 -> v6:
      * Replace two leftover instances of POSIX_MADV_NORMAL with QEMU_MADV_INVALID.
        Spotted by Blue Swirl.
      
      v4 -> v5:
      * Introduce QEMU_MADV_INVALID, suggested by Alexander Graf.
        Note that this relies on -1 not being a valid advice value.
      
      v3 -> v4:
      * Eliminate #ifdefs at qemu_advise() call sites. Requested by Blue Swirl.
        This will currently break the check in kvm-all.c by calling madvise() with
        a supported flag, which will not fail. Ideas/patches welcome.
      
      v2 -> v3:
      * Reuse the *_MADV_* defines for QEMU_MADV_*. Suggested by Alexander Graf.
      * Add configure check for madvise(), too.
        Add defines to Makefile, not QEMU_CFLAGS.
        Convert all callers, untested. Suggested by Blue Swirl.
      * Keep Solaris' madvise() prototype around. Pointed out by Alexander Graf.
      * Display configure check results.
      
      v1 -> v2:
      * Don't rely on posix_madvise() availability, add qemu_madvise().
        Suggested by Blue Swirl.
      Signed-off-by: NAndreas Färber <afaerber@opensolaris.org>
      Cc: Blue Swirl <blauwirbel@gmail.com>
      Cc: Alexander Graf <agraf@suse.de>
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      e78815a5
    • E
      powerpc: Make the decr interrupt type overridable · d63cb48d
      Edgar E. Iglesias 提交于
      Make it possible for boards to override the kind of interrupt
      to be signaled when the decr timer hits. The 405's signal PIT
      interrupts while the 440's signal DECR.
      Signed-off-by: NEdgar E. Iglesias <edgar.iglesias@gmail.com>
      d63cb48d
    • E
      powerpc: Improve emulation of the BookE MMU · a586e548
      Edgar E. Iglesias 提交于
      Improve the emulation of the BookE MMU to be able to boot linux
      on virtex5 boards.
      Signed-off-by: NEdgar E. Iglesias <edgar.iglesias@gmail.com>
      a586e548
  11. 24 9月, 2010 1 次提交
  12. 23 9月, 2010 4 次提交
  13. 22 9月, 2010 1 次提交