Commit Graph

590 Commits

Author SHA1 Message Date
scw 78abb015f5 G/C the IIO* #defines. They're no longer needed. 2000-07-24 11:20:47 +00:00
scw 2688608c2b Pass the boot partition number into the loaded kernel, in preparation
for doing away with __BROKEN_DK_ESTABLISH.
2000-07-24 09:25:53 +00:00
scw 41167b7f9a __BROKEN_CONFIG_UNIT_USAGE is no longer required for mvme68k. 2000-07-23 20:51:18 +00:00
scw 2f194db83c G/C cf_unit. It wasn't really being used in a meaningfull way. 2000-07-23 20:50:21 +00:00
scw 87143d03cf Include <sys/systm.h>, if only for printf() prototype. 2000-07-22 19:43:03 +00:00
scw 1cce37b1f4 Make this compile again. 2000-07-21 20:18:35 +00:00
scw d6d63e19fe G/C a debugging printf left over from the last commit. 2000-07-21 08:08:38 +00:00
scw 83e678b1a4 Implement generic soft interrupts for mvme68k.
Based on Jason Thorpe's Alpha implementation.
2000-07-20 20:40:34 +00:00
scw 83e844cf03 Add a prototype for netintr() 2000-07-15 19:17:19 +00:00
scw b3b275a389 The install ramdisk has grown somewhat, and now overwrites the
`ie' chip's packet buffer... Moving it up to just below the netboot
image (4MB) should leave room for a few more year's bloat. ;-)
2000-07-15 16:04:24 +00:00
jdolecek f7d523ebb6 make buildable with -Wall -Werror 2000-07-10 22:48:25 +00:00
jdolecek b3c2dd691c make compilable with -Wall -Werror 2000-07-10 22:01:16 +00:00
jdolecek 42c88111e1 explicitly specify main() return type (make buildable with
-Wall -Werror)
2000-07-10 21:30:31 +00:00
jdolecek 27a5ba9e0a use <sys/exec_aout.h> instead of <a.out.h> - this is supposed
to be standalone after all
2000-07-10 20:36:15 +00:00
jdolecek 7e272173bd no need to include <a.out.h> here 2000-07-10 20:33:49 +00:00
jdolecek 230b3462ea uncomment part which has been accidentaly commented out in last commit 2000-07-09 14:16:02 +00:00
jdolecek f61c58e333 fix accidentaly dropped dependance on wrtvid 2000-07-09 14:11:10 +00:00
jdolecek 0b9b0cbc03 backout previous change, this should not have been committed (yet) 2000-07-09 14:07:06 +00:00
jdolecek 26e11b6af2 Make buildable on NetBSD/mvme68k 1.4.1. 2000-07-09 13:47:33 +00:00
cgd a5c13f9ad4 Kwality control:
* put #includes of opt headers and headers to get protos used by
  net/netisr_dispatch.h in net/netisr.h (if !defined(_LOCORE)) (rather than
  in netisr_dispatch.h itself, and potentially nowhere, respectively).
* require netisr.h to be included before netisr_dispatch.h.
* minor additional cleanup of both netisr.h and netisr_dispatch.h.
* clean up uses to remove now-unnecessary header file inclusions, and
  local prototypes of the fns.
* convert netisr dispatch implementations which didn't use
  netisr_dispatch.h (pc532) to use it.
2000-07-02 04:40:33 +00:00
itojun d76ae83df8 add PULLDOWN_TEST for all the platforms.
XXX should be moved to somewhere else when stabilized
2000-06-30 17:10:15 +00:00
mrg 4fa952b49a remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 07:58:50 +00:00
mrg e185413725 remove redudant <vm/pmap.h> includes. <vm/pmap.h> -> <uvm/uvm_pmap.h> 2000-06-27 04:18:48 +00:00
kleink e695f72a2e Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
2000-06-26 15:42:16 +00:00
mrg 2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
simonb 889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
scw ab30216ea2 Some tweaks to make things work properly with `dependall'. 2000-06-25 16:39:05 +00:00
scw 227985dcc0 Make these compile when DIAGNOSTIC isn't defined. 2000-06-24 20:43:14 +00:00
scw c42886a2b8 Fix the `evcnt' prototypes. 2000-06-23 20:07:49 +00:00
fvdl 1ee7d22c0b Remove prefix construction for softdeps. Add SOFTDEP option to GENERIC. 2000-06-22 20:27:49 +00:00
veego 223d7455c7 Remove the obsolete config fragments for kernel crypto, because the IPsec
crypto code is now in the kernel source tree.
2000-06-14 22:02:13 +00:00
soren a9aa2abf94 defopt SYSCALL_DEBUG. 2000-06-06 18:52:30 +00:00
jhawk c063b64a2b Do not clear msgbufenabled in dumpsys(). Dump messages will now go to
the message buffer. This can be invaluable in debugging if the dump
fails (assuming a persistant message buffer)
2000-06-05 23:44:55 +00:00
cgd cffb580806 Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
2000-06-04 19:14:14 +00:00
thorpej 8871d8563a Add a comment on single-processor systems about p_cpu being initialized
by fork1().
2000-05-31 05:06:43 +00:00
thorpej e03e9e8086 Rather than starting init and creating kthreads by forking and then
doing a cpu_set_kpc(), just pass the entry point and argument all
the way down the fork path starting with fork1().  In order to
avoid special-casing the normal fork in every cpu_fork(), MI code
passes down child_return() and the child process pointer explicitly.

This fixes a race condition on multiprocessor systems; a CPU could
grab the newly created processes (which has been placed on a run queue)
before cpu_set_kpc() would be performed.
2000-05-28 05:48:59 +00:00
scw a5a054f2c9 Nuke HP_SEG_SIZE. Use NBSEG instead (as used by m68k_trunc_seg() et al),
which takes into account the mmu type.
2000-05-27 22:37:47 +00:00
scw 8e7a493bbc Protect against multiple inclusion. 2000-05-27 14:45:36 +00:00
scw 48c1f20cf8 s/schedcpu_percpu/schedstate_percpu/ 2000-05-27 14:25:00 +00:00
sommerfeld 40339b39f9 Reduce use of curproc in several places:
- Change ktrace interface to pass in the current process, rather than
p->p_tracep, since the various ktr* function need curproc anyway.

 - Add curproc as a parameter to mi_switch() since all callers had it
handy anyway.

 - Add a second proc argument for inferior() since callers all had
curproc handy.

Also, miscellaneous cleanups in ktrace:

 - ktrace now always uses file-based, rather than vnode-based I/O
(simplifies, increases type safety); eliminate KTRFLAG_FD & KTRFAC_FD.
Do non-blocking I/O, and yield a finite number of times when receiving
EWOULDBLOCK before giving up.

 - move code duplicated between sys_fktrace and sys_ktrace into ktrace_common.

 - simplify interface to ktrwrite()
2000-05-27 00:40:29 +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 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
thorpej 1140468205 Use preempt(), not an open-coded equivalent (which won't be
equivalent for long).
2000-05-24 16:48:33 +00:00
thorpej 463931b3ba Nuke dk_establish() from orbit except from those ports which still use
it to determine the boot device: mvme68k, pc532, macppc, ofppc.  Those
platforms should be changed to use device_register().  In the mean time,
those ports defined __BROKEN_DK_ESTABLISH.
2000-05-16 05:45:44 +00:00
minoura 6943d5dd19 defopt FPSP. 2000-05-14 14:13:53 +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
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
bouyer f1d93978ae Rename define 'siop' to 'msiop' to avoid clash with machine-indepndant siop
driver. Doesn't change the name of drivers in config files.
2000-04-21 16:53:20 +00:00
itojun 3be41bae18 add stf pseudo interface (commented out due to possible security risks) 2000-04-19 06:50:27 +00:00