Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/sparc/dev/bootbus.c
RevisionDateAuthorComments
 1.24  22-Jan-2022  thorpej Change the devhandle_from_*() functions to also take a "super handle",
from which the newly created handle will inherit it's implementation.
The root implementation for a new handle type is used if an invalid
"super handle" is passed.
 1.23  07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.22  10-May-2021  thorpej branches: 1.22.4;
Associate the OpenBoot / OpenFirmware node with attached devices
at config_found() time.
 1.21  24-Apr-2021  thorpej branches: 1.21.2; 1.21.4;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.20  22-Nov-2020  thorpej branches: 1.20.2;
malloc(9) -> kmem(9) (easy, straight-forward cases only, for now)
 1.19  18-Jul-2011  mrg branches: 1.19.66;
convert the remaining sparc drivers to CFATTACH_DECL_NEW/cfdata_t/device_t.
(cgsix_obio.c was only partially converted with the rest of the cgsix code
when it was changed some time ago.)
 1.18  01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.17  20-Sep-2009  tsutsui - use device_t and cfdriver_t
- use device_private() and device_xname()
- use proper types or variables for device_t/softc
 1.16  28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.15  11-Dec-2005  christos branches: 1.15.74; 1.15.76; 1.15.78;
merge ktrace-lwp.
 1.14  26-Aug-2005  drochner s/locdesc_t/int/g
 1.13  28-Jun-2005  drochner branches: 1.13.2;
convert remaining autoconf bus "submatch" functions to use the new
signature (passing locators), and remove some which obviously don't
serve any purpose
(untested, sorry)
 1.12  17-Mar-2004  pk Rename PROM_getprop*() => prom_getprop*().
 1.11  27-Aug-2003  mrg change PROM_getprop() from taking a "void **" for the storage, to a
"void *", and do the extra de-reference directly in the function. this
avoids having to cast dozens of different types to "void **", which sets
of GCC3's strict-aliasing. testing by martin@
 1.10  15-Jul-2003  lukem __KERNEL_RCSID()
 1.9  01-Jan-2003  thorpej branches: 1.9.2;
Use aprint_normal() for cfprint routines.
 1.8  02-Oct-2002  thorpej Add trailing ; to CFATTACH_DECL.
 1.7  01-Oct-2002  thorpej Use CFATTACH_DECL().
 1.6  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.5  27-Sep-2002  thorpej Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.
 1.4  27-Sep-2002  thorpej Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver. The cfdriver is then looked
up in a list which is built at run-time.
 1.3  25-Aug-2002  thorpej branches: 1.3.2; 1.3.4; 1.3.6;
Put a bus's ranges in the bus space tag, and make sparc_bus_map()
perform the translation and recursion if t->ranges != NULL. Make
sbus, cpuunit, and bootbus inherit the parent's map/mmap routines,
and delete the now-unused mapping functions. Update all places where
bus space tags are statically allocated.
 1.2  25-Aug-2002  thorpej Add a generic function to translate a device address using a
parent's "ranges" property, and use it.
 1.1  24-Aug-2002  thorpej Add autoconfiguration support for the Sun4d "bootbus". Add a
zs @ bootbus attachment.
 1.3.6.3  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.3.6.2  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.3.6.1  25-Aug-2002  jdolecek file bootbus.c was added on branch kqueue on 2002-09-06 08:40:48 +0000
 1.3.4.2  31-Aug-2002  gehenna catch up with -current.
 1.3.4.1  25-Aug-2002  gehenna file bootbus.c was added on branch gehenna-devsw on 2002-08-31 14:52:13 +0000
 1.3.2.4  03-Jan-2003  thorpej Sync with HEAD.

XXX ALT_SWITCH_CODE is not yet LWP'ified.
 1.3.2.3  18-Oct-2002  nathanw Catch up to -current.
 1.3.2.2  27-Aug-2002  nathanw Catch up to -current.
 1.3.2.1  25-Aug-2002  nathanw file bootbus.c was added on branch nathanw_sa on 2002-08-27 23:45:27 +0000
 1.9.2.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.9.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.9.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.9.2.1  03-Aug-2004  skrll Sync with HEAD
 1.13.2.1  21-Jun-2006  yamt sync with head.
 1.15.78.2  11-Mar-2010  yamt sync with head
 1.15.78.1  16-May-2008  yamt sync with head.
 1.15.76.1  18-May-2008  yamt sync with head.
 1.15.74.1  02-Jun-2008  mjf Sync with HEAD.
 1.19.66.1  14-Dec-2020  thorpej Sync w/ HEAD.
 1.20.2.2  22-Mar-2021  thorpej Audit CFARG_IATTR in config_found() calls, and remove it in situations
where the interface attribute is not ambiguous.
 1.20.2.1  22-Mar-2021  thorpej Mechanical conversion of config_found_sm_loc() -> config_found().
CFARG_IATTR usage needs to be audited.
 1.21.4.1  31-May-2021  cjep sync with head
 1.21.2.1  13-May-2021  thorpej Sync with HEAD.
 1.22.4.1  04-Aug-2021  thorpej Adapt to CFARGS().

RSS XML Feed