On Wednesday, April 27, 2016 04:31:12 PM John Baldwin wrote:
> Author: jhb
> Date: Wed Apr 27 16:31:12 2016
> New Revision: 298708
> URL: https://svnweb.freebsd.org/changeset/base/298708
> 
> Log:
>   Implement a PCI bus rescan method.
>   
>   Rescanning a PCI bus uses the following steps:
>   - Fetch the current set of child devices and save it in the 'devlist'
>     array.
>   - Allocate a parallel array 'unchanged' initalized with NULL pointers.
>   - Scan the bus checking each slot (and each function on slots with a
>     multifunction device).
>   - If a valid function is found, look for a matching device in the 'devlist'
>     array.  If a device is found, save the pointer in the 'unchanged' array.
>     If a device is not found, add a new device.
>   - After the scan has finished, walk the 'devlist' array deleting any
>     devices that do not have a matching pointer in the 'unchanged' array.
>   - Finally, fetch an updated set of child devices and explicitly attach any
>     devices that are not present in the 'unchanged' array.
>   
>   This builds on the previous changes to move subclass data management into
>   pci_alloc_devinfo(), pci_child_added(), and bus_child_deleted().
>   
>   Subclasses of the PCI bus use custom rescan logic explicitly override the
>   rescan method to disable rescans.
>   
>   Differential Revision:      https://reviews.freebsd.org/D6018

Argh, I thought for certain I had done a tinderbox build, but using
kobj_error_method breaks the build.  I will test a fix that adds a
null_rescan method instead and commit it shortly.

-- 
John Baldwin
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to