Statistics
| Branch: | Revision:

root @ ab034c26

# Date Author Comment
d85ba787 06/15/2012 02:08 pm Peter A. G. Crosthwaite

xilinx_axidma: (un)reversed irq initialisation

The axidma irq orders are reversed in both the device model and the instantion.
Undid both reversal (for no net change). Also needs to be reversed for
consistency with Xilinx tools IRQ listing.

Signed-off-by: Peter A. G. Crosthwaite <>...

23d6055e 06/15/2012 02:08 pm Peter A. G. Crosthwaite

xilinx_uartlite: changed device name

Changed device name to xlnx,xps-uartlite. This is the exact name of the device
in the xilinx EDK development tools.

Signed-off-by: Peter A. G. Crosthwaite <>
Signed-off-by: Edgar E. Iglesias <>

8d4eb373 06/15/2012 02:08 pm Peter A. G. Crosthwaite

xilinx_timer: added default frequency

Added a reasonable default frequency for the xilinx timer (the 62MHz from
s3adsp machine model).

Signed-off-by: Peter A. G. Crosthwaite <>
Signed-off-by: Edgar E. Iglesias <>

abe098e4 06/15/2012 02:08 pm Peter A. G. Crosthwaite

xilinx_timer: changed nr_timers to one_timer_only

The configurable property for this IP in the Xilinx tools is a boolean switch
"one-timer-only" that flicks this timer from being dual channel to single.
Updated QEMU to work the same way for better match with the IP core and its TRM....

a61e4b07 06/15/2012 02:08 pm Peter A. G. Crosthwaite

xilinx_timer: changed device name

Changed device name to xlnx,xps-timer. This is the exact name of the device
in the xilinx EDK development tools.

Signed-off-by: Peter A. G. Crosthwaite <>
Signed-off-by: Edgar E. Iglesias <>

24739ab4 06/15/2012 02:08 pm Peter A. G. Crosthwaite

xilinx_intc: changed device name

Changed device name to xlnx,xps-intc. This is the exact name of the device
in the xilinx EDK development tools.

Signed-off-by: Peter A. G. Crosthwaite <>
Signed-off-by: Edgar E. Iglesias <>

b2d85c34 06/15/2012 02:08 pm Peter A. G. Crosthwaite

xilinx_ethlite: tweaked naming of ping-pong props

Changed "txpingpong" prop to "tx-ping-pong". Same for rx. This is done to
make the property name exactly match what is output by the xilinx tools for
this IP.

Signed-off-by: Peter A. G. Crosthwaite <>...

7f4d6755 06/15/2012 02:08 pm Peter A. G. Crosthwaite

xilinx_ethlite: changed device name

Changed device name to xlnx,xps-ethernetlite. This is the exact name of the
device in the xilinx EDK development tools.

Signed-off-by: Peter A. G. Crosthwaite <>
Signed-off-by: Edgar E. Iglesias <>

ab034c26 06/15/2012 02:08 pm Peter A. G. Crosthwaite

xilinx_axienet: droped the c_ on parameters

Even though the xilinx tools do have C_ on all params by default, drop this
for consistency with all the other xilinx IP (I.E. param names are the xilinx
names without the C_ prefix)

Signed-off-by: Peter A. G. Crosthwaite <>...

07f9fd48 06/15/2012 01:44 pm Andreas Färber

xilinx_axi*: Share devices between microblaze and microblazeel

Speeds up the build.

Signed-off-by: Andreas Färber <>
Signed-off-by: Edgar E. Iglesias <>

9bbfbb61 06/15/2012 01:44 pm Andreas Färber

hw/xilinx_*: Share Xilinx devices between ppc and microblaze

Speeds up the build.

xilinx_ethlite uses tswap32() and is thus target-dependent.

Signed-off-by: Andreas Färber <>
Signed-off-by: Edgar E. Iglesias <>

3b823210 06/15/2012 01:44 pm Andreas Färber

qemu-log: Allow usage in libhw

Add #ifdef to avoid complaint about use of poisoned "env".

Signed-off-by: Blue Swirl <>
Signed-off-by: Andreas Färber <>
Signed-off-by: Edgar E. Iglesias <>

f756c7a7 06/14/2012 04:29 pm Edgar E. Iglesias

cris: Add break support for v10.

Still no retb

Signed-off-by: Edgar E. Iglesias <>

7677e24f 06/11/2012 08:15 pm Anthony Liguori

Merge remote-tracking branch 'qemu-kvm/uq/master' into staging

  • qemu-kvm/uq/master:
    kvm: i8254: Fix conversion of in-kernel to userspace state
    kvm/apic: correct short memset
3525c42f 06/11/2012 08:15 pm Anthony Liguori

Merge remote-tracking branch 'stefanha/trivial-patches' into staging

  • stefanha/trivial-patches:
    configure: report missing libraries for virtfs
    trace/simple.c: fix deprecated glib2 interface
    Clarify comments of tb_invalidate_phys_[page_]range
df332191 06/11/2012 08:15 pm Anthony Liguori

Merge remote-tracking branch 'afaerber-or/qom-next-1' into staging

  • afaerber-or/qom-next-1:
    target-i386: Use uint32 visitor for [x]level properties
    qdev: Remove PropertyInfo range checking
    qdev: Switch property accessors to fixed-width visitor interfaces...
e4d40816 06/11/2012 08:15 pm Anthony Liguori

Merge remote-tracking branch 'afaerber-or/qom-cpu-3a' into staging

  • afaerber-or/qom-cpu-3a: (27 commits)
    target-s390x: Pass S390CPU to s390_cpu_restart()
    s390-virtio: Let s390_cpu_addr2state() return S390CPU
    s390-virtio: Use cpu_s390x_init() to obtain S390CPU...
248bfdc9 06/11/2012 08:15 pm Anthony Liguori

Merge remote-tracking branch 'sstabellini/for_1.1.1' into staging

  • sstabellini/for_1.1.1:
    qemu/xendisk: set maximum number of grants to be used
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...
0cdd3d14 06/11/2012 02:18 pm Jan Kiszka

kvm: i8254: Fix conversion of in-kernel to userspace state

Due to a offset between the clock used to generate the in-kernel
count_load_time (CLOCK_MONOTONIC) and the clock used for processing this
in userspace (vm_clock), reading back the output of PIT channel 2 via...

64c27e5b 06/11/2012 01:06 pm Jan Beulich

qemu/xendisk: set maximum number of grants to be used

Legacy (non-pvops) gntdev drivers may require this to be done when the
number of grants intended to be used simultaneously exceeds a certain
driver specific default limit.

Signed-off-by: Jan Beulich <>...

0614cb82 06/11/2012 12:57 pm Jim Meyering

kvm/apic: correct short memset

kvm_put_apic_state's attempt to clear kapic before setting its
bits cleared sizeof(void
) bytes (no more than 8) rather than the
intended 1024 (KVM_APIC_REG_SIZE) bytes. Spotted by coverity.

Signed-off-by: Jim Meyering <>...

3edb8f92 06/11/2012 01:23 am Andreas Färber

target-s390x: Pass S390CPU to s390_cpu_restart()

Needed for qemu_cpu_kick().

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

393a9eab 06/11/2012 01:23 am Andreas Färber

integratorcp: Use cpu_arm_init() to obtain ARMCPU

Needed for arm_load_kernel().

Add missing braces.

Signed-off-by: Andreas Färber <>
Acked-by: Peter Maydell <>

f25608e9 06/11/2012 01:23 am Andreas Färber

musicpal: Use cpu_arm_init() to obtain ARMCPU

Needed for arm_load_kernel().

Signed-off-by: Andreas Färber <>
Acked-by: Peter Maydell <>

20e93374 06/11/2012 01:23 am Andreas Färber

versatilepb: Use cpu_arm_init() to obtain ARMCPU

Needed for arm_load_kernel().

Signed-off-by: Andreas Färber <>
Acked-by: Peter Maydell <>

9543b0cd 06/11/2012 01:23 am Andreas Färber

arm_boot: Pass ARMCPU to arm_boot_info::write_secondary_boot()

Adapt exynos4210 and highbank accordingly.
The parameter itself is unused.

Signed-off-by: Andreas Färber <>
Acked-by: Peter Maydell <>
Acked-by: Igor Mitsyanko <> (for exynos)

5d309320 06/11/2012 01:23 am Andreas Färber

arm_boot: Pass ARMCPU to arm_boot_info::secondary_cpu_reset_hook()

Adapt highbank accordingly.

Signed-off-by: Andreas Färber <>
Acked-by: Peter Maydell <>

9077f01b 06/11/2012 01:23 am Andreas Färber

realview: Use cpu_arm_init() to obtain ARMCPU

Needed for arm_pic_init_cpu().

Signed-off-by: Andreas Färber <>
Acked-by: Peter Maydell <>

64c9e297 06/11/2012 01:23 am Andreas Färber

vexpress: Use cpu_arm_init() to obtain ARMCPU

Needed for arm_pic_init_cpu().

Signed-off-by: Andreas Färber <>
Acked-by: Peter Maydell <>

ef6cbcc5 06/11/2012 01:23 am Andreas Färber

exynos4210: Use cpu_arm_init() to store ARMCPU

Needed for arm_pic_init_cpu().

Signed-off-by: Andreas Färber <>
Acked-by: Peter Maydell <>
Acked-by: Igor Mitsyanko <>

f161bcd0 06/11/2012 01:23 am Andreas Färber

pxa2xx: Pass ARMCPU to pxa2xx_pic_init()

Cleans up after storing ARMCPU in PXA2xxState.
Prepares for storing ARMCPU in PXA2xxPICState.

Signed-off-by: Andreas Färber <>
Acked-by: Peter Maydell <>

e9d872cf 06/11/2012 01:23 am Andreas Färber

pxa2xx_pic: Store ARMCPU in PXA2xxPICState

Prepares for moving halted field to CPUState.

Add missing braces.

Signed-off-by: Andreas Färber <>
Acked-by: Peter Maydell <>

95d42bb5 06/11/2012 01:23 am Andreas Färber

pxa2xx_gpio: Store ARMCPU in PXA2xxGPIOInfo

Prepares for moving halted field into CPUState.

Add missing braces.

Signed-off-by: Andreas Färber <>
Acked-by: Peter Maydell <>

17c2f0bf 06/11/2012 01:23 am Andreas Färber

xilinx_zynq: Use cpu_arm_init() to obtain ARMCPU

Needed for arm_load_kernel().

Signed-off-by: Andreas Färber <>
Acked-by: Peter A.G. Crosthwaite <>

3aaa8dfa 06/11/2012 01:23 am Andreas Färber

arm_boot: Pass ARMCPU to arm_load_kernel()

In particular this simplifies the &s->mpu->cpu->env expression again.

first_cpu and ->next_cpu are expected to be QOM'ified later.

Signed-off-by: Andreas Färber <>
Acked-by: Igor Mitsyanko <> (for exynos)...

4bd74661 06/11/2012 01:23 am Andreas Färber

arm_pic: Pass ARMCPU to arm_pic_init_cpu()

Pass it through to arm_pic_cpu_handler().

Signed-off-by: Andreas Färber <>
Acked-by: Peter Maydell <>
Acked-by: Igor Mitsyanko <> (for exynos)

a0595d9e 06/11/2012 01:23 am Andreas Färber

xen_machine_pv: Use cpu_x86_init() to obtain X86CPU

Needed for moving halted field to CPUState.

Signed-off-by: Andreas Färber <>
Tested-by: Stefano Stabellini <>

564b863d 06/11/2012 01:23 am Andreas Färber

target-s390x: Let cpu_s390x_init() return S390CPU

Let cpu_init() return CPUS390XState for backwards compatibility.

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

6fc150de 06/11/2012 01:23 am Andreas Färber

s390-virtio: Use cpu_s390x_init() to obtain S390CPU

Needed to store S390CPU in ipi_states[].

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

45fa769b 06/11/2012 01:23 am Andreas Färber

s390-virtio: Let s390_cpu_addr2state() return S390CPU

Convert ipi_states to S390CPU**.

Needed for s390_cpu_restart() in handle_sigp().

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

518ec134 06/11/2012 01:23 am Andreas Färber

nseries: Rename n800_s::cpu to mpu

omap_mpu_state_s::env was renamed to cpu while changing its type.
With n800_s::cpu of type omap_mpu_state_s* this leads to s->cpu->cpu.

Rename the field to "mpu" to avoid this ugliness.

Signed-off-by: Andreas Färber <>...

59b91996 06/11/2012 01:23 am Andreas Färber

omap_sx1: Rename omap_mpu_state_s variable

Avoid cpu->cpu by using "mpu" as variable name.

Signed-off-by: Andreas Färber <>
Acked-by: Peter Maydell <>

f1eea068 06/11/2012 01:23 am Andreas Färber

palm: Rename omap_mpu_state_s variable

Avoid cpu->cpu by using "mpu" as variable name.

Signed-off-by: Andreas Färber <>
Acked-by: Peter Maydell <>

1c88de67 06/11/2012 01:23 am Andreas Färber

mainstone: Rename PXA2xxState variable

Avoid cpu->cpu by using "mpu" as variable name.

Signed-off-by: Andreas Färber <>
Acked-by: Peter Maydell <>

2e7ad760 06/11/2012 01:23 am Andreas Färber

spitz: Rename PXA2xxState variable

Avoid cpu->cpu by using "mpu" as variable name.

Signed-off-by: Andreas Färber <>
Acked-by: Peter Maydell <>

8efa35e0 06/11/2012 01:23 am Andreas Färber

tosa: Rename PXA2xxState variable

Avoid cpu->cpu by using "mpu" as variable name.

Signed-off-by: Andreas Färber <>
Acked-by: Peter Maydell <>

5c6f4f17 06/11/2012 01:23 am Andreas Färber

z2: Rename PXA2xxState variable

Avoid cpu->cpu by using "mpu" as variable name.

Signed-off-by: Andreas Färber <>
Acked-by: Peter Maydell <>

8bf502e2 06/11/2012 01:23 am Andreas Färber

strongarm: Use cpu_arm_init() to store ARMCPU in StrongARMState

Adapt collie accordingly.

Signed-off-by: Andreas Färber <>
Acked-by: Peter Maydell <>

dbaf26b3 06/10/2012 11:29 pm Blue Swirl

Revert "build: compile oslib-obj-y once"

This reverts commit 25f27a4f7160d077d6992e811021b4bc3a82abc1
because of bsd-user breakage.

Signed-off-by: Blue Swirl <>

f492b82d 06/10/2012 11:09 pm Max Filippov

target-xtensa: switch to AREG0-free mode

Add env parameter to every helper function that needs it, update
'configure' script.

Signed-off-by: Max Filippov <>
Signed-off-by: Blue Swirl <>

e8de1ea8 06/10/2012 11:09 pm Max Filippov

target-xtensa: add attributes to helper functions

Mark exception generating functions 'noreturn' and pure constant
functions as such.

Signed-off-by: Max Filippov <>
Signed-off-by: Blue Swirl <>

9ed3a188 06/10/2012 11:09 pm Peter Portante

target-xtensa: remove unnecessary include of dyngen-exec.h

Signed-off-by: Peter Portante <>
Signed-off-by: Max Filippov <>
Signed-off-by: Blue Swirl <>

d865f307 06/09/2012 01:49 pm Max Filippov

target-xtensa: fix CCOUNT for conditional branches

Taken conditional branches fail to update CCOUNT register because
accumulated ccount_delta is reset during translation of non-taken
branch. To fix it only update CCOUNT once per conditional branch
instruction translation....

9d70c4b7 06/09/2012 01:49 pm Max Filippov

exec: fix TB invalidation after breakpoint insertion/deletion

tb_invalidate_phys_addr has to be called with the exact physical address of
the breakpoint we add/remove, not just the page's base address.
Otherwise we easily fail to flush the right TB.

This breakage was introduced by the commit f3705d5329 "memory: make...

e323bdef 06/09/2012 01:45 pm Max Filippov

target-xtensa: flush TLB page for new MMU mapping

Both old and new mappings need flushing because their VPN may be
different in MMU case.

Signed-off-by: Max Filippov <>
Signed-off-by: Blue Swirl <>

39e7d37f 06/09/2012 01:45 pm Max Filippov

target-xtensa: update EXCVADDR in case of page table lookup

According to ISA, 4.4.2.6, EXCVADDR may be changed by any TLB miss, even
if the miss is handled entirely by processor hardware.

Signed-off-by: Max Filippov <>
Signed-off-by: Blue Swirl <>

16bde77a 06/09/2012 01:45 pm Max Filippov

target-xtensa: extract TLB entry setting method

Signed-off-by: Max Filippov <>
Signed-off-by: Blue Swirl <>

ae4e7982 06/09/2012 01:45 pm Max Filippov

target-xtensa: update autorefill TLB entries conditionally

This is to avoid interference of internal QEMU helpers
(cpu_get_phys_page_debug, tb_invalidate_virtual_addr) with guest-visible
TLB state.

Signed-off-by: Max Filippov <>
Signed-off-by: Blue Swirl <>

57705a67 06/09/2012 01:45 pm Max Filippov

target-xtensa: control page table lookup explicitly

Hardware pagetable walking may not be nested. Stop guessing and pass
explicit flag to the get_physical_addr_mmu function that controls page
table lookup.

Signed-off-by: Max Filippov <>...

c305e32f 06/09/2012 01:45 pm Max Filippov

target-xtensa: add MMU pagewalking tests

Signed-off-by: Max Filippov <>
Signed-off-by: Blue Swirl <>

bbbc0e24 06/09/2012 01:41 pm Stefan Weil

w32: Fix broken build (missing include file)

dump.c was recently added to the code. It unconditionally
includes sys/procfs which is not available with MinGW (w32, w64).

It looks like this file is not needed at all (tested on Linux),
so I removed it completely....

3294ce18 06/09/2012 01:30 pm Michael Tokarev

do not include <libutil.h> needlessly or if it doesn't exist

<libutil.h> and <util.h> on *BSD (some have one, some another)
were #included just for openpty() declaration. The only file
where this function is actually used is qemu-char.c.

In vl.c and net/tap-bsd.c, none of functions declared in libutil.h...

7c760cbc 06/09/2012 01:20 pm Andreas Färber

target-ppc: Unbreak kvm_ppc.c build

The file is located in target-ppc/, not hw/.

Signed-off-by: Andreas Färber <>
Cc: Paolo Bonzini <>
Cc: Anthony Liguori <>
Cc: Blue Swirl <>...

7baa8207 06/09/2012 01:18 pm Stefan Weil

dump: Fix build breakage (missing sys/procfs.h)

sys/procfs is not available everywhere (MingW does not have it).

Remove this and more unused or redundant include statements.
This fixes the broken build.

qerror.h was previously included indirectly.
Add an explicit include statement for it because it is needed....

4e27e819 06/08/2012 05:11 pm Michael Roth

qapi: Add Visitor interfaces for uint*_t and int*_t

This adds visitor interfaces for fixed-width integers types.
Implementing these in visitors is optional, otherwise we fall back to
visit_type_int() (int64_t) with some additional bounds checking to avoid...

2d496105 06/08/2012 05:11 pm Michael Roth

qapi: Unit tests for visitor-based serialization

Currently we test our visitors individually, and seperately for input
vs. output. This is useful for validating internal representations
against the native C types and vice-versa, and other visitor-specific...

173bbb75 06/08/2012 05:11 pm Michael Roth

qapi: String visitor, use %f representation for floats

Currently string-output-visitor formats floats as %g, which is nice in
that trailing 0's are automatically truncated, but otherwise this causes
some issues:

- it uses 6 significant figures instead of 6 decimal places, which...
0d30b0a2 06/08/2012 05:11 pm Michael Roth

qapi: Add String visitor coverage to serialization unit tests

Signed-off-by: Michael Roth <>
Signed-off-by: Andreas Färber <>

09f1bbcd 06/08/2012 05:11 pm Michael Roth

qdev: Use int32_t container for devfn property

Valid range for devfn is -1 to 255 (-1 for automatic assignment). We do
not currently validate this due to devfn being stored as a uint32_t.
This can lead to segfaults and other strange behavior.

We could technically just cast it to int32_t to implement the checking,...

c08fb2ac 06/08/2012 05:11 pm Michael Roth

qdev: Switch property accessors to fixed-width visitor interfaces

This introduces {get,set}_uint{8,16,32,64}() functions for the
respective qdev types.
TADDR and VLAN are switched to explicit int64, BLOCKSIZE to uint16.

Signed-off-by: Michael Roth <>...

27712df9 06/08/2012 05:11 pm Paolo Bonzini

qdev: Remove PropertyInfo range checking

Range checking in PropertyInfo is now used only for pci_devfn
properties and some error reporting. Remove all code that implements
it in the various property types, and the now unused fields.

Signed-off-by: Paolo Bonzini <>...

fa029887 06/08/2012 05:11 pm Andreas Färber

target-i386: Use uint32 visitor for [x]level properties

This simplifies the code and resolves TODOs.

Signed-off-by: Andreas Färber <>
Reviewed-by: Michael Roth <>

263ddcc8 06/08/2012 12:01 pm Harsh Prateek Bora

configure: report missing libraries for virtfs

Signed-off-by: Harsh Prateek Bora <>
Signed-off-by: Stefan Hajnoczi <>

0d665005 06/08/2012 11:32 am Harsh Prateek Bora

trace/simple.c: fix deprecated glib2 interface

Signed-off-by: Harsh Prateek Bora <>
Signed-off-by: Stefan Hajnoczi <>

8e0fdce3 06/08/2012 11:32 am Jan Kiszka

Clarify comments of tb_invalidate_phys_[page_]range

They could suggest that all TBs of the page containing the range would
be invalidated.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Stefan Hajnoczi <>

fa79c914 06/07/2012 12:21 pm Anthony Liguori

Merge remote-tracking branch 'bonzini/nested-makefiles-3' into staging

  • bonzini/nested-makefiles-3: (29 commits)
    build: do not create directories at configure time
    configure: ensure directory exists when creating symlink
    build: compile oslib-obj-y once...
083dbf48 06/07/2012 11:12 am Peter A. G. Crosthwaite

target-microblaze: fix swx build breakage

The lazy initialisation of r_check was throwing an error on --enable-debug.
Removed the lazy initialisation of r_check and swx_addr.

Signed-off-by: Peter A. G. Crosthwaite <>
Signed-off-by: Edgar E. Iglesias <>

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

ehci: add ehci_*_enabled() helpers

Add helper functions to query whenever the async / periodic schedule
is enabled or not. Put them into use too.

Signed-off-by: Gerd Hoffmann <>

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

ehci: update status bits in ehci_set_state

Update the status register in the ehci_set_state function, to make sure
the guest-visible register is in sync with our internal schedule state.

Signed-off-by: Gerd Hoffmann <>

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

ehci: fix halt status handling

When the enable bits for controller / async schedule / periodic schedule
change just make sure we kick the frame timer and let
ehci_advance_periodic_state and ehci_advance_async_state handle the
controller state changes.

This will make ehci set USBSTS_HALT when the controller shutdown is...

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 <>

0703a4a7 06/07/2012 11:02 am Gerd Hoffmann

xhci: trace: ring fetch

Signed-off-by: Gerd Hoffmann <>

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

xhci: trace: endpoints

Signed-off-by: Gerd Hoffmann <>

97df650b 06/07/2012 11:02 am Gerd Hoffmann

xhci: trace: transfers

Signed-off-by: Gerd Hoffmann <>

348f1037 06/07/2012 11:02 am Gerd Hoffmann

xhci: trace: slots

Signed-off-by: Gerd Hoffmann <>

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

ehci: add EHCIPacket

Add a separate EHCIPacket struct and move fields over from EHCIQueue.
Preparing for supporting multiple packets per queue being in flight at
the same time. No functional changes yet.

Fix some codestyle issues along the way.

Signed-off-by: Gerd Hoffmann <>

4224558f 06/07/2012 11:02 am Gerd Hoffmann

ehci: make ehci_execute work on EHCIPacket instead of EHCIQueue

This way it is possible to use ehci_execute to submit others than the
first EHCIPacket of the EHCIQueue.

Signed-off-by: Gerd Hoffmann <>

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

ehci: cache USBDevice in EHCIQueue

Keep a USBDevice pointer in EHCIQueue so we don't have to lookup the
device on each usb packet submission.

Signed-off-by: Gerd Hoffmann <>

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

ehci: move ehci_flush_qh

Move ehci_flush_qh() function up in the source code.
No code change.

Signed-off-by: Gerd Hoffmann <>

773dc9cd 06/07/2012 11:02 am Gerd Hoffmann

ehci: add queuing support

Add packet queuing. Follow the qTD chain to see if there are more
packets we can submit. Improves performance on larger transfers,
especially with usb-host, as we don't have to wait for a packet to
finish before sending the next one to the host for processing....

8f6d5e26 06/07/2012 11:02 am Gerd Hoffmann

ehci: tweak queue initialization

Little tweak for the queue initialization, set the QH address in the
allocation function.

Signed-off-by: Gerd Hoffmann <>

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

ehci: add async field to EHCIQueue

Keep track whenever a EHCIQueue is part of the async or periodic
schedule. This way we don't have to pass around the async flag
everywhere but can look it up from the EHCIQueue struct when needed.

Signed-off-by: Gerd Hoffmann <>

0fb3e299 06/07/2012 11:02 am Gerd Hoffmann

ehci: move async schedule to bottom half

This way we can kick the async schedule independant from the
periodic frame timer.

Signed-off-by: Gerd Hoffmann <>

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

ehci: schedule async bh on async packet completion

When a packet completes which happens to be part of the async schedule
kick the async bottom half for processing,

Signed-off-by: Gerd Hoffmann <>

0f588df8 06/07/2012 11:02 am Gerd Hoffmann

ehci: kick async schedule on wakeup

Kick async schedule when we get a wakeup
notification from a usb device.

Signed-off-by: Gerd Hoffmann <>

7046530c 06/07/2012 11:02 am Gerd Hoffmann

ehci: fix reset

Check for the reset bit first when processing USBCMD register writes.
Also break out of the switch, there is no need to check the other bits.

Signed-off-by: Gerd Hoffmann <>