Commit Graph

50 Commits

Author SHA1 Message Date
martin
ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
tsutsui
4090172b20 Don't forget to initialize sc_dev. 2008-03-29 05:42:45 +00:00
tsutsui
048fb884fc Split device_t and softc for MI mc146818 clock,
and other related misc cosmetics.
2008-03-28 19:05:49 +00:00
garbled
d974db0ada Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree.  Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches.  The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
2007-10-17 19:52:51 +00:00
tsutsui
13084fc846 Add MI todr(9) support and timercounter(9) support with kern_cctr.c to alpha:
- use todr(9) API with MI mc146818(4) driver and remove homegrown
  todr stuff from MD alpha/clock.c and alpha/mcclock.c
- also remove obsolete cc_microtime stuff from MD code
- add ci_pcc_freq member in struct cpu_info for cpu_frequency(), and
  calibrate it with mc146818 interval clock in mcclock attachment
- call cc_init() in cpu_initclocks(9) because all alpha cpus have
  a pcc counter

Tested on DEC 3000/300 and AlphaPC 164, but not on any SMP machines yet.
2007-07-21 11:59:55 +00:00
christos
53524e44ef Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. 2007-03-04 05:59:00 +00:00
christos
1665d5e960 fix spelling of accommodate; from Zapher. 2006-11-24 19:46:58 +00:00
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
drochner
096c3e1d2c kill some more simple submatch() functions, use config_stdsubmatch() 2005-08-26 10:13:05 +00:00
drochner
fa3cb84d62 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
2005-08-25 18:35:38 +00:00
drochner
94a3347a6f add more "const" 2005-06-02 13:17:45 +00:00
drochner
a02e2488a0 autoconf cleanup: turn xxxsubmatch() functions into the locator
passing variants
2004-09-13 14:57:31 +00:00
drochner
a48272e3d0 pass locators to tlsbsubmatch()
XXX the "offset" locator is unused appearently, assume that "0"
is a sensible value
2004-09-13 14:48:46 +00:00
thorpej
7ca7bdb37c Use aprint_normal() for cfprint routines. 2003-01-01 00:39:19 +00:00
thorpej
b96bc0d7bc Use CFATTACH_DECL(). 2002-10-02 04:06:36 +00:00
thorpej
9a711d6985 Declare all cfattach structures const. 2002-09-27 20:29:02 +00:00
thorpej
6c88de3b53 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.
2002-09-27 03:17:40 +00:00
thorpej
030941bc0d Only match the "gbus" on the primary CPU's CPU module. 2001-07-19 20:34:08 +00:00
thorpej
294259060c bzero -> memset 2001-07-12 23:25:39 +00:00
thorpej
24e7ecca97 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.
2001-04-21 16:27:10 +00:00
thorpej
97682364ef Adjust for a multiprocessor data structure change (whee, I guess
I haven't built a GENERIC.MP for a while...)
2001-04-20 18:03:27 +00:00
mjacob
77e40e844d Add some defines for TLSB interrupt mask and summary registers. Update
copyright.
2000-01-27 22:27:50 +00:00
thorpej
6be04b7f5c Move cpu_info and related info into <machine/cpu.h>, and implement the
other MP API components discussed on tech-smp.
1999-08-10 23:35:43 +00:00
cgd
6d0fadbd19 be more consistent about use of 'cputype'. e.g. it's in a header, don't
bother 'externing' it everywhere!
1999-04-10 01:21:36 +00:00
thorpej
76e4555f2c 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.)
1999-02-23 03:20:00 +00:00
thorpej
5194c207d0 Fix printf format problems on Alpha. (IRONIC?!) 1999-02-12 01:45:42 +00:00
ross
3f24fce866 More include shuffling. 1998-11-19 02:53:47 +00:00
ross
78492e307a If not MULTIPROCESSOR then identify the interrupt target cpu by hwrpb id (%d)
rather than attachment name, and hence avoid referencing `cpus'.
1998-10-01 22:57:30 +00:00
thorpej
183f609c83 - 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.
1998-09-29 04:22:36 +00:00
mjacob
638f0aab7c 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).
1998-07-08 01:03:41 +00:00
mjacob
adf058f0f7 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...).
1998-07-08 00:47:53 +00:00
mjacob
de4f340241 add some error handling specific definitions 1998-07-08 00:45:52 +00:00
mjacob
84076832df add some more offset definitions 1998-07-08 00:45:08 +00:00
thorpej
d19fbe1196 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.
1998-05-14 00:01:30 +00:00
thorpej
748d204949 Cleanup TurboLaser autoconfiguration somewhat. 1998-05-13 23:23:23 +00:00
thorpej
b24eb75496 Clean up a buglet. 1998-05-13 23:22:08 +00:00
thorpej
ca9600b324 Implement and use gbussubmatch(). 1998-05-13 22:13:35 +00:00
thorpej
b012e4e39b Normalize gbus configuration somewhat, and add support for configuring
the Zilog DUARTs.
1998-05-13 02:50:29 +00:00
mjacob
6ad4ba8370 some cleanup 1998-04-15 00:51:00 +00:00
thorpej
5419debcb7 Adjust for config changes. 1998-01-12 10:21:02 +00:00
thorpej
693b3e7262 Nuke the idea of <machine/options.h>. It completely defeats the purpose
of fine-grain option dependencies.
1997-09-02 13:17:47 +00:00
jonathan
7d9e8102ad Use new <dev/dec/clockvar.h> and and <dev/dec/mcclokvar.h>.
Garbage-collect original headers from sys/arch/alpha.
1997-07-22 18:50:52 +00:00
jtk
37f9c6bd88 use locator defines in "locators.h" to index cf_loc[] 1997-07-17 01:17:45 +00:00
thorpej
42dde867d8 Print the hose number in kftprint(). 1997-06-08 07:02:45 +00:00
cgd
86b5c1e498 make REGVAL macros use volatile pointers 1997-06-04 01:47:15 +00:00
cgd
90789b53dd 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.)
1997-04-07 23:39:37 +00:00
cgd
d6292c87e8 clean up NetBSD RCS ID strings, include machine/options.h 1997-04-06 20:09:04 +00:00
cgd
af228d12ab clean up NetBSD RCS ID strings 1997-04-06 20:08:28 +00:00
cgd
8c689e6477 Copyright notice consistency, per Matthew Jacob. 1997-03-12 21:09:43 +00:00
cgd
ffba332bb5 AlphaServer 8200 & 8400 support, including CPU specific details, TurboLaser
system bus support, and KFTxx support.  From Matthew Jacob, NASA Ames
Research Center.
1997-03-12 19:19:54 +00:00