Commit Graph

170 Commits

Author SHA1 Message Date
soren d8e5d1fa7d Add rnd(4) glue for the MIPS3 cycle counter. 2000-06-06 02:24:00 +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
matt 9169d99f2a Don't pass booted_* to findroot/getdevice, access them via the globals.
Also, make findroot static.  This eliminates unneeded clearing of them
and make their use consistent among the ports.
2000-06-01 15:38:20 +00:00
matt c9aff328d9 Make booted_device global (and booted_parition for consitency).
Eliminate it from header files and other extern definitions.
2000-06-01 00:49:49 +00:00
cgd 47449a63d2 kill __P in these files. (I had to look at them anyway with an eye for
adding some protos... and adding them with __P seems wrong, but mixing
__P and not __P in the same file seems wrong too, so...)
2000-06-01 00:04:50 +00:00
soda fbc0def1f9 COMPAT_ULTRIX was moved from files.${MACHINE} to files.mips,
from Izumi Tsutsui.
2000-05-29 10:17:44 +00:00
soren 39b5e9b4a2 ncr(4) wouldn't work, so s/ncr/siop/. 2000-05-27 02:19:34 +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
soren b70819c71a Also share BE ldscripts. 2000-05-21 02:50:10 +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
soda 88c52c7335 mention MIPS_INT_MASK_CLOCK and INT_MASK_REAL_DEV 2000-05-09 07:30:14 +00:00
soda e06738f06f back out previous changes as stopgap.
arc port still relies on MIPS_INT_MASK_CLOCK and INT_MASK_REAL_DEV.
(cpu_intr() of arc port should be rewritten completely, but not yet.)
2000-05-09 07:27:04 +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
soren 95f3c9498d MIPS_INT_MASK_CLOCK and INT_MASK_REAL_DEV are deprecated. 2000-05-05 03:18:25 +00:00
soren a1bad64e9a exec_ecoff.h is not used here. 2000-04-29 21:45:27 +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
itojun 3be41bae18 add stf pseudo interface (commented out due to possible security risks) 2000-04-19 06:50:27 +00:00
soda c56a43535d remove following symbols which became unnecessary in recent cpu_intr() change:
mips_hardware_intr
	MIPS3_INTERNAL_TIMER_INTERRUPT
	mips3_intr_cycle_count
	mips3_timer_delta
2000-04-15 22:05:51 +00:00
soda 79bdf6e4a6 adapt interrupt() -> cpu_intr() change 2000-04-15 22:01:14 +00:00
soda b3dcd5c3ee add some TODOs.
overblocking and related problems are currently common to all mips ports.
2000-04-15 21:57:37 +00:00
thorpej 4044b5a41c Use separate callouts for motor-on and motor-off. Fixes a condition
where the floppy driver would wedge because a motor-on timeout would
be cancelled by another I/O operation cancelling a motor-off timeout.

From enami tsugutomo <enami@sm.sony.co.jp>.
2000-04-07 16:58:53 +00:00
soda 1c5551f260 splsoftnet() should block softclock() too. 2000-04-03 11:44:19 +00:00
soda 18dbe75d6e cancel previous change, and add a comment about it.
$INCS variable is introduced by cgd to export kernel headers which
are needed from userland. In other words, $INC should only have
headers for kernel <-> userland programming interface.
Headers for kernel internal implementation should not be exported
to userland.
2000-03-31 11:44:05 +00:00
soren e204cb3eb9 machine/cpu.h includes mips/cpuregs.h. 2000-03-30 21:37:51 +00:00
soren 726573bf96 Match contents. 2000-03-30 21:33:19 +00:00
soda ccc163be60 -Wmissing-prototypes cleanup 2000-03-27 11:29:32 +00:00
soda 4531dedece fix typo in timeout -> callout transition. 2000-03-27 11:22:51 +00:00
nisimura 61609b54e2 Make sure proc0 PCB has spl0 condition in CP0 status register field.
cpu_fork() mistakenly created processes forked by proc0, including
kthreads, in splhigh condition, because [1] proc0's PCB was zero
cleared during initialization, and [2] value 0 in status register
field made processes to have splhigh condition when CPU tick was
assigned for them.  This mostly doesn't matter as forked processes
dive immediately into user mode through proc_trampoline code path,
however, kthreads never do that and remain in splhigh.

Reported by Ethan Solomita <ethan@geocast.com>.
2000-03-25 10:14:13 +00:00
soren 573160e03b Revert previous. 2000-03-24 23:06:03 +00:00
soren c535ede30b Move sysctl definitions from arch/mips to arch/foo. 2000-03-24 21:30:58 +00:00
thorpej b667a5a357 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:30:07 +00:00
cgd 7c35662066 add commented out option PCI_CONFIG_DUMP whever there's a PCIVERBOSE. 2000-03-22 00:58:16 +00:00
soda 0dadd7f429 if there is MBR, but there isn't BSD MBR partition entry,
writedisklabel(9) paniced.
pointed out and fixed by Shuichiro URATA <ur@a-r.org>, thanks.
2000-03-21 09:44:57 +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
soren b4e10b0a4e s/md/raid/ for RAIDframe major name. 2000-03-15 17:08:37 +00:00
oster 36b9d60244 Add the RAIDframe device major to the machine-dependent config files
so that the right entries get added to dev_name2blk[].  Needed for / on RAID.
(Missed these yesterday.. Thanks to Izumi Tsutsui for noticing, and for
letting me know :) )
2000-03-15 16:57:12 +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
nisimura c9fc3f7c80 Mention a bit about possible HZ interporation improvement in microtime(). 2000-03-04 07:09:09 +00:00
nisimura 8098245d56 Mention a bit about various issues NetBSD/arc must solve. 2000-03-04 06:54:17 +00:00
nisimura 4e461d33ef Have a local variable to match/attach mainbus insteading using ->cf_unit. 2000-03-04 06:35:02 +00:00
nisimura 400fee7b5a Remove never used memory error address register manipulation
inherited from DECstation 3100 and other debris floating around.
This file will go away naturally when interrupt establish procedure
and dispatcher are well coordinated in sane way of encapulating
target implementation differences.
2000-03-04 05:21:20 +00:00
soda 09a5eed1e8 NEC RISCstation 2250 (NEC-RD94) support.
contributed by Shuichiro URATA <ur@a-r.org>.
2000-03-03 13:08:42 +00:00
soda a031341f9b NEC RISCstation 2250 (NEC-RD94) support.
contributed by Shuichiro URATA <ur@a-r.org>.
2000-03-03 12:50:19 +00:00
soda d4b9359964 do not install bus.h, kbdreg.h and pio.h..
since currently these are not useful/needed from userland.
2000-03-03 12:38:25 +00:00
soda 65102815b0 cosmetic change. 2000-03-03 12:35:40 +00:00
soda 0ded8728bc typo in comment 2000-03-03 12:32:43 +00:00
soda a39a58d0fb update 2000-03-03 12:32:15 +00:00