aboutsummaryrefslogtreecommitdiff
path: root/hw/usb-uhci.c
diff options
context:
space:
mode:
authorpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>2006-03-11 18:03:38 +0000
committerpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>2006-03-11 18:03:38 +0000
commit38ca0f6deebe286a521d6dfaf6583e9216b441ee (patch)
tree965ce9055f7fc5d9793c15f63504d4f11c976b9b /hw/usb-uhci.c
parent09c56b842ee3a1e5efbf98540408cdcafe451ab0 (diff)
Tweak UHCI device settings. Ignore host root hubs.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1779 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/usb-uhci.c')
-rw-r--r--hw/usb-uhci.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/hw/usb-uhci.c b/hw/usb-uhci.c
index 732b76a818..e93db57166 100644
--- a/hw/usb-uhci.c
+++ b/hw/usb-uhci.c
@@ -654,6 +654,7 @@ void usb_uhci_init(PCIBus *bus, USBPort **usb_ports)
pci_conf[0x0b] = 0x0c;
pci_conf[0x0e] = 0x00; // header_type
pci_conf[0x3d] = 4; // interrupt pin 3
+ pci_conf[0x60] = 0x10; // release number
for(i = 0; i < NB_PORTS; i++) {
port = &s->ports[i];
@@ -666,6 +667,8 @@ void usb_uhci_init(PCIBus *bus, USBPort **usb_ports)
uhci_reset(s);
- pci_register_io_region(&s->dev, 0, 0x20,
+ /* Use region 4 for consistency with real hardware. BSD guests seem
+ to rely on this. */
+ pci_register_io_region(&s->dev, 4, 0x20,
PCI_ADDRESS_SPACE_IO, uhci_map);
}