Commit Graph

32 Commits

Author SHA1 Message Date
thorpej d74e432ed3 Make softclock a generic soft interrupt of the API is available,
adding the requisite void * argument to softclock().
2001-01-15 20:19:50 +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
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
thorpej 28fb7c1eb8 Define cpu_number() as discussed on tech-smp. 1999-08-10 21:08:05 +00:00
thorpej cabecee13c Changes to support fork_kthread():
- cpu_set_kpc() now takes void *arg third argument, passed to the
  entry point.
- cpu_fork() allows parent to be non-curproc iff parent is proc0.
  When forking non-curproc, assume its state has already been saved.
- Adjust various pieces of machine-dependent code to account of all of this.
1998-11-11 06:43:49 +00:00
thorpej b38544d99e Oops, back out a buglet I didn't intend to commit in the last change. 1998-10-07 18:29:26 +00:00
thorpej d681cf055a configure() prototype is in <sys/device.h> 1998-10-06 20:50:15 +00:00
matthias e790849ac4 missing bits from the -mrtd changes (declare do_softclock, changed prototype
for child_return).
1998-04-24 20:05:39 +00:00
matthias b78841616b * Add prototype for icu_init.
* Add new sysctl "machdep.ieee_disable". This can be used to disable the
  in kernel ieee trap handler. Then a usermode version of the code can be
  used for debugging. Thank's to Ian Dall for this suggestion.
1997-04-01 16:31:14 +00:00
matthias 62e4baf13e Add softnet prototype. 1997-03-22 08:29:19 +00:00
matthias 8462078c2a * Add prototypes for ieee_handle_exception, ram_size, restore_fpu_context
and save_fpu_context.
* Remove prototypes for cpu_reset (it is local to machdep.c) and
  startrtclock (it does no longer exist).
1997-03-20 12:02:36 +00:00
matthias 8f1067c4d8 * Remove some unused macros. 1997-02-08 09:32:33 +00:00
perry 19d153fc48 Nuke some options GENERIC residue. 1997-02-04 04:57:10 +00:00
matthias b30b4f9fcf * Define new sysctl variable "machdep.nkpde" (From the i386 port). 1996-12-23 08:37:37 +00:00
matthias 1731660b98 * Declare kvtop. 1996-10-23 07:30:54 +00:00
matthias b1bd20fbe2 * Delete define for DELAY.
* Add prototype for delay()
* Add prototypes for functions from various
machine dependent files.
1996-10-09 07:28:43 +00:00
phil dba4d32f68 Initial check-in of the ieee fp support for the pc532.
ieee fp support by Ian Dall, NetBSD/pc532 integration by Matthias Pfaller.
Includes setjmp/longjmp added to locore.s.
1996-04-04 06:36:03 +00:00
phil 6d5bf6a3ea Support for move to MI ncr5380 driver. 1996-03-11 20:56:48 +00:00
mycroft 9d9a70a5a2 Fix #includes. 1996-02-02 18:05:36 +00:00
phil 63d5234cbf Integration of many changes from Matthias Pfaller plus some of mine.
Several had:  _MACHINE_ICU_H_ -> _NS32K_ICU_H_

cpu.h		* Removed definition of cpu_swapout.
		* Added definition of cpu_wait.

frame.h		* added struct switchframe

icu.h		* tweeked ints_off

param.h		* More derived constants.
		* Alot of things taken over from i386/include/param.h.

pcb.h		* Removed pcb_flags (was unused) and pcb_pl.
		  The current priority level is now stored
		  in the switch frame by cpu_switch.

pmap.h		* Taken over from i386/include/pmap.h.

psl.h		* Add USERMODE definition

trap.h		* T_INTERRUPT -> T_AST

types.h		* Remove __FORK_BRAINDAMAGE

vmparam.h	* Taken over from i386/include/vmparam.h.
		  Added definition of INTSTACK.
1996-02-01 00:03:25 +00:00
cgd c83f9c5568 remove unused cpu_exec() definitions. moved "broken swap" markers, for
ports that still need it, to types.h.
1995-06-28 02:55:18 +00:00
phil 29db7c74b1 Changes from Matthias Pfaller: lpt driver changes, clock code similar
to i386, interrupts from static table to dynamic table, other small
fixes (locore.s byte operates -> double operands ...)
1995-05-16 07:30:30 +00:00
cgd 8703076975 define BROKEN_SWAP and/or cpu_swapout as appropriate. 1995-05-05 03:41:51 +00:00
christos de42a28a1b - added sunos_machdep.c for sun3, atari, amiga and mac68k.
- changed machdep.c and trap.c to use struct emul.
- remove ep_setup references.
- added struct emul to all emulations.
1995-04-22 20:24:40 +00:00
jtc 71ab4ed9dc KERNEL -> _KERNEL 1995-03-28 18:13:48 +00:00
cgd dafacba9d5 new RCS ID format. 1994-10-26 08:23:50 +00:00
phil dc474fc5fe new init 1994-05-31 21:53:31 +00:00
phil 9a848c126d 4.4 integration 1994-05-25 00:02:24 +00:00
phil 54b24193e2 The "kitchen sink" update ... proc.h, signals, profile, setrq=>setrunqueue ... 1994-05-17 17:31:03 +00:00
phil 493236e982 making the "#ifndef _MACHINE_FILE_H_" more complete and consistent. 1993-10-25 06:11:58 +00:00
phil b8234df3d9 Catching up with NetBSD current. 1993-10-01 23:01:01 +00:00
phil e401483244 Adding the src/sys/arch/pc532 tree. 1993-09-09 23:53:45 +00:00