on 29/08/2012 15:13 John Baldwin said the following:
> On Wednesday, August 29, 2012 6:12:02 am Peter Jeremy wrote:
>> [Moving to -stable and adding jhb@ for his input]
>>
>> On 2012-Aug-29 11:32:44 +0200, Gustau Pérez i Querol <gpe...@entel.upc.edu> 
>> wrote:
[snip]
>> Ah..  lspci shows the 9th LANCE at 02:00.0.  The verbose boot shows
>> FreeBSD finds pcib2 (at pci0 device 25.0) but doesn't see anything
>> on that bus.  ISTR jhb@ will recognize that problem.
> 
> Silly firmware, VM, whatever it is. :)  It's buggy.
> 
>>> 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
>>> pcib2:   domain            0
>>> pcib2:   secondary bus     2
>>> pcib2:   subordinate bus   3
>>> pcib2:   no prefetched decode
>>> pcib2:   Subtractively decoded bridge.
>>> pci2: <PCI bus> on pcib2
>>> pci2: domain=0, physical bus=2
> 
> This is indeed the problem.  PCI bus 2 is "claimed" by both pcib1 and pcib2
> since the VM author programmed the bridges incorrectly.  In this case, the
> subordinate bus should be "1" and "2", not "2" and "3".  You could add a hack
> to pci_pci.c to fix the subordinate bus on these bridges which should probably
> fix this.
> 
>>> 00:18.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f2) 
>>> (prog-if 01 [Subtractive decode])
>>>     Flags: bus master, 66MHz, fast devsel, latency 64
>>>     Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
>>>
>>> 00:19.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f2) 
>>> (prog-if 01 [Subtractive decode])
>>>     Flags: bus master, 66MHz, fast devsel, latency 64
>>>     Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
>>>     I/O behind bridge: 00001000-00001fff
>>>     Memory behind bridge: 40000000-400fffff
> 
> Note here in this output (presumably from lspci under Linux?), the
> subordinate bus register == secondary bus register for each bridge.
> 

I wonder where the discrepancy could come from.
Why would VirtualBox emulate the bridge differently for different OSes?
And I do not see any quirks related to bus numbers for this PCI ID in either
Linux, FreeBSD or lspci code...

I think that output of lspci on FreeBSD could be interesting too (it's available
via sysutils/pciutils port).

-- 
Andriy Gapon
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to