On Thu, Sep 6, 2012 at 11:33 PM, Gustau Pérez i Querol <[email protected]> wrote: > On 03/09/2012 13:10, Gustau Pérez i Querol wrote: >> >> >> The upcoming 4.2.0 release of virtualbox allows to plug more than 8 >> network adapter to a guest. >> >> When testing that kind of setup I noticed FreeBSD (stable or head, it >> doesn't matter) is unable to map more than 8 cards. It appears that the >> ninth (and so on) get connected to the pci bus 1. >> >> The output of a guest FreeBSD machine shows this: >> >> ************* >> pcib1: <PCI-PCI bridge> at device 24.0 on pci0 >> pcib1: domain 0 >> pcib1: secondary bus 1 >> pcib1: subordinate bus 2 >> pcib1: no prefetched decode >> pcib1: Subtractively decoded bridge. >> pci1: <PCI bus> on pcib1 >> pci1: domain=0, physical bus=1 >> pcib2: <PCI-PCI bridge> at device 25.0 on pci0 >> pcib0: allocated type 4 (0xe000-0xefff) for rid 1c of pcib2 >> pcib0: allocated type 3 (0xf0a00000-0xf0afffff) for rid 20 of pcib2 >> pcib2: domain 0 >> pcib2: secondary bus 2 >> pcib2: subordinate bus 3 >> pcib2: I/O decode 0xe000-0xefff >> pcib2: memory decode 0xf0a00000-0xf0afffff >> pcib2: no prefetched decode >> pcib2: Subtractively decoded bridge. >> pci2: <PCI bus> on pcib2 >> pci2: domain=0, physical bus=2 >> ********************* >> >> The topology the developers of vbox try to build is this: >> >> >> ----------------------------------------------------------- pci bus 0 >> | | >> ___ |______ _____|____ >> | | | | >> | Bridge1 | | Bridge2 | >> |_________| |_________| >> | | >> ----------- pci bus 1 ------------ pci bus 2 >> >> >> >> The problem is that the pci bridge1 connects the bus0 to the bus1 and >> thus the primary bus would 0; the secondary would the 1 because the bus 1 >> doesn't >> connect any other bus through any other bridge then its subordinate must >> be also 1. The pci bridge1 connects the pci bus 0 with the pci bus 2; the >> primary must be 0 and the secondary and subordinate must be 2: >> >> The vbox programmers set the subordinate bus of bridge1 to 2 and the >> subordinate of bridge2 to 3 (which is incorrect). At pci_pci.c we can add >> quirks to circumvent this (we can't change real hardware) but in this case >> we can change the hardware. >> >> I'm attaching the patch that changes the behavior of vbox. The output >> of FreeBSD virtual machine with the modified 'hardware' is this: >> >> ************* >> pcib1: <PCI-PCI bridge> at device 24.0 on pci0 >> pcib1: domain 0 >> pcib1: secondary bus 1 >> pcib1: subordinate bus 1 >> pcib1: no prefetched decode >> pcib1: Subtractively decoded bridge. >> pci1: <PCI bus> on pcib1 >> pci1: domain=0, physical bus=1 >> pcib2: <PCI-PCI bridge> at device 25.0 on pci0 >> pcib0: allocated type 4 (0xe000-0xefff) for rid 1c of pcib2 >> pcib0: allocated type 3 (0xf0a00000-0xf0afffff) for rid 20 of pcib2 >> pcib2: domain 0 >> pcib2: secondary bus 2 >> pcib2: subordinate bus 2 >> pcib2: I/O decode 0xe000-0xefff >> pcib2: memory decode 0xf0a00000-0xf0afffff >> pcib2: no prefetched decode >> pcib2: Subtractively decoded bridge. >> pci2: <PCI bus> on pcib2 >> pci2: domain=0, physical bus=2 >> ********************* >> >> Which is what should be according to the simple topology of the buses >> and bridges. It works as it should. I hope I did not say anything wrong. > > > Looks like the mailing list ate the attachment. I can be downloaded here: > > http://www-entel.upc.edu/gus/patch-src-VBox-Devices-Bus-DevPciIch9.cpp > > Best, > > Gustau > > -- > --------------------------------------------------------------------------- > Prou top-posting : http://ca.wikipedia.org/wiki/Top-posting > Stop top-posting : http://en.wikipedia.org/wiki/Posting_style > > O O O Gustau Pérez i Querol > O O O Departament d'Enginyeria Telemàtica > O O O Universitat Politècnica de Catalunya > Edifici C3 - Despatx S101-B > UPC Campus Nord UPC > C/ Jordi Girona, 1-3 > 08034 - Barcelona > > _______________________________________________ > [email protected] mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-emulation > To unsubscribe, send any mail to "[email protected]"
Thanks to avg@ who got my attention on that report. I just committed the patch to our devel repository and will see what upstream thinks about that. http://redports.org/changeset/6948 -- Bernhard Froehlich http://www.bluelife.at/ _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-emulation To unsubscribe, send any mail to "[email protected]"
