aboutsummaryrefslogtreecommitdiff
path: root/hw/pc.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/pc.c')
-rw-r--r--hw/pc.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/hw/pc.c b/hw/pc.c
index ad3d5e032b..cd28998e1e 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -620,6 +620,28 @@ static void pc_init1(int ram_size, int vga_ram_size, int boot_device,
cmos_init(ram_size, boot_device, bs_table);
+ if (pci_enabled && usb_enabled) {
+ USBPort *usb_root_ports[2];
+ USBDevice *usb_hub;
+ usb_uhci_init(pci_bus, usb_root_ports);
+#if 0
+ {
+ USBPort *usb_hub1_ports[4];
+ USBPort *usb_hub2_ports[2];
+ /* test: we simulate a USB hub */
+ usb_hub = usb_hub_init(usb_hub1_ports, 4);
+ usb_attach(usb_root_ports[0], usb_hub);
+
+ /* test: we simulate a USB hub */
+ usb_hub = usb_hub_init(usb_hub2_ports, 2);
+ usb_attach(usb_hub1_ports[0], usb_hub);
+ }
+#endif
+ /* simulated hub with the host USB devices connected to it */
+ usb_hub = usb_host_hub_init();
+ usb_attach(usb_root_ports[0], usb_hub);
+ }
+
/* must be done after all PCI devices are instanciated */
/* XXX: should be done in the Bochs BIOS */
if (pci_enabled) {