Add USB host controller support to arm-virt

Allow a generic USB host controller to be instantiated on the PCIe bus
of the generic ARM virt platform.  May be enabled by saying "-machine
usb:on" somewhere in the arguments.

Change-Id: I11da1e6eab82e73afe3c74eb60d5d26919a9ca41
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 7dc96ab..693fc8c 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1845,6 +1845,14 @@
 
     create_pcie(vms);
 
+    if (machine_usb(machine)) {
+        PCIBus *pci_bus = (PCIBus*)object_resolve_path_type("", TYPE_PCI_BUS, NULL);
+        if (!pci_bus)
+            error_report("No PCI bus available to add USB OHCI controller to.");
+        else
+            pci_create_simple(pci_bus, -1, "pci-ohci");
+    }
+
     if (has_ged && aarch64 && firmware_loaded && virt_is_acpi_enabled(vms)) {
         vms->acpi_dev = create_acpi_ged(vms);
     } else {