Statistics
| Branch: | Revision:

root / hw / usb @ b43a2851

# Date Author Comment
d5a15814 09/11/2012 08:43 am Gerd Hoffmann

xhci: drop buffering

This patch splits the xhci_xfer_data function into three.
The xhci_xfer_data function used to do does two things:

(1) copy transfer data between guest memory and a temporary buffer.
(2) report transfer results to the guest using events....
5c08106f 09/11/2012 08:43 am Gerd Hoffmann

xhci: move device lookup into xhci_setup_packet

Signed-off-by: Gerd Hoffmann <>

01546fa6 09/11/2012 08:43 am Gerd Hoffmann

xhci: implement mfindex

Implement mfindex register and mfindex wrap event.

Signed-off-by: Gerd Hoffmann <>

3d139684 09/11/2012 08:43 am Gerd Hoffmann

xhci: iso xfer support

Add support for iso transfers.

Signed-off-by: Gerd Hoffmann <>

873123fe 09/11/2012 08:43 am Gerd Hoffmann

xhci: trace cc codes in cleartext

Signed-off-by: Gerd Hoffmann <>

d829fde9 09/11/2012 08:43 am Gerd Hoffmann

xhci: add trace_usb_xhci_ep_set_dequeue

Signed-off-by: Gerd Hoffmann <>

8e9f18b6 09/11/2012 08:43 am Gerd Hoffmann

xhci: fix runtime write tracepoint

Signed-off-by: Gerd Hoffmann <>

106b214c 09/11/2012 08:43 am Gerd Hoffmann

xhci: update register layout

Change the register layout to be a bit more sparse and also not depend
on the number of ports. Useful when for making the number of ports
runtime-configurable.

0846e635 09/11/2012 08:43 am Gerd Hoffmann

xhci: update port handling

This patch changes the way xhci ports are linked to USBPorts. The fixed
1:1 relationship between xhci ports and USBPorts is gone. Now each
USBPort represents a physical plug which has usually two xhci ports
assigned: one usb2 and ond usb3 port. usb devices show up at one or the...

6d51b2bb 09/11/2012 08:43 am Gerd Hoffmann

usb3: superspeed descriptors

Add superspeed descriptor entry to USBDesc,
advertise superspeed support when present.

Signed-off-by: Gerd Hoffmann <>

b43a2851 09/11/2012 08:43 am Gerd Hoffmann

usb3: superspeed endpoint companion

Add support for building superspeed endpoint companion descriptors,
create them for superspeed usb devices.

Signed-off-by: Gerd Hoffmann <>

ed9873bf 09/11/2012 08:43 am Hans de Goede

usb-redir: Don't delay handling of open events to a bottom half

There is no need for this, and doing so means that a backend trying to
write immediately after an open event will see qemu_chr_be_can_write
returning 0, which not all backends handle well as there is no wakeup...

cb897117 09/11/2012 08:43 am Hans de Goede

usb-redir: Get rid of async-struct get member

This is a preparation patch for completely getting rid of the async-packet
struct in usb-redir, instead relying on the (new) per ep queues in the
qemu usb core.

Signed-off-by: Hans de Goede <>...

104981d5 09/11/2012 08:43 am Hans de Goede

usb-redir: Get rid of local shadow copy of packet headers

The shadow copy only serves as an extra check (besides the packet-id) to
ensure the packet we get back is a reply to the packet we think it is.

This check has never triggered in all the time usb-redir is in use now,...

206e7f20 09/11/2012 08:43 am Hans de Goede

usb-redir: Get rid of unused async-struct dev member

This is a preparation patch for completely getting rid of the async-packet
struct in usb-redir, instead relying on the (new) per ep queues in the
qemu usb core.

Signed-off-by: Hans de Goede <>...

de550a6a 09/11/2012 08:43 am Hans de Goede

usb-redir: Move to core packet id and queue handling

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

2979a361 09/11/2012 08:43 am Hans de Goede

usb-redir: Return babble when getting more bulk data then requested

Babble is the appropriate error in this case (rather then signalling a stall).

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

be4a8928 09/11/2012 08:43 am Hans de Goede

usb-redir: Convert to new libusbredirparser 0.5 API

This gives us support for 64 bit ids which is needed for using XHCI with
the new hcd generated ids.

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

0fde3b7a 09/11/2012 08:43 am Hans de Goede

usb-redir: Set ep max_packet_size if available

This is needed for usb-redir to work properly with the xhci emulation.

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

910c1e6b 09/11/2012 08:43 am Hans de Goede

usb-redir: Add a usbredir_reject_device helper function

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

a508cc42 09/11/2012 08:43 am Hans de Goede

usb-redir: Ensure our peer has the necessary caps when redirecting to XHCI

In order for redirection to work properly when redirecting to an emulated
XHCI controller, the usb-redir-host must support both
usb_redir_cap_ep_info_max_packet_size and usb_redir_cap_64bits_ids,...

6c67446a 09/11/2012 08:43 am Hans de Goede

usb-redir: Enable pipelining for bulk endpoints

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

2964cd9b 09/11/2012 08:43 am Samuel Thibault

Better name usb braille device

Windows users need to know that they have to use the Baum driver to make
the qemu braille device work.

Signed-off-by: Samuel Thibault <>
Signed-off-by: Gerd Hoffmann <>

2bbd086c 09/11/2012 08:43 am Gerd Hoffmann

usb-audio: fix usb version

usb-audio is a full speed (1.1) device,
but bcdUSB claims it is usb 2.0. Fix it.

Signed-off-by: Gerd Hoffmann <>

331e9406 09/11/2012 08:43 am Gerd Hoffmann

xhci: rip out background transfer code

original xhci code (the one which used libusb directly) used to use
'background transfers' for iso streams. In upstream qemu the iso
stream buffering is handled by usb-host & usb-redir, so we will
never ever need this. It has been left in as reference, but is dead...

c13a9e61 09/11/2012 08:42 am Hans de Goede

usb-core: Add a usb_ep_find_packet_by_id() helper function

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

9c1f6765 09/11/2012 08:42 am Hans de Goede

usb-core: Allow the first packet of a pipelined ep to complete immediately

This can happen with usb-redir live-migration when the packet gets re-queued
after the migration and the original queuing from the migration source side
has already finished.

Signed-off-by: Hans de Goede <>...

66f092d2 09/11/2012 08:42 am Hans de Goede

Revert "ehci: don't flush cache on doorbell rings."

This reverts commit 9bc3a3a216e2689bfcdd36c3e079333bbdbf3ba0, which got
added to fix an issue where the real, underlying cause was not stopping
the ep queue on an error.

Now that the underlying cause is fixed by the "usb: Halt ep queue and...

dafe31fc 09/11/2012 08:42 am Hans de Goede

ehci: Validate qh is not changed unexpectedly by the guest

-combine the qh check with the check for devaddr changes
-also ensure that p gets set to NULL when the queue gets cancelled on
devaddr change, which was not done properly before this patch

Signed-off-by: Hans de Goede <>

522079dd 09/11/2012 08:42 am Hans de Goede

ehci: Update copyright headers to reflect recent work

Update copyright headers to reflect all the work Gerd and I have been doing
on the EHCI emulation.

Signed-off-by: Hans de Goede <>

0e795352 09/11/2012 08:42 am Hans de Goede

ehci: Properly cleanup packets on cancel

Signed-off-by: Hans de Goede <>

4b63a0df 09/11/2012 08:42 am Hans de Goede

ehci: Properly report completed but not yet processed packets to the guest

Reported packets which have completed before being cancelled as such to the
host. Note that the new code path this patch adds is untested since it I've
been unable to actually trigger the race which needs this code path....

616789cd 09/11/2012 08:42 am Gerd Hoffmann

ehci: check for EHCI_ASYNC_FINISHED first in ehci_free_packet

Otherwise we'll see the packet free twice in the trace log even though
it actually happens only once.

Signed-off-by: Gerd Hoffmann <>

5c514681 09/11/2012 08:42 am Gerd Hoffmann

ehci: trace guest bugs

make qemu_queue_{cancel,reset} return the number of packets released,
so the caller can figure whenever there have been active packets even
though there shouldn't have been any. Add tracepoint to log this.

Signed-off-by: Gerd Hoffmann <>

1defcbd1 09/11/2012 08:42 am Gerd Hoffmann

ehci: add doorbell trace events

Signed-off-by: Gerd Hoffmann <>

3a8ca08e 09/11/2012 08:42 am Hans de Goede

ehci: Add some additional ehci_trace_guest_bug() calls

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

ef5b2344 09/11/2012 08:42 am Hans de Goede

ehci: Fix memory leak in handling of NAK-ed packets

Currently each time we try to execute a NAK-ed packet we redo
ehci_init_transfer, and usb_packet_map, re-allocing (without freeing) the
sg list every time.

This patch fixes this, it does this by introducing another async state, so...

eff6dce7 09/11/2012 08:42 am Hans de Goede

ehci: Handle USB_RET_PROCERR in ehci_fill_queue

USB_RET_PROCERR can be triggered by the guest (by for example requesting more
then BUFFSIZE bytes), so don't assert on it.

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

cf1f8169 09/11/2012 08:42 am Hans de Goede

ehci: Correct a comment in fetchqtd packet processing

Since my previous comment said "Should never happen", I tried changing the
next line to an assert(0), which did not go well, which as the new comments
explains is logical if you think about it for a moment....

18113340 09/11/2012 08:42 am Hans de Goede

usb-redir: Never return USB_RET_NAK for async handled packets

USB_RET_NAK is not a valid response for async handled packets (and will
trigger an assert as such).

Also drop the warning when receiving a status of cancelled for packets not
cancelled by qemu itself, this can happen when a device gets unredirected...

45b339b1 09/11/2012 08:42 am Hans de Goede

usb: controllers do not need to check for babble themselves

If an (emulated) usb-device tries to write more data to a packet then
its iov len, this will trigger an assert in usb_packet_copy(), and if
a driver somehow circumvents that check and writes more data to the...

cc409974 09/11/2012 08:42 am Hans de Goede

usb-core: Don't set packet state to complete on a nak

This way the hcd can re-use the same packet to retry without needing
to re-init it.

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

adf47834 08/31/2012 04:47 pm Hans de Goede

ehci: Fix interrupt endpoints no longer working

One of the recent changes (likely the addition of queuing support) has broken
interrupt endpoints, this patch fixes this.

Signed-off-by: Hans de Goede <>

347e40ff 08/31/2012 04:47 pm Gerd Hoffmann

uas: move transfer kickoff

Kick next scsi transfer from request release callback instead of command
completion callback, otherwise we might get stuck in case scsi_req_unref()
doesn't release the request instantly due to someone else holding a
reference too....

287fd3f1 08/31/2012 04:47 pm Gerd Hoffmann

ehci: handle TD deactivation of inflight packets

Check the TDs of inflight packets, cancel
packets in case the guest clears the active bit.

Signed-off-by: Gerd Hoffmann <>

574ef171 08/31/2012 01:02 pm Hans de Goede

ehci: simplify ehci_state_executing

ehci_state_executing does not need to check for p->usb_status == USB_RET_ASYNC
or USB_RET_PROCERR, since ehci_execute_complete already does a similar check
and will trigger an assert if either value is encountered.

USB_RET_ASYNC should never be the packet status when execute_complete runs...

c7cdca3b 08/31/2012 01:02 pm Gerd Hoffmann

ehci: add ehci_cancel_queue()

Factor out function to cancel all packets of a queue.
No behavior change.

Signed-off-by: Gerd Hoffmann <>

a1c3e4b8 08/31/2012 12:58 pm Hans de Goede

ehci: Schedule async-bh when IAAD bit gets set

After the "ehci: Print a warning when a queue unexpectedly contains packets
on cancel" commit. Under certain reproducable conditions I was getting the
following message: "EHCI: Warning queue not empty on queue reset"....

53dd6f70 08/31/2012 12:58 pm Hans de Goede

ehci: Remove unnecessary ehci_flush_qh call

ehci_qh_do_overlay() already calls ehci_flush_qh() before it returns, calling
it twice is useless.

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

7ce86aa1 08/31/2012 12:57 pm Hans de Goede

ehci: Fix NULL ptr deref when unplugging an USB dev with an iso stream active

Signed-off-by: Hans de Goede <>

e983395d 08/31/2012 12:57 pm Gerd Hoffmann

usb: unique packet ids

This patch adds IDs to usb packets. Those IDs are (a) supposed to be
unique for the lifecycle of a packet (from packet setup until the packet
is either completed or canceled) and (b) stable across migration.

uhci, ohci, ehci and xhci use the guest physical address of the transfer...

0132b4b6 08/31/2012 12:55 pm Hans de Goede

usb: Halt ep queue en cancel pending packets on a packet error

For controllers which queue up more then 1 packet at a time, we must halt the
ep queue, and inside the controller code cancel all pending packets on an
error.

There are multiple reasons for this:...

47d073cc 08/16/2012 12:48 pm Hans de Goede

ehci: Fix setting of halt bit from usbcmd register updates

This fixes linux guests started without any USB devices not seeing newly
plugged devices until "lsusb" is done inside the guest.

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

6d3b6d3d 08/16/2012 09:39 am Gerd Hoffmann

ehci: fix Interrupt Threshold Control implementation

First, not all interrupts are subject to Interrupt Threshold Control,
some of them must be delivered without delay.

Second, Interrupt Threshold Control state must be part of vmstate,
otherwise we might loose IRQs on migration....

c19537a1 08/16/2012 09:39 am Gerd Hoffmann

usb: async control xfer fixup

Need to clear p->result after copying setup data using usb_packet_copy()
because we'll reuse the USBPacket for the data transfer.

Signed-off-by: Gerd Hoffmann <>

0daf5304 08/16/2012 09:39 am Gerd Hoffmann

usb: update uas product id

Pick other product id to fix clash with audio.

Current usage list (after applying this patch):

46f4:0001 -- usb-storage
46f4:0002 -- usb-audio
46f4:0003 -- usb-uas

Signed-off-by: Gerd Hoffmann <>

df6839c7 08/15/2012 05:18 pm Alejandro Martinez Ruiz

ehci: fix assertion typo

Signed-off-by: Alejandro Martinez Ruiz <>
Reviewed-by: Andreas Färber <>
Signed-off-by: Stefan Hajnoczi <>

06f9847d 08/07/2012 11:49 am Gerd Hoffmann

usb-storage: improve debug logging

Signed-off-by: Gerd Hoffmann <>

54414218 08/07/2012 11:49 am Gerd Hoffmann

usb-storage: fix SYNCHRONIZE_CACHE

Commit 59310659073d85745854f2f10c4292555c5a1c51 is incomplete,
we'll arrive in the scsi command complete callback in CSW state
and must handle that case correctly.

Signed-off-by: Gerd Hoffmann <>

4e68f7a0 08/01/2012 03:32 pm Stefan Hajnoczi

net: Rename VLANClientState to NetClientState

The vlan feature is no longer part of net core. Rename VLANClientState
to NetClientState because net clients are not explicitly associated with
a vlan at all, instead they have a peer net client to which they are...

b20c6b9e 08/01/2012 03:32 pm Stefan Hajnoczi

net: Rename qemu_del_vlan_client() to qemu_del_net_client()

Another step in moving the vlan feature out of net core. Users only
deal with NetClientState and therefore qemu_del_vlan_client() should be
named qemu_del_net_client().

Signed-off-by: Stefan Hajnoczi <>...

5e59b024 07/29/2012 05:05 pm Michael S. Tsirkin

Merge branch pci into master

Merge master and pci branch, resolve build breakage in hw/esp.c
introduced by f90c2bcd.

Conflicts:
hw/esp.c

2be64a68 07/23/2012 01:55 pm Laszlo Ersek

hw, net: "net_client_type" -> "NetClientOptionsKind" (qapi-generated)

NET_CLIENT_TYPE_ -> NET_CLIENT_OPTIONS_KIND_

Signed-off-by: Laszlo Ersek <>
Signed-off-by: Stefan Hajnoczi <>

dfe1ce5d 07/18/2012 10:44 pm Anthony Liguori

Merge remote-tracking branch 'kwolf/for-anthony' into staging

  • kwolf/for-anthony: (41 commits)
    fdc-test: Clean up a bit
    fdc-test: introduce test_relative_seek
    fdc: fix relative seek
    qemu-iotests: Valgrind support
    coroutine-ucontext: Help valgrind understand coroutines...
911525db 07/17/2012 05:48 pm Markus Armbruster

hw/block-common: Factor out fall back to legacy -drive serial=...

Signed-off-by: Markus Armbruster <>
Signed-off-by: Kevin Wolf <>

75f151cd 07/12/2012 04:00 pm Gerd Hoffmann

uhci: initialize expire_time when loading v1 vmstate

$subject says all: when loading old (v1) vmstate which doesn't contain
expire_time initialize it with a reasonable default (current time).

Signed-off-by: Gerd Hoffmann <>

f0ad01f9 07/12/2012 04:00 pm Gerd Hoffmann

ehci: raise irq in the frame timer

With the async schedule being kicked from other places than the frame
timer (commit 0f588df8b3688b00e77aabaa32e26ece5f19bd39) it may happen
that we call ehci_commit_interrupt() more than once per frame.

Move the call from the async schedule handler to the frame timer to...

7efc17af 07/12/2012 04:00 pm Gerd Hoffmann

ehci: implement Interrupt Threshold Control support

Also reorganize and comment the irq functions while being at it.

Signed-off-by: Gerd Hoffmann <>

afb7a0b8 07/12/2012 04:00 pm Gerd Hoffmann

ehci: improve expire time calculation

Move down the expire time calculation down in the frame timer, to the
point where the timer is actually reloaded. This way we'll notice any
async_stepdown changes (especially resetting to 0 due to usb activity).

Signed-off-by: Gerd Hoffmann <>

0f58f68b 07/12/2012 04:00 pm Gerd Hoffmann

usb: add usb attached scsi emulation

$subject says all. First cut.

It's a pure UAS (usb attached scsi) emulation, without BOT (bulk-only
transport) compatibility. If your guest can't handle it use usb-storage
instead.

The emulation works like any other scsi hba emulation (eps, lsi, virtio,...

23797df3 07/09/2012 08:35 pm Anthony Liguori

Merge remote-tracking branch 'mjt/mjt-iov2' into staging

  • mjt/mjt-iov2:
    rewrite iov_send_recv() and move it to iov.c
    cleanup qemu_co_sendv(), qemu_co_recvv() and friends
    export iov_send_recv() and use it in iov_send() and iov_recv()
    rename qemu_sendv to iov_send, change proto and move declarations to iov.h...
7c37e6a4 07/09/2012 12:59 pm Gerd Hoffmann

usb: fix interface initialization

zero is a valid interface number, so don't use it when resetting the
endpoints.

Signed-off-by: Gerd Hoffmann <>

c32da151 07/09/2012 12:59 pm Gerd Hoffmann

usb-host: add trace events for iso xfers

Replace iso transfer fprintf's with trace points. Also rename existing
tracepoints so they all match usb_host_iso_*.

Signed-off-by: Gerd Hoffmann <>

7341ea07 07/09/2012 12:59 pm Hans de Goede

usb-ehci: Fix an assert whenever isoc transfers are used

hcd-ehci.c is missing an usb_packet_init() call for the ipacket UsbPacket
it uses for isoc transfers, triggering an assert (taking the entire vm down)
in usb_packet_setup as soon as any isoc transfers are done by a high speed...

37952117 07/09/2012 12:59 pm Hans de Goede

ehci: Kick async schedule on wakeup in the non companion case

Commit 0f588df8b3688b00e77aabaa32e26ece5f19bd39, added code
to ehci_wakeup to kick the async schedule on wakeup, but the else
was positioned wrong making it trigger for devices which are routed...

adae502c 07/09/2012 12:59 pm Hans de Goede

usb-redir: Correctly handle the usb_redir_babble usbredir status

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

19deaa08 07/09/2012 12:59 pm Gerd Hoffmann

usb: split endpoint init and reset

Create a new usb_ep_reset() function to reset endpoint state, without
re-initialiting the queues, so we don't unlink in-flight packets just
because usb-host has to re-parse the descriptor tables.

Signed-off-by: Gerd Hoffmann <>

9bc3a3a2 07/09/2012 12:59 pm Gerd Hoffmann

ehci: don't flush cache on doorbell rings.

Commit 4be23939ab0d7019c7e59a37485b416fbbf0f073 makes ehci instantly
zap any unlinked queue heads when the guest rings the doorbell.

While hacking up uas support this turned out to be a problem. The linux
kernel can unlink and instantly relink the very same queue head, thereby...

a5e0139a 07/09/2012 10:57 am Gerd Hoffmann

ehci: fix ehci_qh_do_overlay

Use ehci_flush_qh to make sure we touch inly the fields the hc is
allowed to touch.

Signed-off-by: Gerd Hoffmann <>

4ed1c57a 07/09/2012 10:57 am Gerd Hoffmann

ehci: fix td writeback

Only write back the dwords the hc is supposed to update. Should not
make a difference in theory as the guest must not touch the td while
it is active to avoid races. But it is still more correct.

Signed-off-by: Gerd Hoffmann <>

f90c2bcd 07/04/2012 03:52 pm Alex Williamson

pci: convert PCIUnregisterFunc to void

Not a single driver has any possibility of failure on their
exit function, let's keep it that way.

Signed-off-by: Alex Williamson <>
Signed-off-by: Michael S. Tsirkin <>

9ac6a217 06/28/2012 12:33 am David Gibson

usb-ohci: Use universal DMA helper functions

The OHCI device emulation can provide both PCI and SysBus OHCI
implementations. Because of this, it was not previously converted to
use the PCI DMA helper functions.

This patch converts it to use the new universal DMA helper functions....

e2f89926 06/28/2012 12:33 am David Gibson

usb: Convert usb_packet_{map, unmap} to universal DMA helpers

The USB UHCI and EHCI drivers were converted some time ago to use the
pci_dma_*() helper functions. However, this conversion was not complete
because in some places both these drivers do DMA via the usb_packet_map()...

9a773408 06/20/2012 03:46 pm Gerd Hoffmann

ehci: add live migration support

Signed-off-by: Gerd Hoffmann <>

495d5447 06/20/2012 03:46 pm Gerd Hoffmann

usb: restore USBDevice->attached on vmload

Signed-off-by: Gerd Hoffmann <>

30e9d412 06/20/2012 03:46 pm Gerd Hoffmann

ehci: tracing improvements

Signed-off-by: Gerd Hoffmann <>

a844ed84 06/20/2012 03:46 pm Gerd Hoffmann

usb-host: attach only to running guest

Signed-off-by: Gerd Hoffmann <>

a229c053 06/20/2012 03:46 pm Gerd Hoffmann

usb-host: live migration support

Signed-off-by: Gerd Hoffmann <>

77fa9aee 06/20/2012 03:46 pm Gerd Hoffmann

uhci: fix uhci_async_cancel_all

We update the QTAILQ in the loop, thus we must use the SAFE version
to make sure we don't touch the queue struct after freeing it.

https://bugzilla.novell.com/show_bug.cgi?id=766310

Signed-off-by: Gerd Hoffmann <>

93bfef4c 06/19/2012 09:36 pm Crístian Viana

Allow machines to configure the QEMU_VERSION that's exposed via hardware

QEMU exposes its version to the guest's hardware and in some cases that is wrong
(e.g. Windows prints messages about driver updates when you switch
the QEMU version).
There is a new field now on the struct QEmuMachine, hw_version, which may...

09e5ab63 06/18/2012 04:14 pm Anthony Liguori

qdev: Use wrapper for qdev_get_path

This makes it easier to remove it from BusInfo.

Signed-off-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>
[AF: Drop now unnecessary NULL initialization in scsibus_get_dev_path()]...

0d936928 06/18/2012 04:14 pm Anthony Liguori

qdev: Convert busses to QEMU Object Model

This is far less interesting than it sounds. We simply add an Object to each
BusState and then register the types appropriately. Most of the interesting
refactoring will follow in the next patches.

Since we're changing fundamental type names (BusInfo -> BusClass), it all needs...

3cb75a7c 06/18/2012 04:14 pm Paolo Bonzini

qdev: Move bus properties to a separate global

Simple code movement in order to simplify future refactoring.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Andreas Färber <>

bce54474 06/18/2012 04:14 pm Paolo Bonzini

qdev: Move bus properties to abstract superclasses

In qdev, each bus in practice identified an abstract superclass, but
this was mostly hidden. In QOM, instead, these abstract classes are
explicit so we can move bus properties there.

All bus property walks are removed, and all device property walks...

39cde845 06/11/2012 08:07 pm Anthony Liguori

Merge remote-tracking branch 'kraxel/usb.52' into staging

  • kraxel/usb.52: (37 commits)
    ehci: rework frame skipping
    ehci: adaptive wakeup rate.
    ehci: create ehci_update_frindex
    ehci: remove unused attach_poll_counter
    ehci: fix halt status handling...
dcf6f5e1 06/07/2012 07:43 pm Michael Tokarev

change iov_* function prototypes to be more appropriate

Reorder arguments to be more natural, readable and
consistent with other iov_* functions, and change
argument names, from:
iov_from_buf(iov, iov_cnt, buf, iov_off, size)
to
iov_from_buf(iov, iov_cnt, offset, buf, bytes)...

863b4741 06/07/2012 11:02 am Gerd Hoffmann

ehci: remove unused attach_poll_counter

Signed-off-by: Gerd Hoffmann <>

6ceced0b 06/07/2012 11:02 am Gerd Hoffmann

ehci: create ehci_update_frindex

Factor out code from ehci_frame_timer.

Signed-off-by: Gerd Hoffmann <>

3a215326 06/07/2012 11:02 am Gerd Hoffmann

ehci: adaptive wakeup rate.

Adapt the frame timer sleeps according to the actual needs. With the
periodic schedule being active we'll have to wakeup 1000 times per
second and go check for work. In case only the async schedule is active
we can be more lazy though. When idle ehci will increate the sleep time...

f020ed36 06/07/2012 11:02 am Gerd Hoffmann

ehci: rework frame skipping

Move the framecount check out of the loop and use the new
ehci_update_frindex function to skip frames if needed.

Signed-off-by: Gerd Hoffmann <>