History log of /src/sys/arch/alpha/tlsb/tlsb.c |
Revision | | Date | Author | Comments |
1.42 |
| 06-Mar-2024 |
thorpej | Tidy up TLSB autoconfiguration just a bit.
|
1.41 |
| 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.40 |
| 04-Jul-2021 |
thorpej | branches: 1.40.2; Remove unnecessary #include <sys/malloc.h>
|
1.39 |
| 24-Apr-2021 |
thorpej | branches: 1.39.2; 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.38 |
| 26-Mar-2014 |
christos | branches: 1.38.44; kill sprintf
|
1.37 |
| 06-Feb-2012 |
matt | branches: 1.37.6; 1.37.10; Do a minor cleanup of alpha (this will make applying pullups post branching easier). u_int{8,16,32,64}_t -> uint{*}_t Change all old-style definitions to C89 prototypes. Whitespace cleanup. Constification in db_disasm.c
|
1.36 |
| 14-Jun-2011 |
matt | branches: 1.36.2; 1.36.6; Major cleanup of alpha device drivers. Switch to CFATTACH_DECL_NEW. struct device * -> device_t struct cfdata * -> cfdata_t Use of device_xname. No direct access to struct device members. Use aprint* (not complete).
|
1.35 |
| 06-Jun-2011 |
matt | CFATTACH_DECL(..., sizeof(struct device), -> CFATTACH_DECL_NEW(..., 0 struct device * -> device_t struct cfdata * -> cfdata_t
|
1.34 |
| 14-Mar-2009 |
dsl | branches: 1.34.4; 1.34.10; Change about 4500 of the K&R function definitions to ANSI ones. There are still about 1600 left, but they have ',' or /* ... */ in the actual variable definitions - which my awk script doesn't handle. There are also many that need () -> (void). (The script does handle misordered arguments.)
|
1.33 |
| 14-Mar-2009 |
dsl | Remove all the __P() from sys (excluding sys/dist) Diff checked with grep and MK1 eyeball. i386 and amd64 GENERIC and sys still build.
|
1.32 |
| 04-Mar-2007 |
christos | branches: 1.32.44; 1.32.52; 1.32.58; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.31 |
| 11-Dec-2005 |
christos | branches: 1.31.26; merge ktrace-lwp.
|
1.30 |
| 26-Aug-2005 |
drochner | kill some more simple submatch() functions, use config_stdsubmatch()
|
1.29 |
| 25-Aug-2005 |
drochner | replace the "locdesc_t" structure carrying the number of locators explicitely by a plain integer array the length in now known to all relevant parties, so this avoids duplication of information, and we can allocate that thing in drivers without hacks
|
1.28 |
| 02-Jun-2005 |
drochner | branches: 1.28.2; add more "const"
|
1.27 |
| 13-Sep-2004 |
drochner | pass locators to tlsbsubmatch() XXX the "offset" locator is unused appearently, assume that "0" is a sensible value
|
1.26 |
| 01-Jan-2003 |
thorpej | branches: 1.26.2; Use aprint_normal() for cfprint routines.
|
1.25 |
| 02-Oct-2002 |
thorpej | Use CFATTACH_DECL().
|
1.24 |
| 27-Sep-2002 |
thorpej | Declare all cfattach structures const.
|
1.23 |
| 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.22 |
| 12-Jul-2001 |
thorpej | branches: 1.22.2; bzero -> memset
|
1.21 |
| 21-Apr-2001 |
thorpej | branches: 1.21.2; Adjust the way the cpu_info[] array works (array of pointers rather than array of structures). Keep a list of active CPUs and define a CPU_INFO_FOREACH to traverse them.
This fixes cpustates statistics tracking.
|
1.20 |
| 20-Apr-2001 |
thorpej | Adjust for a multiprocessor data structure change (whee, I guess I haven't built a GENERIC.MP for a while...)
|
1.19 |
| 10-Aug-1999 |
thorpej | branches: 1.19.2; 1.19.14; Move cpu_info and related info into <machine/cpu.h>, and implement the other MP API components discussed on tech-smp.
|
1.18 |
| 10-Apr-1999 |
cgd | be more consistent about use of 'cputype'. e.g. it's in a header, don't bother 'externing' it everywhere!
|
1.17 |
| 23-Feb-1999 |
thorpej | branches: 1.17.4; Now that we have the kthread mechanism, massively clean up the way additional processors are spun up on multiprocessor Alpha systems. Now, each processor gets its own idle thread (the primary processor uses proc0). This idle thread is used in switch_exit(), rather than explicitly referencing proc0.
Also, make `curproc', `fpcurproc', and `curpcb' per-cpu values. This required some data structure rearrangement; cpu info is now statically allocated in the BSS, rather than via malloc(), and cpu_softc is gone. (Modeled somewhat after NetBSD/sparc's multiprocessor info structures.)
|
1.16 |
| 12-Feb-1999 |
thorpej | Fix printf format problems on Alpha. (IRONIC?!)
|
1.15 |
| 19-Nov-1998 |
ross | More include shuffling.
|
1.14 |
| 01-Oct-1998 |
ross | If not MULTIPROCESSOR then identify the interrupt target cpu by hwrpb id (%d) rather than attachment name, and hence avoid referencing `cpus'.
|
1.13 |
| 29-Sep-1998 |
thorpej | - Do not set TLCPUMASK on non-I/O nodes. That register exists only on I/O nodes. Previous code erroneously set it on CPU nodes only. - In both the single- and multi-processor case, route all interrupts from I/O nodes to the primary CPU, for now.
|
1.12 |
| 08-Jul-1998 |
mjacob | Clarify comment about what nodes are being 'found' and noted for later use by an error handler:
* There can be only one TurboLaser, and we'll overload it * with a bitmap of found turbo laser nodes. Note that * these are just the actual hard TL node IDS that we * discover here, not the virtual IDs that get assigned * to CPUs. During TLSB specific error handling we * only need to know which actual TLSB slots have boards * in them (irrespective of how many CPUs they have).
|
1.11 |
| 08-Jul-1998 |
mjacob | There can only be one TurboLaser node, and now we'll overload into the integer tlsb_found a bit map of found nodes and export it to the rest of the kernel. This is so that at machine check time when we're doing some TLSB/KFTXX error handling we don't have to attempt a badaddr to look at all TLSB nodes (which will just be too sad to try...).
|
1.10 |
| 14-May-1998 |
thorpej | Garbage-collect the old confargs stuff that was used in the Early Days. It isn't really appropriate anymore. Replace it with a real mainbus attach args structure.
|
1.9 |
| 13-May-1998 |
thorpej | Cleanup TurboLaser autoconfiguration somewhat.
|
1.8 |
| 15-Apr-1998 |
mjacob | some cleanup
|
1.7 |
| 12-Jan-1998 |
thorpej | Adjust for config changes.
|
1.6 |
| 02-Sep-1997 |
thorpej | Nuke the idea of <machine/options.h>. It completely defeats the purpose of fine-grain option dependencies.
|
1.5 |
| 17-Jul-1997 |
jtk | branches: 1.5.2; 1.5.4; use locator defines in "locators.h" to index cf_loc[]
|
1.4 |
| 07-Apr-1997 |
cgd | branches: 1.4.2; by default, provide RCS IDs for NetBSD/alpha kernel files in kernel binaries. This can be disabled (to save a bit of space) with the NO_KERNEL_RCSIDS options, which is present but commented out in the ALPHA config file. In ELF-format kernels, these strings are present in the kernel binary but are not loaded into memory. (In ECOFF-format kernels, there's no easy way to keep them from being loaded, so they _are_ loaded into memory.)
|
1.3 |
| 06-Apr-1997 |
cgd | clean up NetBSD RCS ID strings, include machine/options.h
|
1.2 |
| 12-Mar-1997 |
cgd | Copyright notice consistency, per Matthew Jacob.
|
1.1 |
| 12-Mar-1997 |
cgd | AlphaServer 8200 & 8400 support, including CPU specific details, TurboLaser system bus support, and KFTxx support. From Matthew Jacob, NASA Ames Research Center.
|
1.4.2.2 |
| 22-Jul-1997 |
cgd | sync nwscons branch with changes in -current as of July 21, 1997
|
1.4.2.1 |
| 01-Jun-1997 |
cgd | sync the nwscons branch up with yesterday's version of the trunk. Lots of conflicts/changes because of the RCS Id format changes. Also, a few cleanups and corrections.
|
1.5.4.2 |
| 17-Jul-1997 |
jtk | use locator defines in "locators.h" to index cf_loc[]
|
1.5.4.1 |
| 17-Jul-1997 |
jtk | file tlsb.c was added on branch alpha-nwscons on 1997-07-17 01:27:23 +0000
|
1.5.2.1 |
| 04-Sep-1997 |
thorpej | Update marc-pcmcia branch from trunk.
|
1.17.4.1 |
| 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.19.14.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.19.2.1 |
| 23-Apr-2001 |
bouyer | Sync with HEAD.
|
1.21.2.2 |
| 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.21.2.1 |
| 03-Aug-2001 |
lukem | update to -current
|
1.22.2.3 |
| 03-Jan-2003 |
thorpej | Sync with HEAD.
|
1.22.2.2 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.22.2.1 |
| 12-Jul-2001 |
nathanw | file tlsb.c was added on branch nathanw_sa on 2002-10-18 02:34:34 +0000
|
1.26.2.3 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.26.2.2 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.26.2.1 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.28.2.2 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.28.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.31.26.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.32.58.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.32.52.1 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.32.44.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.34.10.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.34.4.1 |
| 12-Jun-2011 |
rmind | sync with head
|
1.36.6.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.36.2.2 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.36.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.37.10.1 |
| 18-May-2014 |
rmind | sync with head
|
1.37.6.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.38.44.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.38.44.1 |
| 22-Mar-2021 |
thorpej | Mechanical conversion of config_found_sm_loc() -> config_found(). CFARG_IATTR usage needs to be audited.
|
1.39.2.1 |
| 01-Aug-2021 |
thorpej | Sync with HEAD.
|
1.40.2.1 |
| 03-Aug-2021 |
thorpej | Adapt to CFARGS().
|