Commit Graph

24 Commits

Author SHA1 Message Date
mycroft 7057d01bbc Inline need_resched() and need_proftick(). Make need_proftick() actually *do*
something!
2000-12-12 06:06:05 +00:00
mycroft e58eb48f25 Begin cleaning up the syscall path, a la i386. 2000-12-12 05:21:02 +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
matt d3649351f1 Add support for machdep.console_device, machdep.booted_device,
and machdep.booted_kernel sysctl variables on arm32.  (booted_kernel
only currently available on Sharks)
2000-06-07 04:59:28 +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 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
mark 57c3ea15d8 Guard opt_cputypes.h include with _KERNEL && !LKM 1998-07-13 06:12:08 +00:00
mark 4a463e49fe defopt CPU_* options in opt_cputypes.h 1998-07-07 03:05:15 +00:00
mark c81dae4473 Move some prototypes form katelib.h to a more suitable home in cpu.h 1998-02-21 22:49:18 +00:00
mark fb9c150c48 arm32 kernel source restructure
- Most changes are comment cleanups.
  _ iomd.h is no longer an exported header.
  - Added intr.h for MI interrupt definitions.
  - Added definitions for ARM8 cpu.
  - Added bus dma support.
1997-10-14 09:19:59 +00:00
mark 663277e00c Simplify cpu option checks now that multiple CPU types are supported in a
single kernel.
1997-02-04 06:10:48 +00:00
mark 6c06479d1c __P(()) -> __P((void)) on several prototypes to fix compiler warnings. 1997-01-26 01:56:20 +00:00
mark b38644ed8d Check for CPU_ARM8 when testing for comflicting CPU options. 1996-11-23 03:18:20 +00:00
mark 4d21960d40 Added checks for illegal combinations of CPU_ARM6, CPU_ARM7, CPU_ARM7500,
CPU_SA110 and CPU_LATE_ABORT.
Updated the CLKF_INTR() macro for changes made to the interrupt system.
Updated some of the CPU ID codes.
Added the CPU ID for the ARM8.
1996-10-15 00:33:03 +00:00
mark 167d543662 Define several new macros for testing the processor mode. 1996-06-12 19:48:48 +00:00
mark 0b44bb02a0 Removed prototypes for cpu_set_kpc(), cpu_swapin() and cpu_swapout() as
these are now defined in other header files.
1996-04-27 02:04:39 +00:00
mark 504699a05d Added prototypes for cpu_swapin(), cpu_swapout(), tlbflush()
cpu_set_kpc() and need_resched().
1996-04-26 21:12:36 +00:00
mark 234547bf5e Add CPU ID's for the DEC StrongARM-110 processor.
Update control register bit definitions as the SA-110 has
separate instruction and data caches.
1996-04-02 21:45:25 +00:00
mark 043ef25c23 Remove cpu_set_init_frame macro. This is no longer needed now
cpu_set_kpc() has been implemented.
1996-03-13 21:18:06 +00:00
mark 7a9dc6a41a Inclusion of machine/psl.h is no longer dependant on _LOCORE being not
defined.
1996-03-08 19:08:28 +00:00
mark 6a3087958a Add #ifdef _LOCORE round delay() prototype and move DELAY macro
to param.h as well.
1996-02-22 22:21:55 +00:00
mycroft 88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
mark 386ad2ff0f Initial commit of the NetBSD/arm32 port. 1996-01-31 23:14:53 +00:00