I've just finished fixups to filo that make it quite a bit faster.
First, it used to scan the bus twice, the first time to do a count. That's slow, although it was a nice algorithm. But it only needed to find at most 2 devices.
Now it scans until the device is found and returns it. Even in the worst case, the new pci scan is always faster than the old.
There are new options in addition to PCI_BRUTE_SCAN.
PCI_BRUTE_SCAN means: scan everything ...
PCI_BRUTE_SCAN_START
... but start at this bus (VERY good on k8, as the scan of 0:19.* takes FOREVER).
PCI_BRUTE_SCAN_LIMIT = 2 ... and end here -1(useful when you know that the busses don't range to 256)
And the 'instant gratification' option:
IDE_HINT_BUS IDE_HINT_DEV IDE_HINT_FUNC
All three must be set or not set or you get a compile-time warning. IF all three are set, FILO will probe the device and IF it is an ide controller use that. If it's not an ide controller, filo will scan busses as usual.
This last option REALLY speeds things up
ron