Go to file
aliguori 4b096fc9ec husb: support for USB host device auto connect (Max Krasnyansky)
QEMU can now automatically grab host USB devices that match the filter.
For now I just extended 'host:X.Y' and 'host:VID:PID' syntax to handle
wildcards. So for example if you do something like
   usb_add host:5.*
QEMU will automatically grab any non-hub device with host address 5.*.

Same with the 'host:PID:*', we grab any device that matches PID.

Filtering itself is very generic so we can probably add more elaborate
syntax like 'host:BUS.ADDR:VID:PID'. So that we can do 'host:5.*:6000:*'.

Anyway, it's implemented using a periodic timer that scans host devices
and grabs those that match the filter. Timer is started when the first
filter is added.

We now keep the list of all host devices that we grabbed to make sure that
we do not grab the same device twice.

btw It's currently possible to grab the same host device more than once.
ie You can just do "usb_add host:1.1" more than once, which of course does
not work. So this patch fixes that issue too.

Along with auto disconnect patch that I send a minute ago the setup is very
seamless now. You can just allocate some usb ports to the VMs and plug/unplug
devices at any time.

Signed-off-by: Max Krasnyansky <maxk@kernel.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5048 c046a42c-6fe2-441c-8c8c-71466251a162
2008-08-21 19:28:55 +00:00
audio Fix OpenBSD linker warnings 2008-08-21 17:58:08 +00:00
darwin-user variable dynamic translation buffer size 2008-05-28 12:30:31 +00:00
fpu Preliminary OpenBSD host support (based on OpenBSD patches by Todd T. Fries) 2008-08-15 18:33:42 +00:00
hw husb: support for USB host device auto connect (Max Krasnyansky) 2008-08-21 19:28:55 +00:00
keymaps Improve jp106 keyboard support, by Akio Takebe. 2008-07-07 19:29:49 +00:00
linux-user Kludge to support linux-user on a PPC64 2008-08-20 22:39:28 +00:00
pc-bios bios: update from bochs release 2.3.7 2008-08-21 03:14:29 +00:00
slirp Fix OpenBSD linker warnings 2008-08-21 17:58:08 +00:00
target-alpha Fix warnings that would be generated by gcc -Wstrict-prototypes 2008-08-17 20:21:51 +00:00
target-arm ARMv6: fix SIMD add/sub carry flags (Vincent Palatin). 2008-07-19 10:46:13 +00:00
target-cris Remove dyngen leftovers. 2008-07-29 07:46:53 +00:00
target-i386 i386: Catch all non-present ptes in cpu_get_phys_page_debug (Jan Kiszka) 2008-08-18 18:00:31 +00:00
target-m68k Small cleanup of gen_intermediate_code(_internal), by Laurent Desnogues. 2008-07-18 18:01:29 +00:00
target-mips Delete unused variable. 2008-08-01 17:14:35 +00:00
target-ppc Fix encoding of efsctsiz (powerpc spe), by Tristan Gingold. 2008-08-13 11:30:10 +00:00
target-sh4 Fix warnings that would be generated by gcc -Wstrict-prototypes 2008-08-17 20:21:51 +00:00
target-sparc Fix wrwim masking (Luis Pureza) 2008-08-21 17:34:42 +00:00
tcg Relax qemu_ld/st constraints for !SOFTMMU case 2008-08-21 01:14:07 +00:00
tests Make the tests run when built with experimental gcc-cris 4.4. Prettify the logs. 2008-06-06 11:07:50 +00:00
a.out.h 64bit->win32 cross build fix. 2007-03-04 00:52:16 +00:00
aes.c Fix miscellaneous minor things, by Andre Przywara. 2007-12-17 03:15:52 +00:00
aes.h AES crypto support 2004-08-01 21:54:53 +00:00
alpha-dis.c find -type f | xargs sed -i 's/[\t ]$//g' # on most files 2007-09-16 21:08:06 +00:00
alpha.ld alpha support 2003-04-29 20:53:42 +00:00
arm-dis.c Update ARM disassembler. 2007-11-10 17:38:00 +00:00
arm-semi.c Add missing return in arm-semi, by Laurent Desnogues. 2008-07-01 16:40:04 +00:00
arm.ld Link ARM prologue closer to code segment to avoid a build failure 2008-07-10 17:21:31 +00:00
block_int.h Revert fix for CVE-2008-0928. Will be fixed in a different way later. 2008-03-11 23:30:22 +00:00
block-bochs.c Split block API from vl.h. 2007-11-11 02:51:17 +00:00
block-cloop.c Split block API from vl.h. 2007-11-11 02:51:17 +00:00
block-cow.c Split block API from vl.h. 2007-11-11 02:51:17 +00:00
block-dmg.c Add qemu_realloc(), by Gerd Hoffmann. 2008-08-06 08:37:17 +00:00
block-nbd.c Remove unnecessary #includes from block-nbd.c 2008-08-19 19:10:38 +00:00
block-parallels.c Split block API from vl.h. 2007-11-11 02:51:17 +00:00
block-qcow2.c qcow2: Try to aggregate free clusters and freed clusters (Laurent Vivier) 2008-08-14 18:11:52 +00:00
block-qcow.c Remove dead-code (else-block) from block-qcow.c, by Marc Bevand. 2008-06-05 22:00:45 +00:00
block-raw-posix.c Preliminary OpenBSD host support (based on OpenBSD patches by Todd T. Fries) 2008-08-15 18:33:42 +00:00
block-raw-win32.c Add "cache" parameter to "-drive" (Laurent Vivier). 2007-12-24 14:33:24 +00:00
block-vmdk.c Fix OpenBSD linker warnings 2008-08-21 17:58:08 +00:00
block-vpc.c Fix char* signedness, by Andre Przywara. 2007-12-16 03:16:05 +00:00
block-vvfat.c Fix OpenBSD linker warnings 2008-08-21 17:58:08 +00:00
block.c Fix windows build 2008-08-21 19:25:45 +00:00
block.h Allow QEMU to connect directly to an NBD server, by Laurent Vivier. 2008-07-03 13:41:03 +00:00
bswap.h e1000: fix unaligned access 2008-03-28 22:30:48 +00:00
Changelog Update 2008-06-08 01:55:07 +00:00
check_ops.sh Fixes for s/390 host support, by Bastian Blank. 2007-11-18 21:22:10 +00:00
cocoa.m Let the USB tablet reach the far bottom and right pixels 2008-03-10 19:34:27 +00:00
configure Fix windows build 2008-08-21 19:25:45 +00:00
console.c Force screen resize if no buffer set (Avi Kivity). 2008-07-19 14:09:20 +00:00
console.h Revert r4979 since it breaks the monitor 2008-08-19 14:44:22 +00:00
COPYING distribution patches 2003-03-23 20:17:16 +00:00
COPYING.LIB update 2003-05-25 16:41:52 +00:00
cpu-all.h Avoid compiler warning. 2008-07-03 21:36:35 +00:00
cpu-defs.h Move interrupt_request and user_mode_only to common cpu state. 2008-07-01 20:01:19 +00:00
cpu-exec.c Support for address masking 2008-07-17 12:53:05 +00:00
cris-dis.c Teach the CRIS disassembler to stay within the provided buffer. 2008-05-06 08:45:10 +00:00
curses_keys.h Typo in curses_keys.h. 2008-03-18 06:55:27 +00:00
curses.c Preliminary OpenBSD host support (based on OpenBSD patches by Todd T. Fries) 2008-08-15 18:33:42 +00:00
cutils.c Prevent guest reusing host memory allocations. 2008-06-09 13:47:45 +00:00
d3des.c Actually add d3des implementation files. 2007-08-25 02:09:50 +00:00
d3des.h Actually add d3des implementation files. 2007-08-25 02:09:50 +00:00
dis-asm.h Fix OpenBSD linker warnings 2008-08-21 17:58:08 +00:00
disas.c Fix warnings that would be generated by gcc -Wstrict-prototypes 2008-08-17 20:21:51 +00:00
disas.h monitor_disas() prototype change 2005-11-21 23:35:10 +00:00
dyngen-exec.h Preliminary OpenBSD host support (based on OpenBSD patches by Todd T. Fries) 2008-08-15 18:33:42 +00:00
dyngen.c Fix some warnings that would be generated by gcc -Wmissing-prototypes 2008-08-17 20:26:25 +00:00
elf_ops.h Add statics and missing #includes for prototypes. 2007-11-18 01:44:38 +00:00
elf.h Report missing elf_addr_t definition from Linux kernel header 2007-10-07 16:07:25 +00:00
exec-all.h On ppc32 make tb_set_jmp_target1 behave like it does on a ppc64 2008-07-29 20:08:17 +00:00
exec.c Fix some warnings that would be generated by gcc -Wmissing-prototypes 2008-08-17 20:26:25 +00:00
gdbstub.c Fix OpenBSD linker warnings 2008-08-21 17:58:08 +00:00
gdbstub.h Allow gdbstub to connect over any serial device. 2007-02-22 01:48:01 +00:00
gen-icount.h Spelling fixes, spotted by Stuart Brady. 2008-06-30 17:22:19 +00:00
host-utils.c Code used by the linux-user targets should not use vl.h. 2007-11-05 13:01:41 +00:00
host-utils.h Fix always_inline definition for Darwin, by Andreas Faerber. 2008-06-05 22:55:54 +00:00
hostregs_helper.h Fix 64-bit host register corruption. 2007-02-04 13:37:44 +00:00
hpet.h Add a local copy of hpet.h. 2007-09-16 20:03:23 +00:00
hppa-dis.c HPPA (PA-RISC) host support 2008-04-12 20:14:54 +00:00
hppa.ld HPPA (PA-RISC) host support 2008-04-12 20:14:54 +00:00
i386-dis.c Fix OpenBSD linker warnings 2008-08-21 17:58:08 +00:00
i386.ld Add TLS sections. 2008-05-31 16:21:33 +00:00
ia64.ld ia64 host support (David Mosberger) 2005-04-07 22:20:31 +00:00
keymaps.c Miscellaneous VNC related fixes from Xen forwarded by Matthew Kent. 2007-10-30 22:38:53 +00:00
kqemu.c Fix error reporting under Win32 (CreateFile does not set errno) 2008-06-08 01:55:09 +00:00
kqemu.h kqemu API change - allow use of kqemu with 32 bit QEMU on a 64 bit host 2008-05-30 20:48:25 +00:00
LICENSE use the TCG code generator 2008-02-01 10:50:11 +00:00
loader.c Remove most uses of phys_ram_base (initial patch by Ian Jackson) 2008-05-12 17:22:13 +00:00
m68k-dis.c find -type f | xargs sed -i 's/[\t ]*$//g' # Yes, again. Note the star in the regex. 2007-09-17 08:09:54 +00:00
m68k-semi.c Break up vl.h. 2007-11-17 17:14:51 +00:00
m68k.ld m68k host port (Richard Zidlicky) 2003-08-10 22:14:22 +00:00
MAINTAINERS update 2008-06-04 14:57:43 +00:00
Makefile Fix windows build 2008-08-21 19:25:45 +00:00
Makefile.target Fix OSS on OpenBSD 2008-08-21 18:00:53 +00:00
mips-dis.c Fix warnings that would be generated by gcc -Wstrict-prototypes 2008-08-17 20:21:51 +00:00
mips.ld Linker scripts for MIPS hosts. 2007-05-05 19:24:38 +00:00
mipsel.ld Linker scripts for MIPS hosts. 2007-05-05 19:24:38 +00:00
monitor.c Fix OpenBSD linker warnings 2008-08-21 17:58:08 +00:00
nbd.c Fix compilation of nbd on Solaris (Andreas Faerber) 2008-08-02 01:57:02 +00:00
nbd.h Allow QEMU to connect directly to an NBD server, by Laurent Vivier. 2008-07-03 13:41:03 +00:00
net-checksum.c Add IP checksumming functions to qemu (Gerd Hoffmann) 2008-07-29 19:40:04 +00:00
net.h Add IP checksumming functions to qemu (Gerd Hoffmann) 2008-07-29 19:40:04 +00:00
osdep.c Preliminary OpenBSD host support (based on OpenBSD patches by Todd T. Fries) 2008-08-15 18:33:42 +00:00
osdep.h Preliminary OpenBSD host support (based on OpenBSD patches by Todd T. Fries) 2008-08-15 18:33:42 +00:00
ppc64.ld Correct version of Heikki Lindholms ppc64.ld script 2008-08-20 22:39:24 +00:00
ppc-dis.c find -type f | xargs sed -i 's/[\t ]$//g' # on most files 2007-09-16 21:08:06 +00:00
ppc.ld Update ppc.ld to work with newer binutils. 2007-04-28 19:00:30 +00:00
qemu_socket.h Use WIN32_LEAN_AND_MEAN, by Stefan Weil. 2007-12-17 04:42:29 +00:00
qemu-binfmt-conf.sh Code provision for n32/n64 mips userland emulation. Not functional yet. 2007-09-30 01:58:33 +00:00
qemu-char.h Upgrade emulated UART to 16550A (Stefano Stabellini) 2008-08-11 14:17:04 +00:00
qemu-common.h Add qemu_realloc(), by Gerd Hoffmann. 2008-08-06 08:37:17 +00:00
qemu-doc.texi Simplify -usbdevice net: syntax, allow VLANs with no NICs. 2008-07-29 13:16:31 +00:00
qemu-img.c Revert 4977. Laurent asked for this not to be applied but I mistakenly applied 2008-08-01 15:04:00 +00:00
qemu-img.texi New qemu-img convert -B option, by Marc Bevand. 2008-06-05 21:53:49 +00:00
qemu-lock.h Multithreaded locking fixes. 2008-06-07 20:50:51 +00:00
qemu-malloc.c Fix OpenBSD linker warnings 2008-08-21 17:58:08 +00:00
qemu-nbd.c Allow qemu-nbd --version to show the application name dynamically, by 2008-07-18 18:06:23 +00:00
qemu-nbd.texi Allow QEMU to connect directly to an NBD server, by Laurent Vivier. 2008-07-03 13:41:03 +00:00
qemu-tech.texi Spelling fixes, by Stefan Weil. 2008-06-03 19:51:57 +00:00
qemu-timer.h Break up vl.h. 2007-11-17 17:14:51 +00:00
readline.c Handle history additions properly, by Andreas Schwab. 2007-12-17 20:31:43 +00:00
README update 2005-02-10 21:46:47 +00:00
s390-dis.c Revert licensing to "GPLv2 or later", by Ulrich Hecht. 2008-01-17 13:56:59 +00:00
s390.ld update 2003-04-29 21:34:02 +00:00
sdl_keysym.h Windows keys support with keymaps 2005-03-01 21:43:42 +00:00
sdl.c Fix detection of 15 bit display depth 2008-07-24 11:25:30 +00:00
sh4-dis.c find -type f | xargs sed -i 's/[\t ]*$//g' # Yes, again. Note the star in the regex. 2007-09-17 08:09:54 +00:00
softmmu_exec.h Replace is_user variable with mmu_idx in softmmu core, 2007-10-14 07:07:08 +00:00
softmmu_header.h Convert remaining __builtin_expect to likely/unlikely, by Jan Kiszka. 2008-07-03 17:57:36 +00:00
softmmu_template.h Add instruction counter. 2008-06-29 01:03:05 +00:00
softmmu-semi.h suppressed tgetx and tputx (initial patch by Thayne Harbaugh) 2007-11-16 10:46:05 +00:00
sparc64.ld Map code buffers below 2G on Sparc64 2008-07-26 15:05:57 +00:00
sparc-dis.c More detabification 2007-10-06 11:28:21 +00:00
sparc.ld More detabification 2007-10-06 11:28:21 +00:00
sys-queue.h Move audio/sys-queue.h => sys-queue.h 2008-07-29 20:08:37 +00:00
sysemu.h Move CPU save/load registration to common code. 2008-06-30 16:31:04 +00:00
tap-win32.c Use WIN32_LEAN_AND_MEAN, by Stefan Weil. 2007-12-17 04:42:29 +00:00
texi2pod.pl Update texi2pod.pl. 2008-02-04 14:47:49 +00:00
thunk.c Fix attempt to inline recursive functions. 2007-11-19 01:06:24 +00:00
thunk.h Fix attempt to inline recursive functions. 2007-11-19 01:06:24 +00:00
TODO update 2008-05-13 18:26:52 +00:00
translate-all.c Small cleanup of gen_intermediate_code(_internal), by Laurent Desnogues. 2008-07-18 18:01:29 +00:00
uboot_image.h Simple u-boot image loading support. 2007-03-06 23:52:01 +00:00
usb-linux.c husb: support for USB host device auto connect (Max Krasnyansky) 2008-08-21 19:28:55 +00:00
VERSION version change 2008-01-06 17:10:54 +00:00
vgafont.h virtual console 2004-07-14 17:39:50 +00:00
vl.c husb: support for USB host device auto connect (Max Krasnyansky) 2008-08-21 19:28:55 +00:00
vnc_keysym.h Improve jp106 keyboard support, by Akio Takebe. 2008-07-07 19:29:49 +00:00
vnc.c Add qemu_realloc(), by Gerd Hoffmann. 2008-08-06 08:37:17 +00:00
vnchextile.h Fix wrong signedness, by Andre Przywara. 2007-12-16 03:02:09 +00:00
x86_64.ld update 2005-01-06 20:50:00 +00:00
x_keymap.c Add statics and missing #includes for prototypes. 2007-11-18 01:44:38 +00:00

Read the documentation in qemu-doc.html.

Fabrice Bellard.