diff --git a/docs/schemas/domain.rng b/docs/schemas/domain.rng
index e43b17decb..5830421f7d 100644
--- a/docs/schemas/domain.rng
+++ b/docs/schemas/domain.rng
@@ -910,6 +910,15 @@
lsilogic
lsisas1068
vmpvscsi
+ piix3-uhci
+ piix4-uhci
+ ehci
+ ich9-ehci1
+ ich9-uhci1
+ ich9-uhci2
+ ich9-uhci3
+ vt82c686b-uhci
+ pci-ohci
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index a8b7d8392f..8c04a32fd8 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -203,6 +203,17 @@ VIR_ENUM_IMPL(virDomainControllerModelSCSI, VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LAS
"lsisas1068",
"vmpvscsi")
+VIR_ENUM_IMPL(virDomainControllerModelUSB, VIR_DOMAIN_CONTROLLER_MODEL_USB_LAST,
+ "piix3-uhci",
+ "piix4-uhci",
+ "ehci",
+ "ich9-ehci1",
+ "ich9-uhci1",
+ "ich9-uhci2",
+ "ich9-uhci3",
+ "vt82c686b-uhci",
+ "pci-ohci")
+
VIR_ENUM_IMPL(virDomainFS, VIR_DOMAIN_FS_TYPE_LAST,
"mount",
"block",
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 39bb999cc6..5396f7ae14 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -268,6 +268,20 @@ enum virDomainControllerModelSCSI {
VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LAST
};
+enum virDomainControllerModelUSB {
+ VIR_DOMAIN_CONTROLLER_MODEL_USB_PIIX3_UHCI,
+ VIR_DOMAIN_CONTROLLER_MODEL_USB_PIIX4_UHCI,
+ VIR_DOMAIN_CONTROLLER_MODEL_USB_EHCI,
+ VIR_DOMAIN_CONTROLLER_MODEL_USB_ICH9_EHCI1,
+ VIR_DOMAIN_CONTROLLER_MODEL_USB_ICH9_UHCI1,
+ VIR_DOMAIN_CONTROLLER_MODEL_USB_ICH9_UHCI2,
+ VIR_DOMAIN_CONTROLLER_MODEL_USB_ICH9_UHCI3,
+ VIR_DOMAIN_CONTROLLER_MODEL_USB_VT82C686B_UHCI,
+ VIR_DOMAIN_CONTROLLER_MODEL_USB_PCI_OHCI,
+
+ VIR_DOMAIN_CONTROLLER_MODEL_USB_LAST
+};
+
typedef struct _virDomainVirtioSerialOpts virDomainVirtioSerialOpts;
typedef virDomainVirtioSerialOpts *virDomainVirtioSerialOptsPtr;
struct _virDomainVirtioSerialOpts {
@@ -1677,6 +1691,7 @@ VIR_ENUM_DECL(virDomainIoEventFd)
VIR_ENUM_DECL(virDomainVirtioEventIdx)
VIR_ENUM_DECL(virDomainController)
VIR_ENUM_DECL(virDomainControllerModelSCSI)
+VIR_ENUM_DECL(virDomainControllerModelUSB)
VIR_ENUM_DECL(virDomainFS)
VIR_ENUM_DECL(virDomainFSAccessMode)
VIR_ENUM_DECL(virDomainNet)
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index c2ce32f022..1a238ce872 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -248,6 +248,8 @@ virDomainConfigFile;
virDomainControllerDefFree;
virDomainControllerInsert;
virDomainControllerInsertPreAlloced;
+virDomainControllerModelUSBTypeFromString;
+virDomainControllerModelUSBTypeToString;
virDomainControllerModelSCSITypeFromString;
virDomainControllerModelSCSITypeToString;
virDomainControllerTypeToString;