- behaviour of some PCI registers fixed
This commit is contained in:
parent
558b0c3aa0
commit
2a5b04afb5
@ -336,13 +336,13 @@ diff -urN ../bochs/iodev/iodev.h ./iodev/iodev.h
|
||||
#if BX_SUPPORT_APIC
|
||||
diff -urN ../bochs/iodev/pciusb.cc ./iodev/pciusb.cc
|
||||
--- ../bochs/iodev/pciusb.cc 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ ./iodev/pciusb.cc 2003-01-23 18:04:33.000000000 +0100
|
||||
@@ -0,0 +1,694 @@
|
||||
+++ ./iodev/pciusb.cc 2003-01-24 14:08:48.000000000 +0100
|
||||
@@ -0,0 +1,701 @@
|
||||
+/////////////////////////////////////////////////////////////////////////
|
||||
+// $Id: patch.usb-fys,v 1.2 2003-01-23 20:13:23 vruppert Exp $
|
||||
+// $Id: patch.usb-fys,v 1.3 2003-01-24 15:14:15 vruppert Exp $
|
||||
+/////////////////////////////////////////////////////////////////////////
|
||||
+//
|
||||
+// Copyright (C) 2002 MandrakeSoft S.A.
|
||||
+// Copyright (C) 2003 MandrakeSoft S.A.
|
||||
+//
|
||||
+// MandrakeSoft S.A.
|
||||
+// 43, rue d'Aboukir
|
||||
@ -465,7 +465,7 @@ diff -urN ../bochs/iodev/pciusb.cc ./iodev/pciusb.cc
|
||||
+ { 0x0e, 0x00 }, // header_type_generic
|
||||
+ { 0x20, 0x41 }, { 0x21, 0xFF }, { 0x22, 0x00 }, { 0x23, 0x00 }, // address space
|
||||
+ { 0x3c, 0x09 }, // IRQ
|
||||
+ { 0x3d, 0x0a } // INT
|
||||
+ { 0x3d, 0x04 } // INT
|
||||
+
|
||||
+ };
|
||||
+ for (unsigned i = 0; i < sizeof(reset_vals) / sizeof(*reset_vals); ++i) {
|
||||
@ -1012,10 +1012,17 @@ diff -urN ../bochs/iodev/pciusb.cc ./iodev/pciusb.cc
|
||||
+ for (unsigned i=0; i<io_len; i++) {
|
||||
+ const Bit8u value8 = (value >> (i*8)) & 0xFF;
|
||||
+ switch (address+i) {
|
||||
+ case 0x30: // Oh, no, you're not writing to rom_base!
|
||||
+ case 0x20: //
|
||||
+ BX_USB_THIS s.pci_conf[address+i] = (value8 & 0xe0) | 0x01;
|
||||
+ sprintf(szTmp2, "%02x", (value8 & 0xe0) | 0x01);
|
||||
+ break;
|
||||
+ case 0x22: // Oh, no, you're not writing to rom_base!
|
||||
+ case 0x23: //
|
||||
+ case 0x30: //
|
||||
+ case 0x31: //
|
||||
+ case 0x32: //
|
||||
+ case 0x33: //
|
||||
+ case 0x3d: //
|
||||
+ case 0x04: // disallowing write to command
|
||||
+ case 0x06: // disallowing write to status lo-byte (is that expected?)
|
||||
+ strcpy(szTmp2, "..");
|
||||
@ -1028,7 +1035,7 @@ diff -urN ../bochs/iodev/pciusb.cc ./iodev/pciusb.cc
|
||||
+ strcat(szTmp, szTmp2);
|
||||
+ }
|
||||
+ strrev(szTmp);
|
||||
+ BX_DEBUG(("Experimental USB write register 0x%02x value 0x%s", address, szTmp));
|
||||
+ BX_DEBUG(("Experimental USB PCI write register 0x%02x value 0x%s", address, szTmp));
|
||||
+}
|
||||
+
|
||||
+#endif // BX_PCI_SUPPORT && BX_PCI_USB_SUPPORT
|
||||
@ -1037,7 +1044,7 @@ diff -urN ../bochs/iodev/pciusb.h ./iodev/pciusb.h
|
||||
+++ ./iodev/pciusb.h 2003-01-23 17:40:20.000000000 +0100
|
||||
@@ -0,0 +1,196 @@
|
||||
+/////////////////////////////////////////////////////////////////////////
|
||||
+// $Id: patch.usb-fys,v 1.2 2003-01-23 20:13:23 vruppert Exp $
|
||||
+// $Id: patch.usb-fys,v 1.3 2003-01-24 15:14:15 vruppert Exp $
|
||||
+/////////////////////////////////////////////////////////////////////////
|
||||
+//
|
||||
+// Copyright (C) 2003 MandrakeSoft S.A.
|
||||
|
Loading…
Reference in New Issue
Block a user