Home | History | Annotate | Download | only in rmi
History log of /src/sys/arch/mips/rmi/rmixl_cpunode.c
RevisionDateAuthorComments
 1.6  29-Sep-2022  skrll Remove unnecessary include of <sys/malloc.h>.
 1.5  07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.4  24-Apr-2021  thorpej branches: 1.4.8;
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.3  01-Jul-2011  dyoung branches: 1.3.68;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.2  20-Feb-2011  matt Merge forward from matt-nb5-mips64.
 1.1  17-Jan-2010  cliff branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10;
file rmixl_cpunode.c was initially added on branch matt-nb5-mips64.
 1.1.10.1  05-Mar-2011  bouyer Sync with HEAD
 1.1.8.1  06-Jun-2011  jruoho Sync with HEAD.
 1.1.6.1  05-Mar-2011  rmind sync with head
 1.1.2.6  04-Jan-2012  matt Rework Fast Messaging Network support (it's now lockless).
Workaround a problem with bus 0 BAR sizing causing the registers behind
the BAR to become inaccessible.
Move much/most of the startup code from evbmips/rmixl/machdep to
mips/rmi/rmixl_machdep.c
Move the code to find the XLP variant to the early boot so it can be used
early.
8bit and 16bit accessed to PCI bus 0 cause cache errors so chagne the access
of pci mem to 32bits.
 1.1.2.5  24-Dec-2011  matt Add XLP support (i2c, console, pci, sdhc works).
 1.1.2.4  22-Mar-2010  cliff in cpunode_rmixl_attach use the right macro to obtain number of cores
provided by this chip.
 1.1.2.3  20-Jan-2010  matt cleanup attachments so that other mips cpus can use the same scheme.
 1.1.2.2  20-Jan-2010  matt Adjust things to the new world order.
 1.1.2.1  17-Jan-2010  cliff cpunode driver represents CPU node in device tree
 1.3.68.1  21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.4.8.1  04-Aug-2021  thorpej Adapt to CFARGS().

RSS XML Feed