My problem is that the BIOS on this ICH9 VM is apparently not initializing the switch correctly. The BIOS should be responsible for programming the switch'es PCI Configuration registers as it enumerates the bus hierarchy, and this was seen on the PIIX3-VM. On the ICH9-VM, the BIOS reads a few identification registers, then reads the Secondary Bus register, and then enters a loop repeating that sequence for just over 5000 iterations before aborting the VM session.
Code: Select all
PCI CFG Root Rd 0x0a L 2 = 0x0604 // Class
PCI CFG Root Rd 0x00 L 2 = 0x14ab // VendID
PCI CFG Root Rd 0x02 L 2 = 0x1000 // DevID
PCI CFG Root Wr 0x1c L 1 = 0xd0 // IOBase
PCI CFG Root Wr 0x20 L 2 = 0xf000 // MemBase
PCI CFG Root Rd 0x19 L 1 = 0x00 // SecBus
BIOS init device: 00:00.0
BIOS init bridge: 00::00.0
But is this a bug in the BIOS?
Log files are attached. Lines bearing the “RicV” prefix were instrumented by me to investigate this problem. Lines bearing the “RemDev” prefix are coming from my PDM plug-in callbacks.
Environment: VBox 5.0.16 built from OSE tarball in the downloads page, running on Ubuntu 14 host, with Ubuntu 14 guest.