Commit Graph

50 Commits

Author SHA1 Message Date
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
ragge
29a5673f41 BROKEN_SWAP removed, swapping verified OK.
pmap_collect(pmap) added as null define.
1995-05-05 14:13:01 +00:00
ragge
bd890814cf Removed cpu_set_init_frame() use.
Increased default limits of memory use, ridiculously small before.
1995-05-05 10:53:53 +00:00
cgd
8703076975 define BROKEN_SWAP and/or cpu_swapout as appropriate. 1995-05-05 03:41:51 +00:00
ragge
a412d4803c mtpr support for 11/780 added. DELAY added. mcount() corrected.
trapframe fixed to support all registers.
1995-05-03 19:53:40 +00:00
ragge
c362495157 Some bug fixes & update of pcb. 1995-03-30 20:42:55 +00:00
ragge
1e9d064a15 Def's for uVAXII added. 1995-02-23 17:51:41 +00:00
ragge
4fb1817e07 Lots of fixes... 1995-02-13 00:43:20 +00:00
ragge
ca49094181 Lots of updates & fixes. 1994-11-25 19:08:50 +00:00
cgd
d62187c043 new RCS ID format. 1994-10-26 08:01:33 +00:00
ragge
e2ce91ebf4 Changes to make files more 4.4/1.0B working. 1994-10-08 15:43:53 +00:00
ragge
8026fb53f2 Initial VAX port merging. 1994-08-02 20:18:46 +00:00