Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Aug 2012 18:36:17 +0200
From:      =?UTF-8?B?R3VzdGF1IFDDqXJleiBpIFF1ZXJvbA==?= <gperez@entel.upc.edu>
To:        Andriy Gapon <avg@freebsd.org>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: Problem adding more than 8 network adapters
Message-ID:  <503E4501.6070607@entel.upc.edu>
In-Reply-To: <503E2453.9040407@FreeBSD.org>
References:  <503C930C.3010405@entel.upc.edu> <503DE1BC.4050907@entel.upc.edu> <20120829101202.GA74970@server.rulingia.com> <201208290813.55855.jhb@freebsd.org> <503E1961.80402@FreeBSD.org> <503E1F02.6050505@entel.upc.edu> <503E2453.9040407@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Al 29/08/2012 16:16, En/na Andriy Gapon ha escrit:
> on 29/08/2012 16:54 Gustau Pérez i Querol said the following:
>> Al 29/08/2012 15:30, En/na Andriy Gapon ha escrit:
>>> 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).
>>>
>>     The output of lspci gives the same info as pciconf. I'm attaching it however.
> [snip]
>> 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 0
>> 	Bus: primary=01, secondary=01, subordinate=02, sec-latency=0
>> 	!!! Unknown I/O range types e0/df
>> 	!!! Unknown memory range types f100/f0ff
>>
>> 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 0
>> 	Bus: primary=02, secondary=02, subordinate=03, sec-latency=0
>> 	!!! Unknown I/O range types e0/df
>> 	!!! Unknown memory range types f100/f0ff
> I think that I was wrong with regard to Linux.  I see that it does extensive
> bridge reconfiguring if it notices any insanity.  And I'd say that VirtualBix does
> create an insane config here.
> I believe that primary should be 0, secondary should be 1 and 2 respectively (as
> they are) and subordinate should be equal to secondary.  So primary bus numbers
> and subordinate bus numbers are insane here.
> I am not sure how much the incorrect bus numbers actually affect FreeBSD PCI-PCI
> driver as it does not seem to use primary and subordinate numbers for anything
> important.
>
> Memory and I/O misconfiguration are most likely much more important here.
>
> In any case, here is a link to the broken VirtualBox code:
> http://www.virtualbox.org/svn/vbox/trunk/src/VBox/Devices/Bus/DevPciIch9.cpp
> See function ich9pciInitBridgeTopology, which sets primary bus and secondary bus
> to X and subordinate bus to X+1.
>
> And here a link to Linux code that re-configures those bus numbers:
> http://lxr.linux.no/#linux+v3.5.3/drivers/pci/probe.c#L663
>
> I bet that was "bus configuration invalid, reconfiguring" message during Linux boot.

    I did not see that message.

    Anyhow I found how to fix VBox to work as it should. I think I'm 
closing this thread and move it to @emulation.

    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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?503E4501.6070607>