mirror of
https://github.com/xemu-project/xemu.git
synced 2025-01-31 17:23:53 +00:00
Tweak UHCI device settings. Ignore host root hubs.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1779 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
09c56b842e
commit
38ca0f6dee
@ -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);
|
||||
}
|
||||
|
@ -278,7 +278,8 @@ static int usb_host_scan(void *opaque, USBScanFunc *func)
|
||||
if (strlen(line) > 0)
|
||||
line[strlen(line) - 1] = '\0';
|
||||
if (line[0] == 'T' && line[1] == ':') {
|
||||
if (device_count) {
|
||||
if (device_count && (vendor_id || product_id)) {
|
||||
/* New device. Add the previously discovered device. */
|
||||
ret = func(opaque, bus_num, addr, class_id, vendor_id,
|
||||
product_id, product_name, speed);
|
||||
if (ret)
|
||||
@ -321,7 +322,8 @@ static int usb_host_scan(void *opaque, USBScanFunc *func)
|
||||
}
|
||||
fail: ;
|
||||
}
|
||||
if (device_count) {
|
||||
if (device_count && (vendor_id || product_id)) {
|
||||
/* Add the last device. */
|
||||
ret = func(opaque, bus_num, addr, class_id, vendor_id,
|
||||
product_id, product_name, speed);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user