Commit Graph

119 Commits

Author SHA1 Message Date
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
tsubai
6aced393a3 Simplify SONPROC change. (and now compiles) 2000-05-26 08:40:10 +00:00
thorpej
8964c35eca Introduce a new process state distinct from SRUN called SONPROC
which indicates that the process is actually running on a
processor.  Test against SONPROC as appropriate rather than
combinations of SRUN and curproc.  Update all context switch code
to properly set SONPROC when the process becomes the current
process on the CPU.
2000-05-26 00:36:42 +00:00
hubertf
9f48bba3ae Add "install" target, so "make install" after building the kernel
does something useful.  The target can be redefined by putting a
install-kernel-${MACHINE_NAME} target that fits your needs into
/etc/mk.conf.
2000-05-09 00:56:21 +00:00
thorpej
6a33c86623 HAVE_GCC28 -> HAVE_EGCS, and make it match gcc 2.9 as well. Also,
make the use of -Wno-uninitialized explicit, don't rely on a compiler
hack to do it for us.
2000-05-09 00:32:19 +00:00
augustss
3a6e3a4670 Add (sometimes commented out) MIIVERBOSE option. 2000-05-08 13:49:44 +00:00
thorpej
f51470a514 Require that each each MACHINE/MACHINE_ARCH supply a lock.h. This file
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED.  These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case).  Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.

These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
2000-04-29 03:31:45 +00:00
tsubai
e27d574b01 Make this compile. 2000-04-21 13:35:27 +00:00
tsubai
14219ebd05 Use dev/ic/com.c. 2000-04-21 07:12:53 +00:00
tsubai
baa659b825 #include <machine/conf.h>. 2000-04-19 15:56:27 +00:00
tsubai
c88cf26926 Sync with evbsh3. 2000-04-19 14:31:48 +00:00
itojun
3be41bae18 add stf pseudo interface (commented out due to possible security risks) 2000-04-19 06:50:27 +00:00
msaitoh
9a41bed54e move the Interrput Priority Level (IPL_*) definitions into MD part. 2000-04-13 15:36:09 +00:00
thorpej
7b918b4088 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 06:40:33 +00:00
msaitoh
95d45d57b0 cleanup(KNF) 2000-03-22 19:07:43 +00:00
msaitoh
6c5256cfd7 cleanup
- remove unused functions
- KNF
2000-03-22 18:48:25 +00:00
cgd
7c35662066 add commented out option PCI_CONFIG_DUMP whever there's a PCIVERBOSE. 2000-03-22 00:58:16 +00:00
itojun
fb2faae278 add prototype for ip6intr (not tested). 2000-03-21 04:42:57 +00:00
msaitoh
c5d98a393d COFF's /sbin/osloader 2000-03-20 21:24:54 +00:00
msaitoh
ff49b7006c move MMUCR register definitions into mmureg.h 2000-03-20 20:30:33 +00:00
tron
e86957458a Install "machineendian_machdep.h". 2000-03-17 22:36:31 +00:00
mycroft
9e21b6555a In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
2000-03-17 00:09:18 +00:00
mycroft
02905321b2 Foolish consistency. Mainly, always use underscores and sys/endian.h. 2000-03-16 15:09:34 +00:00
thorpej
a183d34f04 - Implement cnbell() -- ring the console bell. The cn_bell entrypoint
is optional.
- Add cn_bell to statically allocated consdevs as appropriate.
2000-03-06 21:36:05 +00:00
simonb
4eb55e447c Do the "<space><tab>" thing with the RAID_AUTOCONFIG option. 2000-02-29 06:32:20 +00:00
oster
d9c47013b2 Defopt 'RAID_AUTOCONFIG'. Adding 'options RAID_AUTOCONFIG' turns on
the component auto-detection and auto-configuration of RAID sets.
Also, add "#options RAID_AUTOCONFIG" to the GENERIC config files.
2000-02-26 17:35:33 +00:00
msaitoh
da0ae51fcf variable start address of the main memory (now we can use
the area 2 as main memory with "options IOM_RAM_BEGIN=0x88000000")
2000-02-24 19:42:35 +00:00
msaitoh
7ae4a95c4d multiple interrputs!!! 2000-02-24 19:01:24 +00:00
msaitoh
e2cc2d00d7 watchdog timer 2000-02-24 17:07:34 +00:00
msaitoh
e0c3daee1d remove PMAP_NEW 2000-02-23 21:14:12 +00:00
erh
8f03b9a04a Define the DONETISR macro and use netisr_dispatch.h. This is to cut down on code duplication and to standardize the available NETISRs across all ports. 2000-02-21 20:38:46 +00:00
thorpej
dded044fc2 Update for the NKMEMPAGES changes. 2000-02-11 19:25:12 +00:00
msaitoh
96250cd570 fix the calculation bug for the LMA of bss. 2000-02-06 16:53:57 +00:00
tsutsui
11c8f56d48 Revert STRIPPROG -> STRIP 2000-02-01 05:25:24 +00:00
tron
04eb110431 Add "dependall" target for comfort. 2000-01-24 20:36:06 +00:00
hubertf
7e5ff67457 Add commented out "ident"-command 2000-01-23 23:46:04 +00:00
wrstuden
87e1b0f9b7 Add overlay to kernel configs. 2000-01-20 19:12:28 +00:00
tsutsui
e61f177ab1 STRIP -> STRIPPROG 2000-01-19 16:29:54 +00:00
msaitoh
7d3068a3b4 use macros 2000-01-17 21:59:43 +00:00
kleink
6910891781 Add NAN constant glue for sh3. 2000-01-17 16:27:53 +00:00
msaitoh
39caf082ca use _C_LABEL() 2000-01-12 14:41:44 +00:00
msaitoh
665e9462e5 s/ECOFF/COFF/ (comment only) 2000-01-07 11:20:41 +00:00
msaitoh
049ad0d982 machine/exec_coff.h -> sys/exec_coff.h 2000-01-07 09:40:33 +00:00
msaitoh
d73af2f624 use _C_LABEL() 1999-12-26 20:32:11 +00:00
msaitoh
05781b11af back to previous one (suggested by cgd) 1999-12-24 08:29:23 +00:00
msaitoh
8427734872 move sysctl definitions into ${MACHINE}/include/cpu.h 1999-12-21 22:19:16 +00:00
msaitoh
67f8a5ca5b fix the usage of .align 2 1999-12-21 21:41:56 +00:00
msaitoh
4f62c264c8 ".align 2" for mova instruction 1999-12-21 17:46:54 +00:00
ragge
0513268399 CL* discarding. 1999-12-04 21:13:19 +00:00
sommerfeld
17d170b1ca defopt COM_DEBUG, COM_HAYESP, and COM16650 1999-11-22 03:53:38 +00:00
itojun
e9a0023b37 bring in content of GENERIC.v6 into GENERIC.
remove GENERIC.v6 file (as it is part of GENERIC now).

"faith" interface is commented out by default as it is not really for
general use.
IPsec items are commented out as well, though we can enable "options IPSEC"
without export-related issue ("options IPSEC" will enable authentication
portion only).  We may need to think about it again.

if you have problem compiling with INET6 on archs I do not have access to,
please contact me.

XXX what to do with arch/arm32/SHARK{,.v6}?
1999-11-21 14:00:37 +00:00
fvdl
8bec119fcc Add commented out option SOFTDEP to all GENERIC kernels. 1999-11-15 19:10:44 +00:00
fvdl
d116707af0 Add
prefix ../gnu/sys
cinclude "conf/files.softdep"
prefix

to all std.* files, so that soft dependencies can be activated using
"options SOFTDEP".
1999-11-15 19:00:25 +00:00
tsubai
a4c71cd136 Include machine/cpu.h. 1999-09-27 08:47:56 +00:00
tsubai
eb6af46461 Don't set sr[BL] to 1 in cpu_switch().
Optimizations.
1999-09-22 08:57:49 +00:00
tsubai
0afae6fc87 Move common parts of machdep.c to sh3_machdep.c. 1999-09-21 13:16:15 +00:00
tsubai
47e2bdfea4 Add %INCLUDES.
Compile tcp_input.c with only -O1 to avoid gcc bug.
1999-09-21 11:52:21 +00:00
thorpej
11cae42531 Centralize the declaration and clearing of `cold'. 1999-09-17 19:59:35 +00:00
tsubai
e9cc963b20 Small optimization. 1999-09-17 15:20:54 +00:00
tsubai
7bf9aa0fdf s/ _MMEYE_H_/ _MMEYE_MMEYE_H_/ 1999-09-17 12:16:37 +00:00
msaitoh
4014b40eb8 cleanup 1999-09-16 21:39:24 +00:00
msaitoh
fd0dba8d22 sync with bscreg.h 1999-09-16 21:20:20 +00:00
msaitoh
31f498776d add "device fdc {drive = -1}" for pcmcia 1999-09-16 21:18:55 +00:00
msaitoh
224d34b5e1 remove sh3/include/mmeye.h 1999-09-16 13:32:24 +00:00
tsubai
a1ab30136f Use MI loadfile. 1999-09-15 09:47:19 +00:00
tsubai
17dc484c1c Sync with -current.
XXX root on nfs don't work, though root on wd0 works well.
1999-09-14 11:20:52 +00:00
msaitoh
7a7f9c0763 sh3/sh3/ -> sh3/dev change 1999-09-13 17:14:42 +00:00
msaitoh
ac3fe6d372 remove mainbus pseudo floppy drive 1999-09-13 16:26:17 +00:00
itojun
65363da25e Merge in NetBSD/sh3 from cvs.kame.net repository.
Tree structure:
- sys/arch/sh3: sh3 generic code
	As commented, in-chip device drivers are put into sys/arch/sh3/dev.
- sys/arch/evbsh3: sh3 evaluation boards (pure sh3 CPU, no fancy external HW)
- sys/arch/mmeye: Brains mmEye, www.brains.co.jp
MI source code includes couple of #ifdef for sh3-coff support.
(sh3 uses coff or elf)

Needs some more improvements, especialy in sys/arch/sh3/conf/files.sh3,
to compile the tree (due to last minute tree structure change).
1999-09-13 10:30:21 +00:00