Commit Graph

33 Commits

Author SHA1 Message Date
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