| 42 |
static RTCState *rtc_state; |
static RTCState *rtc_state; |
| 43 |
static PITState *pit; |
static PITState *pit; |
| 44 |
static IOAPICState *ioapic; |
static IOAPICState *ioapic; |
| 45 |
|
static USBPort *usb_root_ports[2]; |
| 46 |
|
|
| 47 |
static void ioport80_write(void *opaque, uint32_t addr, uint32_t data) |
static void ioport80_write(void *opaque, uint32_t addr, uint32_t data) |
| 48 |
{ |
{ |
| 626 |
cmos_init(ram_size, boot_device, bs_table); |
cmos_init(ram_size, boot_device, bs_table); |
| 627 |
|
|
| 628 |
if (pci_enabled && usb_enabled) { |
if (pci_enabled && usb_enabled) { |
|
USBPort *usb_root_ports[2]; |
|
|
USBDevice *usb_dev; |
|
| 629 |
usb_uhci_init(pci_bus, usb_root_ports); |
usb_uhci_init(pci_bus, usb_root_ports); |
| 630 |
#if 0 |
usb_attach(usb_root_ports[0], vm_usb_hub); |
|
{ |
|
|
USBPort *usb_hub1_ports[4]; |
|
|
USBPort *usb_hub2_ports[2]; |
|
|
/* test: we simulate a USB hub */ |
|
|
usb_dev = usb_hub_init(usb_hub1_ports, 4); |
|
|
usb_attach(usb_root_ports[0], usb_dev); |
|
|
|
|
|
/* test: we simulate a USB hub */ |
|
|
usb_dev = usb_hub_init(usb_hub2_ports, 2); |
|
|
usb_attach(usb_hub1_ports[0], usb_dev); |
|
|
} |
|
|
#endif |
|
|
#if 0 |
|
|
/* USB mouse */ |
|
|
usb_dev = usb_mouse_init(); |
|
|
usb_attach(usb_root_ports[0], usb_dev); |
|
|
#endif |
|
|
#if 1 |
|
|
/* simulated hub with the host USB devices connected to it */ |
|
|
usb_dev = usb_host_hub_init(); |
|
|
usb_attach(usb_root_ports[0], usb_dev); |
|
|
#endif |
|
| 631 |
} |
} |
| 632 |
|
|
| 633 |
/* must be done after all PCI devices are instanciated */ |
/* must be done after all PCI devices are instanciated */ |