|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC V2 1/5] libxl: add pvusb definitions
To attach a usb device, a virtual usb controller should be created first.
This patch defines usbctrl and usbdevice related structs.
Signed-off-by: Chunyan Liu <cyliu@xxxxxxxx>
Signed-off-by: Simon Cao <caobosimon@xxxxxxxxx>
---
tools/libxl/libxl_types.idl | 58 +++++++++++++++++++++++++++++++++++-
tools/libxl/libxl_types_internal.idl | 1 +
2 files changed, 58 insertions(+), 1 deletion(-)
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 1214d2e..0639434 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -111,6 +111,16 @@ libxl_nic_type = Enumeration("nic_type", [
(2, "VIF"),
])
+libxl_usbctrl_type = Enumeration("usbctrl_type",[
+ (0, "AUTO"),
+ (1, "PV"),
+ (2, "DEVICEMODEL"),
+ ])
+
+libxl_usb_type = Enumeration("device_usb_type", [
+ (1, "HOSTDEV"),
+ ])
+
libxl_action_on_shutdown = Enumeration("action_on_shutdown", [
(1, "DESTROY"),
@@ -394,7 +404,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
("ioports", Array(libxl_ioport_range, "num_ioports")),
("irqs", Array(uint32, "num_irqs")),
("iomem", Array(libxl_iomem_range, "num_iomem")),
- ("claim_mode", libxl_defbool),
+ ("claim_mode", libxl_defbool),
("event_channels", uint32),
("kernel", string),
("cmdline", string),
@@ -521,6 +531,27 @@ libxl_device_pci = Struct("device_pci", [
("seize", bool),
])
+libxl_device_usbctrl = Struct("device_usbctrl", [
+ ("name", string),
+ ("type", libxl_usbctrl_type),
+ ("backend_domid", libxl_domid),
+ ("backend_domname", string),
+ ("devid", libxl_devid),
+ ("usb_version", uint8),
+ ("num_ports", uint8),
+ ])
+
+libxl_device_usb = Struct("device_usb", [
+ ("ctrl", integer),
+ ("port", integer),
+ ("intf", string),
+ ("u", KeyedUnion(None, libxl_usb_type, "type",
+ [("hostdev", Struct(None, [
+ ("hostbus", integer),
+ ("hostaddr", integer) ]))
+ ]))
+ ])
+
libxl_device_vtpm = Struct("device_vtpm", [
("backend_domid", libxl_domid),
("backend_domname", string),
@@ -547,6 +578,7 @@ libxl_domain_config = Struct("domain_config", [
("disks", Array(libxl_device_disk, "num_disks")),
("nics", Array(libxl_device_nic, "num_nics")),
("pcidevs", Array(libxl_device_pci, "num_pcidevs")),
+ ("usbs", Array(libxl_device_usb, "num_usbs")),
("vfbs", Array(libxl_device_vfb, "num_vfbs")),
("vkbs", Array(libxl_device_vkb, "num_vkbs")),
("vtpms", Array(libxl_device_vtpm, "num_vtpms")),
@@ -595,6 +627,30 @@ libxl_vtpminfo = Struct("vtpminfo", [
("uuid", libxl_uuid),
], dir=DIR_OUT)
+libxl_usbctrlinfo = Struct("usbctrlinfo", [
+ ("backend", string),
+ ("backend_id", uint32),
+ ("frontend", string),
+ ("frontend_id", uint32),
+ ("devid", libxl_devid),
+ ("state", integer),
+ ("evtch", integer),
+ ("version", integer),
+ ("type", string),
+ ("ref_urb", integer),
+ ("ref_conn", integer),
+ ("num_ports", integer),
+ ], dir=DIR_OUT)
+
+libxl_usbinfo = Struct("usbinfo", [
+ ("bus", integer),
+ ("devnum", integer),
+ ("idVendor", integer),
+ ("idProduct", integer),
+ ("prod", string),
+ ("manuf", string),
+ ], dir=DIR_OUT)
+
libxl_vcpuinfo = Struct("vcpuinfo", [
("vcpuid", uint32),
("cpu", uint32),
diff --git a/tools/libxl/libxl_types_internal.idl
b/tools/libxl/libxl_types_internal.idl
index 5e55685..696f5f8 100644
--- a/tools/libxl/libxl_types_internal.idl
+++ b/tools/libxl/libxl_types_internal.idl
@@ -22,6 +22,7 @@ libxl__device_kind = Enumeration("device_kind", [
(6, "VKBD"),
(7, "CONSOLE"),
(8, "VTPM"),
+ (9, "VUSB"),
])
libxl__console_backend = Enumeration("console_backend", [
--
1.8.4.5
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |