Statistics
| Branch: | Revision:

root @ ef5b2344

Name Size
  QMP
  audio
  block
  bsd-user
  default-configs
  docs
  fpu
  fsdev
  gdb-xml
  hw
  include
  libcacard
  linux-headers
  linux-user
  net
  pc-bios
  qapi
  qga
  qom
  roms
  scripts
  slirp
  sysconfigs
  target-alpha
  target-arm
  target-cris
  target-i386
  target-lm32
  target-m68k
  target-microblaze
  target-mips
  target-openrisc
  target-ppc
  target-s390x
  target-sh4
  target-sparc
  target-unicore32
  target-xtensa
  tcg
  tests
  trace
  ui
.exrc 220 Bytes
.gitignore 1.3 kB
.gitmodules 602 Bytes
.mailmap 1.2 kB
CODING_STYLE 3.1 kB
COPYING 17.6 kB
COPYING.LIB 25.8 kB
Changelog 22.6 kB
HACKING 4.9 kB
LICENSE 519 Bytes
MAINTAINERS 13 kB
Makefile 14.3 kB
Makefile.dis 319 Bytes
Makefile.hw 490 Bytes
Makefile.objs 7.9 kB
Makefile.target 5.8 kB
Makefile.user 463 Bytes
README 80 Bytes
TODO 1.1 kB
VERSION 7 Bytes
a.out.h 13.6 kB
acl.c 4.4 kB
acl.h 2.1 kB
aes.c 59.7 kB
aes.h 717 Bytes
aio.c 4.9 kB
alpha-dis.c 79.8 kB
alpha.ld 3.9 kB
arch_init.c 27 kB
arch_init.h 945 Bytes
arm-dis.c 157.1 kB
arm.ld 4.6 kB
async.c 3.4 kB
balloon.c 3.7 kB
balloon.h 678 Bytes
bitmap.c 6.3 kB
bitmap.h 7.3 kB
bitops.c 3.4 kB
bitops.h 9.5 kB
block-migration.c 20.1 kB
block-migration.h 504 Bytes
block.c 113.5 kB
block.h 15.8 kB
block_int.h 16.3 kB
blockdev.c 32.4 kB
blockdev.h 1.9 kB
bswap.h 13.9 kB
bt-host.c 5.2 kB
bt-host.h 123 Bytes
bt-vhci.c 4.5 kB
buffered_file.c 6.9 kB
buffered_file.h 916 Bytes
cache-utils.c 2.1 kB
cache-utils.h 1.2 kB
cmd.c 12.1 kB
cmd.h 2 kB
compatfd.c 2.8 kB
compatfd.h 1.5 kB
compiler.h 1.8 kB
config.h 52 Bytes
configure 106.1 kB
console.c 47.5 kB
console.h 12.2 kB
coroutine-gthread.c 5.8 kB
coroutine-sigaltstack.c 9.2 kB
coroutine-ucontext.c 6.4 kB
coroutine-win32.c 2.6 kB
cpu-all.h 15.8 kB
cpu-common.h 4.2 kB
cpu-defs.h 9.6 kB
cpu-exec.c 26.9 kB
cpus.c 33.1 kB
cpus.h 587 Bytes
cputlb.c 11 kB
cputlb.h 1.9 kB
cris-dis.c 79.8 kB
cursor.c 5.3 kB
cursor_hidden.xpm 1.3 kB
cursor_left_ptr.xpm 1.4 kB
cutils.c 10 kB
def-helper.h 8.4 kB
device_tree.c 7.5 kB
device_tree.h 2.5 kB
dis-asm.h 18.4 kB
disas.c 12.8 kB
disas.h 1.1 kB
dma-helpers.c 10.9 kB
dma.h 9.4 kB
dump-stub.c 1.5 kB
dump.c 22.3 kB
dump.h 1.2 kB
dyngen-exec.h 2 kB
elf.h 47.3 kB
envlist.c 5.3 kB
envlist.h 484 Bytes
error.c 1.5 kB
error.h 1.7 kB
event_notifier.c 1.3 kB
event_notifier.h 807 Bytes
exec-all.h 12.5 kB
exec-memory.h 1 kB
exec-obsolete.h 4.2 kB
exec.c 122.7 kB
gdbstub.c 75.2 kB
gdbstub.h 1.5 kB
gen-icount.h 1.3 kB
hmp-commands.hx 39.4 kB
hmp.c 34.2 kB
hmp.h 3 kB
host-utils.c 2.8 kB
host-utils.h 5.5 kB
hppa-dis.c 100.2 kB
hppa.ld 7.8 kB
i386-dis.c 159.1 kB
i386.ld 4.6 kB
ia64-dis.c 396.7 kB
ia64.ld 8.2 kB
input.c 13.4 kB
int128.h 1.9 kB
iohandler.c 5.5 kB
ioport.c 13.2 kB
ioport.h 2.6 kB
iorange.h 705 Bytes
iov.c 6.2 kB
iov.h 3.5 kB
json-lexer.c 9.3 kB
json-lexer.h 993 Bytes
json-parser.c 16.4 kB
json-parser.h 514 Bytes
json-streamer.c 3.2 kB
json-streamer.h 984 Bytes
kvm-all.c 50.9 kB
kvm-stub.c 2.5 kB
kvm.h 8.4 kB
libfdt_env.h 1.1 kB
linux-aio.c 5.5 kB
lm32-dis.c 12.6 kB
m68k-dis.c 211.6 kB
m68k.ld 5.9 kB
main-loop.c 12.8 kB
main-loop.h 13.5 kB
memory.c 51 kB
memory.h 26.2 kB
memory_mapping-stub.c 615 Bytes
memory_mapping.c 7.1 kB
memory_mapping.h 1.8 kB
microblaze-dis.c 62.1 kB
migration-exec.c 2.7 kB
migration-fd.c 2.9 kB
migration-tcp.c 3.3 kB
migration-unix.c 4.4 kB
migration.c 15.1 kB
migration.h 3.2 kB
mips-dis.c 206.6 kB
mips.ld 8.2 kB
module.c 1.4 kB
module.h 1.1 kB
monitor.c 135.8 kB
monitor.h 2.9 kB
nbd.c 24.4 kB
nbd.h 2.8 kB
net.c 25.8 kB
net.h 6.5 kB
notify.c 916 Bytes
notify.h 853 Bytes
os-posix.c 8.4 kB
os-win32.c 4.4 kB
osdep.c 8.8 kB
osdep.h 4.1 kB
oslib-posix.c 6.5 kB
oslib-win32.c 3.4 kB
page_cache.c 5 kB
path.c 4.7 kB
pci-ids.txt 883 Bytes
pflib.c 6.7 kB
pflib.h 496 Bytes
poison.h 1.8 kB
posix-aio-compat.c 16.6 kB
ppc-dis.c 237 kB
ppc.ld 8.5 kB
ppc64.ld 7.8 kB
qapi-schema-guest.json 13.4 kB
qapi-schema-test.json 1.3 kB
qapi-schema.json 67.1 kB
qbool.c 1.2 kB
qbool.h 535 Bytes
qdict-test-data.txt 88.4 kB
qdict.c 10.5 kB
qdict.h 2.1 kB
qemu-aio.h 2.1 kB
qemu-barrier.h 1.8 kB
qemu-bridge-helper.c 10.4 kB
qemu-char.c 74.6 kB
qemu-char.h 7.3 kB
qemu-common.h 12.7 kB
qemu-config.c 23.3 kB
qemu-config.h 760 Bytes
qemu-coroutine-int.h 1.7 kB
qemu-coroutine-io.c 2.4 kB
qemu-coroutine-lock.c 4.4 kB
qemu-coroutine-sleep.c 897 Bytes
qemu-coroutine.c 1.6 kB
qemu-coroutine.h 5.6 kB
qemu-doc.texi 79.7 kB
qemu-error.c 4.4 kB
qemu-error.h 1.2 kB
qemu-file.h 7 kB
qemu-ga.c 24.7 kB
qemu-img-cmds.hx 1.9 kB
qemu-img.c 48.1 kB
qemu-img.texi 11.5 kB
qemu-io.c 46.1 kB
qemu-lock.h 1.6 kB
qemu-log.c 4.4 kB
qemu-log.h 3.2 kB
qemu-nbd.c 16.4 kB
qemu-nbd.texi 1.5 kB
qemu-objects.h 506 Bytes
qemu-option-internal.h 1.7 kB
qemu-option.c 28 kB
qemu-option.h 6.1 kB
qemu-options-wrapper.h 1 kB
qemu-options.h 1.4 kB
qemu-options.hx 101.5 kB
qemu-os-posix.h 1.8 kB
qemu-os-win32.h 2.8 kB
qemu-progress.c 4 kB
qemu-queue.h 19.5 kB
qemu-seccomp.c 4 kB
qemu-seccomp.h 520 Bytes
qemu-sockets.c 19.1 kB
qemu-tech.texi 22.9 kB
qemu-thread-posix.c 3.4 kB
qemu-thread-posix.h 233 Bytes
qemu-thread-win32.c 8.8 kB
qemu-thread-win32.h 455 Bytes
qemu-thread.h 1.4 kB
qemu-timer-common.c 2 kB
qemu-timer.c 18.8 kB
qemu-timer.h 8.1 kB
qemu-tls.h 1.9 kB
qemu-tool.c 2.1 kB
qemu-user.c 1.2 kB
qemu-x509.h 239 Bytes
qemu-xattr.h 606 Bytes
qemu.sasl 1.3 kB
qemu_socket.h 1.6 kB
qerror.c 3 kB
qerror.h 8 kB
qfloat.c 1.2 kB
qfloat.h 562 Bytes
qint.c 1.2 kB
qint.h 539 Bytes
qjson.c 7.3 kB
qjson.h 730 Bytes
qlist.c 3.2 kB
qlist.h 1.6 kB
qmp-commands.hx 62.4 kB
qmp.c 12.5 kB
qobject.h 2.8 kB
qstring.c 3.1 kB
qstring.h 884 Bytes
qtest.c 10.9 kB
qtest.h 776 Bytes
range.h 867 Bytes
readline.c 12.8 kB
readline.h 1.5 kB
rules.mak 3.5 kB
s390-dis.c 93.3 kB
s390.ld 6.9 kB
savevm.c 62.7 kB
sh4-dis.c 82.7 kB
softmmu-semi.h 2.1 kB
softmmu_defs.h 2.5 kB
softmmu_exec.h 3.2 kB
softmmu_header.h 6.4 kB
softmmu_template.h 13.1 kB
sparc-dis.c 171.7 kB
sparc.ld 4.6 kB
sparc64.ld 4.4 kB
spice-qemu-char.c 6.7 kB
sysemu.h 5.6 kB
targphys.h 1.1 kB
tcg-runtime.c 2.2 kB
tci-dis.c 1.8 kB
tci.c 35.1 kB
thunk.c 8.8 kB
thunk.h 4.9 kB
trace-events 64.1 kB
translate-all.c 4.2 kB
uboot_image.h 5.9 kB
user-exec.c 19.5 kB
version.rc 749 Bytes
vgafont.h 93.3 kB
vl.c 105.2 kB
vmstate.h 29.6 kB
x86_64.ld 6.4 kB
xen-all.c 35.3 kB
xen-mapcache.c 12 kB
xen-mapcache.h 1.4 kB
xen-stub.c 1 kB

Latest revisions

# Date Author Comment
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...

View all revisions | View revisions

Also available in: Atom