Commit 2d5646916d77bc8f3597804feed8a65fe3964e70

Authored by balrog
1 parent ac4b0d0c

Document bluetooth support in qemu-doc.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5654 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 2 changed files with 69 additions and 0 deletions
hw/usb-bt.c
@@ -623,6 +623,8 @@ USBDevice *usb_bt_init(HCIInfo *hci) @@ -623,6 +623,8 @@ USBDevice *usb_bt_init(HCIInfo *hci)
623 { 623 {
624 struct USBBtState *s; 624 struct USBBtState *s;
625 625
  626 + if (!hci)
  627 + return NULL;
626 s = qemu_mallocz(sizeof(struct USBBtState)); 628 s = qemu_mallocz(sizeof(struct USBBtState));
627 if (!s) 629 if (!s)
628 return NULL; 630 return NULL;
qemu-doc.texi
@@ -782,6 +782,62 @@ connect to the guest telnet server. @@ -782,6 +782,62 @@ connect to the guest telnet server.
782 782
783 @end table 783 @end table
784 784
  785 +Bluetooth(R) options:
  786 +@table @option
  787 +
  788 +@item -bt hci[...]
  789 +Defines the function of the corresponding Bluetooth HCI. -bt options
  790 +are matched with the HCIs present in the chosen machine type. For
  791 +example when emulating a machine with only one HCI built into it, only
  792 +the first @code{-bt hci[...]} option is valid and defines the HCI's
  793 +logic. The Transport Layer is decided by the machine type. Currently
  794 +the machines @code{n800} and @code{n810} have one HCI and all other
  795 +machines have none.
  796 +
  797 +@anchor{bt-hcis}
  798 +The following three types are recognized:
  799 +
  800 +@table @code
  801 +@item -bt hci,null
  802 +(default) The corresponding Bluetooth HCI assumes no internal logic
  803 +and will not respond to any HCI commands or emit events.
  804 +
  805 +@item -bt hci,host[:@var{id}]
  806 +(@code{bluez} only) The corresponding HCI passes commands / events
  807 +to / from the physical HCI identified by the name @var{id} (default:
  808 +@code{hci0}) on the computer running QEMU. Only available on @code{bluez}
  809 +capable systems like Linux.
  810 +
  811 +@item -bt hci[,vlan=@var{n}]
  812 +Add a virtual, standard HCI that will participate in the Bluetooth
  813 +scatternet @var{n} (default @code{0}). Similarly to @option{-net}
  814 +VLANs, devices inside a bluetooth network @var{n} can only communicate
  815 +with other devices in the same network (scatternet).
  816 +@end table
  817 +
  818 +@item -bt vhci[,vlan=@var{n}]
  819 +(Linux-host only) Create a HCI in scatternet @var{n} (default 0) attached
  820 +to the host bluetooth stack instead of to the emulated target. This
  821 +allows the host and target machines to participate in a common scatternet
  822 +and communicate. Requires the Linux @code{vhci} driver installed. Can
  823 +be used as following:
  824 +
  825 +@example
  826 +qemu [...OPTIONS...] -bt hci,vlan=5 -bt vhci,vlan=5
  827 +@end example
  828 +
  829 +@item -bt device:@var{dev}[,vlan=@var{n}]
  830 +Emulate a bluetooth device @var{dev} and place it in network @var{n}
  831 +(default @code{0}). QEMU can only emulate one type of bluetooth devices
  832 +currently:
  833 +
  834 +@table @code
  835 +@item keyboard
  836 +Virtual wireless keyboard implementing the HIDP bluetooth profile.
  837 +@end table
  838 +
  839 +@end table
  840 +
785 Linux boot specific: When using these options, you can use a given 841 Linux boot specific: When using these options, you can use a given
786 Linux kernel without installing it in the disk image. It can be useful 842 Linux kernel without installing it in the disk image. It can be useful
787 for easier testing of various kernels. 843 for easier testing of various kernels.
@@ -1767,6 +1823,15 @@ For instance, user-mode networking can be used with @@ -1767,6 +1823,15 @@ For instance, user-mode networking can be used with
1767 qemu [...OPTIONS...] -net user,vlan=0 -usbdevice net:vlan=0 1823 qemu [...OPTIONS...] -net user,vlan=0 -usbdevice net:vlan=0
1768 @end example 1824 @end example
1769 Currently this cannot be used in machines that support PCI NICs. 1825 Currently this cannot be used in machines that support PCI NICs.
  1826 +@item bt[:@var{hci-type}]
  1827 +Bluetooth dongle whose type is specified in the same format as with
  1828 +the @option{-bt hci} option, @pxref{bt-hcis,,allowed HCI types}. If
  1829 +no type is given, the HCI logic corresponds to @code{-bt hci,vlan=0}.
  1830 +This USB device implements the USB Transport Layer of HCI. Example
  1831 +usage:
  1832 +@example
  1833 +qemu [...OPTIONS...] -usbdevice bt:hci,vlan=3 -bt device:keyboard,vlan=3
  1834 +@end example
1770 @end table 1835 @end table
1771 1836
1772 @node host_usb_devices 1837 @node host_usb_devices
@@ -2664,6 +2729,8 @@ Secure Digital card connected to OMAP MMC/SD host @@ -2664,6 +2729,8 @@ Secure Digital card connected to OMAP MMC/SD host
2664 @item 2729 @item
2665 Three OMAP on-chip UARTs and on-chip STI debugging console 2730 Three OMAP on-chip UARTs and on-chip STI debugging console
2666 @item 2731 @item
  2732 +A Bluetooth(R) transciever and HCI connected to an UART
  2733 +@item
2667 Mentor Graphics "Inventra" dual-role USB controller embedded in a TI 2734 Mentor Graphics "Inventra" dual-role USB controller embedded in a TI
2668 TUSB6010 chip - only USB host mode is supported 2735 TUSB6010 chip - only USB host mode is supported
2669 @item 2736 @item