freebsd-dev/share
John Baldwin 4ef60d2686 Add support for multiple passes of the device tree during the boot-time
probe.  The current device order is unchanged.  This commit just adds the
infrastructure and ABI changes so that it is easier to merge later changes
into 8.x.
- Driver attachments now have an associated pass level.  Attachments are
  not allowed to probe or attach to drivers until the system-wide pass level
  is >= the attachment's pass level.  By default driver attachments use the
  "last" pass level (BUS_PASS_DEFAULT).  Driver's that wish to probe during
  an earlier pass use EARLY_DRIVER_MODULE() instead of DRIVER_MODULE() which
  accepts the pass level as an additional parameter.
- A new method BUS_NEW_PASS has been added to the bus interface.  This
  method is invoked when the system-wide pass level is changed to kick off
  a rescan of the device tree so that drivers that have just been made
  "eligible" can probe and attach.
- The bus_generic_new_pass() function provides a default implementation of
  BUS_NEW_PASS().  It first allows drivers that were just made eligible for
  this pass to identify new child devices.  Then it propogates the rescan to
  child devices that already have an attached driver by invoking their
  BUS_NEW_PASS() method.  It also reprobes devices without a driver.
- BUS_PROBE_NOMATCH() is only invoked for devices that do not have
  an attached driver after being scanned during the final pass.
- The bus_set_pass() function is used during boot to raise the pass level.
  Currently it is only called once during root_bus_configure() to raise
  the pass level to BUS_PASS_DEFAULT.  This has the effect of probing all
  devices in a single pass identical to previous behavior.

Reviewed by:	imp
Approved by:	re (kib)
2009-06-09 14:26:23 +00:00
..
colldef According to a proposed Norwegian standard for alphabetization of which 2008-07-30 15:37:13 +00:00
dict Correct typos containing my login name (plus one more in expr.y). 2007-02-18 19:48:59 +00:00
doc Update BIND to version 9.6.1rc1. This version has better performance and 2009-05-31 05:42:58 +00:00
examples Where if not in examples we should follow style(9)? 2009-06-03 09:28:58 +00:00
info
man Add support for multiple passes of the device tree during the boot-time 2009-06-09 14:26:23 +00:00
me
misc Add self, list mentor in committers-src.dot 2009-06-08 22:03:37 +00:00
mk Add support for the build options that are currently in the port: 2009-06-01 21:58:59 +00:00
mklocale "NONE" -> "ASCII" encoding 2008-01-23 04:25:10 +00:00
monetdef International code for Russian Ruble is changed from RUR to RUB 2007-02-28 16:28:49 +00:00
msgdef Update korean locale messages: 2008-02-01 20:15:21 +00:00
numericdef Add locales for nb_NO and nn_NO. 2006-11-09 18:10:34 +00:00
security
sendmail Dont install .svn metadata with the sendmail install. 2008-05-31 19:15:15 +00:00
skel Add explicit test so that non-existence of /usr/games/fortune 2009-03-27 21:13:14 +00:00
snmp
syscons Euro is missing 2009-05-25 17:06:24 +00:00
tabset
termcap - Remove kH (kp_kll) from screen. It has the identical key sequence as 2009-03-01 07:08:46 +00:00
timedef [patch] [locale] German locales use old %d.%m.%y date format instead of newer ISO date 2009-06-08 05:33:08 +00:00
zoneinfo MFV of tzdata2009i: 2009-06-09 00:09:36 +00:00
Makefile Whitespace nit 2008-10-08 13:20:02 +00:00
Makefile.inc