mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-06 19:07:52 +00:00
usb: Introduce Xen pvUSB frontend (xen hcd)
Introduces the Xen pvUSB frontend. With pvUSB it is possible for a Xen domU to communicate with a USB device assigned to that domU. The communication is all done via the pvUSB backend in a driver domain (usually Dom0) which is owner of the physical device. The pvUSB frontend is a USB hcd for a virtual USB host connector. The code is taken from the pvUSB implementation in Xen done by Fujitsu based on Linux kernel 2.6.18. Changes from the original version are: - port to upstream kernel - put all code in just one source file - move module to appropriate location in kernel tree - adapt to Linux style guide - minor code modifications to increase readability Signed-off-by: Juergen Gross <jgross@suse.com> Link: https://lore.kernel.org/r/20211123132048.5335-3-jgross@suse.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
bae9401dff
commit
494ed3997d
3 changed files with 1618 additions and 0 deletions
|
@ -772,3 +772,14 @@ config USB_HCD_TEST_MODE
|
||||||
This option is of interest only to developers who need to validate
|
This option is of interest only to developers who need to validate
|
||||||
their USB hardware designs. It is not needed for normal use. If
|
their USB hardware designs. It is not needed for normal use. If
|
||||||
unsure, say N.
|
unsure, say N.
|
||||||
|
|
||||||
|
config USB_XEN_HCD
|
||||||
|
tristate "Xen usb virtual host driver"
|
||||||
|
depends on XEN
|
||||||
|
select XEN_XENBUS_FRONTEND
|
||||||
|
help
|
||||||
|
The Xen usb virtual host driver serves as a frontend driver enabling
|
||||||
|
a Xen guest system to access USB Devices passed through to the guest
|
||||||
|
by the Xen host (usually Dom0).
|
||||||
|
Only needed if the kernel is running in a Xen guest and generic
|
||||||
|
access to a USB device is needed.
|
||||||
|
|
|
@ -85,3 +85,4 @@ obj-$(CONFIG_USB_HCD_BCMA) += bcma-hcd.o
|
||||||
obj-$(CONFIG_USB_HCD_SSB) += ssb-hcd.o
|
obj-$(CONFIG_USB_HCD_SSB) += ssb-hcd.o
|
||||||
obj-$(CONFIG_USB_FOTG210_HCD) += fotg210-hcd.o
|
obj-$(CONFIG_USB_FOTG210_HCD) += fotg210-hcd.o
|
||||||
obj-$(CONFIG_USB_MAX3421_HCD) += max3421-hcd.o
|
obj-$(CONFIG_USB_MAX3421_HCD) += max3421-hcd.o
|
||||||
|
obj-$(CONFIG_USB_XEN_HCD) += xen-hcd.o
|
||||||
|
|
1606
drivers/usb/host/xen-hcd.c
Normal file
1606
drivers/usb/host/xen-hcd.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue