Commit Graph

61 Commits

Author SHA1 Message Date
thorpej 8eb3b954f1 Don't need to prototype child_return() here, it's in <sys/proc.h>. 2001-06-14 22:56:55 +00:00
ragge f81f19e7b3 Add rudimentary multiprocessor support for DDB. 2001-06-04 21:37:11 +00:00
ragge da2e5c43e1 Add IPI_TBIA to flush the translation buffer. 2001-06-04 15:34:15 +00:00
ragge e2f864bf95 Break out the MP-dependent calls. Add definitions for the IPI functions. 2001-06-03 15:12:57 +00:00
mrg 67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
ragge 2de1ab0486 Add ci_cpuid.
Change the CLKF_ macros because the idle loop is now running at IPL1.
2001-05-29 21:29:32 +00:00
ragge a81d92ef69 Add prototype. 2000-12-02 17:08:32 +00:00
thorpej 4db6fc7542 Make need_resched() take a "struct cpu_info *" argument. This
causes gives a primitive form of processor affinity.  Its use in
roundrobin() still needs some work.
2000-08-25 01:04:06 +00:00
ragge e50ddafc0b Add badaddr() field. 2000-07-26 11:55:01 +00:00
ragge e7aefcd7ae Allow printf's from slave CPUs by stealing the v_putc function.
Easier than expected because the printout lock is hold in the higher levels.
2000-06-11 07:50:11 +00:00
ragge b826825917 Code to spin up other CPUs on a VAX 8200 system.
Haven't solved the printf() problem yet, though.
2000-06-10 14:59:38 +00:00
matt b8cccfafd8 Move spl macros from <machine/param.h> to <machine/intr.h>
Fix botch on my part and make the IPL_* match reality on VAX.
Redefine spl macro using the symbolic IPL_ instead of being hardcoded.
Move schedsoftnet, schedsoftclock from <machine/cpu.h> to <machine/intr.h>
Add a _setsirr macro for schedsoft*.
Add softintr function and framework.
2000-06-02 21:47:02 +00:00
matt 22635242c9 Eliminate booted_from. extern'ed booted_device (for raidframe). nothing
outside autoconf.c in sys/arch/vax needs to deal with booted_device).
2000-05-31 23:55:51 +00:00
ragge 992002c2be Use the cpu_info struct to store cpu-specific data in the same way in
both uniprocessor and multiprocessor environments. Use the otherwise
unused internal CPU register SSP to store the cpu_info pointer.
The macros curcpu(), curproc, cpu_number() and need_resched() are now the
same in both uniprocessor and multiprocessor environments.
2000-05-29 20:00:55 +00:00
ragge 99baa81ae7 Rewrite cpu_fork(), it now looks like and works as other ports' cpu_fork()
(calling child_return() etc...). Have fun, Jason!
2000-05-27 16:33:04 +00:00
matt fa1474c2eb This need <sys/sched.h> to compile. 2000-05-27 03:23:22 +00:00
thorpej a7d0570e67 First sweep at scheduler state cleanup. Collect MI scheduler
state into global and per-CPU scheduler state:

	- Global state: sched_qs (run queues), sched_whichqs (bitmap
	  of non-empty run queues), sched_slpque (sleep queues).
	  NOTE: These may collectively move into a struct schedstate
	  at some point in the future.

	- Per-CPU state, struct schedstate_percpu: spc_runtime
	  (time process on this CPU started running), spc_flags
	  (replaces struct proc's p_schedflags), and
	  spc_curpriority (usrpri of processes on this CPU).

	- Every platform must now supply a struct cpu_info and
	  a curcpu() macro.  Simplify existing cpu_info declarations
	  where appropriate.

	- All references to per-CPU scheduler state now made through
	  curcpu().  NOTE: this will likely be adjusted in the future
	  after further changes to struct proc are made.

Tested on i386 and Alpha.  Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
2000-05-26 21:19:19 +00:00
matt 88352edc02 Add prototype for findcpu in _STANDALONE. 2000-05-22 15:55:52 +00:00
ragge dd22df3dc8 Ops, forgot to commit this. 2000-04-22 08:19:49 +00:00
ragge f9f885519d First cut of multiprocessor support for vax. Still much to do before
other CPUs than the master can spin up.
2000-03-19 14:56:52 +00:00
ragge ae7e9d1571 Protect against multiple includes. 1999-10-21 20:01:36 +00:00
thorpej 11cae42531 Centralize the declaration and clearing of `cold'. 1999-09-17 19:59:35 +00:00
thorpej 28fb7c1eb8 Define cpu_number() as discussed on tech-smp. 1999-08-10 21:08:05 +00:00
ragge bc163ccc30 Clean up all bus handling stuff, it has become a mess the latest years.
Add a new bus; "ibus" that is the internal MicroVAX bus.
1999-08-07 10:36:43 +00:00
ragge 539f825799 Better and more understandable way to find out CPU type. 1999-05-23 22:56:53 +00:00
ragge fc6020e344 Real-time clock is started on the same way on all CPUs, there is no
need for a special CPU-dependent hook for this.
1999-05-01 16:13:43 +00:00
ragge e9689cc9bd Use "access_type" in pmap_enter() more intelligent.
Allocate device register space bigger than the logical page size
from the kernel map, thus decreasing the pre-allocated page table memory.
1999-04-17 00:01:18 +00:00
ragge 13daba04a1 Another giant change: Allocate register space dynamic instead of compiled-in.
This is done on a physical page size basis, instead of virtual (as the
(on vax yet non-existing) bus_* routines does). This is similar to the
way uba allocation is done.
1999-02-02 18:37:20 +00:00
ragge bef0af5311 Allocate (almost) all interrupt vectors dynamically. Simplifies much
work when adding support for new machines and devices.
1999-01-19 21:04:47 +00:00
matt 4cbbe0abff Latent support for revamped "local bus" support. 1998-10-27 21:18:52 +00:00
thorpej d681cf055a configure() prototype is in <sys/device.h> 1998-10-06 20:50:15 +00:00
thorpej 5006dbf868 cpu_set_kpc() prototype is already in <sys/systm.h>. 1998-10-05 22:11:15 +00:00
ragge 972b94efc4 Basic support for VS4000/60. 1998-08-10 14:31:07 +00:00
ragge b25b5bddd1 #ifdef _KERNEL whole this file. 1998-06-09 14:03:24 +00:00
ragge 9251293f18 Remove unnecessary code for interrupt vector handling. 1998-05-22 09:49:07 +00:00
ragge eaeee62af2 Wall cleaning. 1998-04-13 12:10:26 +00:00
ragge 84f5dc2404 Fix clearing of redundant restart flag; CPU specific.
Also clean up a bit.
1997-11-02 14:07:07 +00:00
ragge ab4412faad Actually do 'halt' or 'reboot' on MicroVAX. 1997-07-26 10:12:40 +00:00
ragge 1d90a0a507 Add definitions for DEC HW device numbers. 1997-03-15 15:09:40 +00:00
ragge e86bc96653 Basic change to cpu-config code. This will make support of new
cpu types much easier.
1997-02-19 10:04:09 +00:00
ragge e7d1921239 Remove bogus prototypes. 1997-02-12 17:58:56 +00:00
thorpej fc9c10afb7 Update prototypes to match new calling convention of functions that
find the boot device.
1997-01-31 02:11:51 +00:00
ragge caff7b03d4 Numerous changes to be able to put Bertram Barth's VAXstation support in.
(Some) Support for VAXstation 2000/MicroVAX 2000, VAXstation 3100/76.
1996-07-20 17:58:12 +00:00
ragge a5b04afcd8 Automatic changing of root device after boot now works. 1996-07-11 19:33:50 +00:00
ragge 7cbd855ad6 Fixed all (proto)type errors. Fixes PR 2377. 1996-05-19 16:43:02 +00:00
ragge a24af7a7c2 Added prototypes to everything. Made all files compile with -Wall. 1996-04-08 18:32:26 +00:00
ragge 5d89814116 Changes due to 11/780 support. Raise splimp() to BR7. 1996-03-02 14:27:52 +00:00
mycroft 9d9a70a5a2 Fix #includes. 1996-02-02 18:05:36 +00:00
ragge 56ad9078eb MicroVAX III support added. 1995-12-13 18:57:57 +00:00
ragge 215feb7abb New file pcb.h. USRTEXT changed to 0x400. 1995-06-05 17:17:57 +00:00