svn commit: r284078 - head/sys/dev/pci

Marcel Moolenaar marcel at xcllnt.net
Sat Jun 6 17:15:25 UTC 2015


> On Jun 6, 2015, at 10:08 AM, John Baldwin <jhb at FreeBSD.org> wrote:
> 
> On Saturday, June 06, 2015 09:18:22 AM Marcel Moolenaar wrote:
>> 
>>> On Jun 6, 2015, at 9:03 AM, John Baldwin <jhb at FreeBSD.org> wrote:
>>> 
>>> On Saturday, June 06, 2015 03:51:12 PM Marcel Moolenaar wrote:
>>>> Author: marcel
>>>> Date: Sat Jun  6 15:51:11 2015
>>>> New Revision: 284078
>>>> URL: https://svnweb.freebsd.org/changeset/base/284078
>>>> 
>>>> Log:
>>>> Don't return -10000 as the probe priority. That's lower than what
>>>> BUS_PROBE_HOOVER is. Drivers like proto(4), when compiled into the
>>>> kernel or preloaded, will render your system useless by virtue of
>>>> attaching to your PCI busses.
>>>> 
>>>> Return BUS_PROBE_GENERIC instead. It's just the next priority up
>>>> from BUS_PROBE_HOOVER. No other meaning has been give to its use.
>>>> While BUS_PROBE_DEFAULT seems like a better candidate, it's hard
>>>> not to think that there must be some reason why these drivers
>>>> return -10000 in the first place.
>>> 
>>> BUS_PROBE_DEFAULT would conflict with other drivers that are supposed to
>>> override these, such as acpi_pcib_pci which should override pci_pci
>>> for PCI-PCI bridges in the ACPI namespace.  That driver currently hardcodes
>>> -1000 itself. :-/  Then there's pcibios_pcib_probe for the $PIR PCI-PCI
>>> bridge driver for when ACPI isn't present.  It returns -2000.  The
>>> MPTable PCI-PCI bridge driver returns -1000 like ACPI.
>> 
>> So that means we have a regression. Do you want me to back out
>> or should we just move forward and fix those too.
> 
> Yeah, I just now realized this.  If you can fix this quickly it's probably ok
> to just fix it vs backing it out and committing a larger change.

I opted to back it out. I searched for all drivers that use
BUS_PROBE_HOOVER and it’s exactly one: proto(4). That’s a lot
easier then finding all drivers that return some negative
value that has some relation to PCI busses...

I’m just going to change BUS_PROBE_HOOVER to -1000000 instead.
In follow-up rounds we can change magical constants to defines
to make the whole pecking order more obvious/visible.

--
Marcel Moolenaar
marcel at xcllnt.net



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20150606/b1e28450/attachment.sig>


More information about the svn-src-all mailing list