Commit Graph

37 Commits

Author SHA1 Message Date
scw
4350a7f2b7 Unification of the m68k syscall() function. 2000-12-19 21:09:54 +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
he
5dedafcecd Add missing semicolon. 2000-05-27 21:46:42 +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
is
f71d843a65 synchronize types, and s/curproc/p/ in one forgotten place 1999-02-26 22:37:57 +00:00
is
84971e3a6f mac68k part of pr 6152 fix, and missing bits for the others 1999-02-25 23:13:39 +00:00
thorpej
49c62c4336 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:41:23 +00:00
kleink
a6d3fb3799 vm_offset_t -> {paddr_t,vaddr_t}, vm_size_t -> vsize_t 1998-08-20 08:33:41 +00:00
scottr
f49dd3ef30 Avoid declaring the "astpending" and "want_resched" globals in cpu.h,
as this breaks C++ code that happens to indirectly include this header.
Both Matthias Scheler and I noticed this, independently.

This problem notably does not affect the atari and sun3/sun3x ports,
which have already implemented a similar solution.
1998-02-13 07:41:45 +00:00
is
a16fd7d74e Make these compile after m68k/m68k.h 1.4->1.5. 1997-10-26 21:41:34 +00:00
thorpej
f53f16dd2e Move the prototype of hp300_calibrate_delay() to cpu.h 1997-10-12 18:37:56 +00:00
thorpej
80ff0f0f2f - Move a bunch of hp300 SPU-specific stuff out of cpu.h, and place it
in new hp300spu.h file.  This includes the code that associates
  model number with cpu/mmu/cache combinations.
- Define "mmuid" constants for several models, derived from code
  provided by Mike Smith.
1997-04-27 20:37:07 +00:00
thorpej
30166b9778 Rearrange the interrupt code slightly:
- place all interrupt-related macros, prototypes, etc. into <machine/intr.h>,
  like other ports.
- rename isrlink/isrunlink/isrinit, etc. intr_establish/intr_disestablish/
  intr_init, etc., and move to intr.c for naming consistency.
- don't call intr_init() twice.
1997-04-14 02:28:43 +00:00
thorpej
81f55f1cc8 regdump() is prototyped in m68k/cpu.h now. 1997-04-09 20:08:25 +00:00
scottr
4c6e335897 Add prototypes as appropriate. 1997-04-01 03:03:56 +00:00
thorpej
eeef0d1784 Prototypes for functions in locore.s and machdep.c (oops, forgot to
check this in the other day...)
1996-10-07 06:29:30 +00:00
thorpej
e469c7beca Use <m68k/cpu.h>. 1996-09-11 00:11:42 +00:00
thorpej
91cb72e7ea remove the now unused MHz constants, add a declaration for vectab[],
and document some globals.
1996-05-17 15:37:07 +00:00
scottr
a7b314774d doboot() takes no arguments (from Thorsten Frueauf) 1996-05-09 21:17:04 +00:00
thorpej
8591bb3346 Prototype doboot() and give it the __noreturn__ attribute, so that
machdep.c will compile.
1996-04-27 00:38:44 +00:00
mycroft
ce000f04ef Remove deprecated cpu_setstack(). 1995-12-21 05:01:32 +00:00
thorpej
540dfebf15 Rather than using individual HP300 model names, map those model names to
properties such as "M68040" and "M68K_MMU_MOTOROLA", used to conditionally
compile code.  This is more in-line with now the other m68k ports do it,
and makes it much easier to find "common ground" among them.

In locore.s, use the MMU-type constants defined my <machine/cpu.h> rather
than "expanded" values.

Because HP300-model names are mapped to CPU/MMU combinations in
<machine/cpu.h>, no change to kernel configuration will be necessary.
1995-12-11 17:09:09 +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
mycroft
9877d5d787 Eliminate the double mapping of the kernel stack. Enable swapping. 1995-05-12 12:54:44 +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
132b41434c new RCS ID format. 1994-10-26 07:22:45 +00:00
mycroft
0c3f5c039d Merge with 4.4-Lite. 1994-05-23 06:21:18 +00:00
cgd
25bfe2fdc8 cpu_swapin and need_proftick 1994-05-17 10:30:33 +00:00
mycroft
44a9de93e3 Add sysctl() stuff. 1994-05-07 06:26:03 +00:00
mycroft
89a5de9e12 Most of the changes needed to make this continue to run. 1994-05-05 10:10:21 +00:00
mycroft
6169755d98 Reorder clockframe. 1994-02-04 23:09:04 +00:00
mycroft
4862b84c92 Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.
1993-08-01 19:22:24 +00:00
cgd
30177b538f add rcsids to everything and clean up headers 1993-05-22 07:56:12 +00:00
cgd
6dedb5151c add hp300 kernel files. generic kernel files might need some help... 1993-05-13 13:56:20 +00:00