1. 17 4月, 2012 11 次提交
    • G
      usb-host: add usb packet to request tracepoints · 19b89252
      Gerd Hoffmann 提交于
      Add pointer to USBPacket to all tracepoints tracking requests to make it
      easier to identify them when multiple requests are in flight.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      19b89252
    • G
      usb-host: trace canceled requests · 6aebe407
      Gerd Hoffmann 提交于
      Add tracepoints to track canceled requests.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      6aebe407
    • G
      usb-host: trace emulated requests · e382e751
      Gerd Hoffmann 提交于
      Add tracepoint to track completion of emulated control requests.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      e382e751
    • G
      Add bootindex support to usb-host and usb-redir · 65bb3a5c
      Gerd Hoffmann 提交于
      When passing through a usb pendrive seabios will present it in the F12
      boot menu and will happily boot from it.
      
      This patch adds bootorder support so you can even make it the default
      boot device.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      65bb3a5c
    • G
      usb-uhci: queuing fix · ee008ba6
      Gerd Hoffmann 提交于
      When we queue up usb packets we may happen to find a already queued
      packet, which also might be finished at that point already.  We don't
      want continue processing the packet at this point though, so lets
      just signal back we've found a in-flight packet when in queuing mode.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      ee008ba6
    • G
      usb-uhci: stop queue filling when we find a in-flight td · 52b0fecd
      Gerd Hoffmann 提交于
      Not only QHs can form rings, but TDs too.  With the new
      queuing/pipelining support we are following TD chains and
      can actually walk in circles.  An assert() prevents us from
      entering an endless loop then.
      
      Fix is easy:  Just stop queuing when we figure the TD we are
      about to queue up is in flight already.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      52b0fecd
    • G
      usb/vmstate: add parent dev path · eeb0cf9a
      Gerd Hoffmann 提交于
      ... to make vmstate id string truely unique with multiple host
      controllers, i.e. move from "1/usb-ptr" to "0000:00:01.3/1/usb-ptr"
      (usb tabled connected to piix3 uhci).
      
      This obviously breaks migration.  To handle this the usb bus
      property "full-path" is added.  When setting this to false old
      behavior is maintained.  This way current qemu will be compatible
      with old versions when started using '-M pc-$oldversion'.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      eeb0cf9a
    • P
      qemu-timer.c: Remove 250us timeouts · 158fd3ce
      Peter Portante 提交于
      Basically, the main wait loop calls qemu_run_all_timers() unconditionally. The
      first thing this routine used to do is to see if a timer had been serviced,
      and then reset the loop timeout to the next deadline.
      
      However, the new deadlines had not been calculated at that point, as
      qemu_run_timers() had not been called yet for each of the clocks. So
      qemu_rearm_alarm_timer() would end up with a negative or zero deadline, and
      default to setting a 250us timeout for the loop.
      
      As qemu_run_timers() is called for each clock, the real deadlines would be put
      in place, but because a loop timeout was already set, the loop timeout would
      not be changed.
      
      Once that 250us timeout fired, the real deadline would be used for the
      subsequent timeout.
      
      For idle VMs, this effectively doubles the number of times through the loop,
      doubling the number of select() system calls, timer calls, etc. putting added
      scheduling pressure on the kernel. And under cgroups, this really causes a big
      problem because the cgroup code does not scale well.
      
      By simply running the timers before trying to rearm the timer, we always rearm
      with a non-zero deadline, effectively halving the number of system calls.
      Signed-off-by: NPeter Portante <pportant@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      158fd3ce
    • A
      Merge remote-tracking branch 'kiszka/queues/pending' into staging · fc34e77b
      Anthony Liguori 提交于
      * kiszka/queues/pending:
        vapic: Disable for pre-1.1 machines
        Kick io-thread on qemu_chr_accept_input
        pcnet: Properly handle TX requests during Link Fail
        pcnet: Clear ERR in CSR0 on stop
        signrom: Rewrite as python script
      
      Conflicts:
      	hw/pc_piix.c
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      fc34e77b
    • A
      Merge remote-tracking branch 'mst/tags/for_anthony' into staging · 52346e8c
      Anthony Liguori 提交于
      * mst/tags/for_anthony:
        pci: fix corrupted pci conf index register by unaligned write
        acpi: explicitly account for >1 device per slot
        acpi_piix4: Re-define PCI hotplug eject register read
        acpi_piix4: Remove PCI_RMV_BASE write code
        acpi_piix4: Fix PCI hotplug race
        acpi_piix4: Disallow write to up/down PCI hotplug registers
        virtio-pci: change virtio balloon PCI class code
        ivshmem: add missing msix calls
        vhost: readd assert statement
        vhost: Fix size of dirty log sync on resize
        pc: reduce duplication in compat machine types
        piix_pci: fix typo in i400FX chipset init code
      52346e8c
    • A
      Merge remote-tracking branch 'sstabellini/for_anthony' into staging · 8a6b8708
      Anthony Liguori 提交于
      * sstabellini/for_anthony:
        xen: introduce an event channel for buffered io event notifications
        xen-mapcache: don't unmap locked entry during mapcache invalidation
        Xen, mapcache: Fix the compute of the size of bucket.
        xen: handle backend deletion from xenstore
        Xen: Add xen-apic support and hook it up.
        Xen: basic HVM MSI injection support.
      8a6b8708
  2. 16 4月, 2012 29 次提交