Advertisement
Guest User

Untitled

a guest
Jul 29th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.46 KB | None | 0 0
  1. Index: src/VBox/Devices/Bus/DevPciIch9.cpp
  2. ===================================================================
  3. --- src/VBox/Devices/Bus/DevPciIch9.cpp (Revision 70276)
  4. +++ src/VBox/Devices/Bus/DevPciIch9.cpp (Arbeitskopie)
  5. @@ -1530,7 +1530,7 @@
  6.  
  7. static void ich9pciBiosInitBridge(PPCIGLOBALS pGlobals, uint8_t uBus, uint8_t uDevFn)
  8. {
  9. - Log(("BIOS init device: %0x2::%02x.%d\n", uBus, uDevFn >> 3, uDevFn & 7));
  10. + Log(("BIOS init bridge: %02x::%02x.%d\n", uBus, uDevFn >> 3, uDevFn & 7));
  11.  
  12. /*
  13. * The I/O range for the bridge must be aligned to a 4KB boundary.
  14. @@ -1555,10 +1555,14 @@
  15. /* Save values to compare later to. */
  16. uint32_t u32IoAddressBase = pGlobals->uPciBiosIo;
  17. uint32_t u32MMIOAddressBase = pGlobals->uPciBiosMmio;
  18. + uint8_t uBridgeBus = ich9pciConfigRead(pGlobals, uBus, uDevFn, VBOX_PCI_SECONDARY_BUS, 1);
  19.  
  20. /* Init devices behind the bridge and possibly other bridges as well. */
  21. for (int iDev = 0; iDev <= 255; iDev++)
  22. - ich9pciBiosInitDevice(pGlobals, uBus + 1, iDev);
  23. + {
  24. + Log(("BIOS bridge init: Init device %02x::%02x.%d\n", uBus+1, iDev >> 3, iDev & 7));
  25. + ich9pciBiosInitDevice(pGlobals, uBridgeBus, iDev);
  26. + }
  27.  
  28. /*
  29. * Set I/O limit register. If there is no device with I/O space behind the bridge
  30. @@ -1607,6 +1611,8 @@
  31. if (uVendor == 0xffff)
  32. return;
  33.  
  34. + Log(("BIOS init device: %02x::%02x.%d\n", uBus, uDevFn >> 3, uDevFn & 7));
  35. +
  36. switch (uDevClass)
  37. {
  38. case 0x0101:
  39. @@ -1635,6 +1641,7 @@
  40. case 0x0604:
  41. /* PCI-to-PCI bridge. */
  42. AssertMsg(pGlobals->uBus < 255, ("Too many bridges on the bus\n"));
  43. + Log(("BIOS init device: Found bridge on %02x::%02x.%d\n", uBus, uDevFn >> 3, uDevFn & 7));
  44. ich9pciBiosInitBridge(pGlobals, uBus, uDevFn);
  45. break;
  46. default:
  47. @@ -2440,7 +2447,7 @@
  48. PCIDevSetDeviceId( &pBus->aPciDev, 0x244e); /* Desktop */
  49. PCIDevSetRevisionId(&pBus->aPciDev, 0x92); /* rev. A2 */
  50. PCIDevSetClassBase( &pBus->aPciDev, 0x06); /* bridge */
  51. - PCIDevSetClassSub( &pBus->aPciDev, 0x04); /* Host/PCI bridge */
  52. + PCIDevSetClassSub( &pBus->aPciDev, 0x00); /* Host/PCI bridge */
  53. PCIDevSetClassProg( &pBus->aPciDev, 0x01); /* Supports subtractive decoding. */
  54. PCIDevSetHeaderType(&pBus->aPciDev, 0x01); /* bridge */
  55. PCIDevSetWord(&pBus->aPciDev, VBOX_PCI_SEC_STATUS, 0x0280); /* secondary status */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement