Commit Graph

133 Commits

Author SHA1 Message Date
rmind
40cf6f3659 Remove uarea swap-out functionality:
- Addresses the issue described in PR/38828.
- Some simplification in threading and sleepq subsystems.
- Eliminates pmap_collect() and, as a side note, allows pmap optimisations.
- Eliminates XS_CTL_DATA_ONSTACK in scsipi code.
- Avoids few scans on LWP list and thus potentially long holds of proc_lock.
- Cuts ~1.5k lines of code.  Reduces amd64 kernel size by ~4k.
- Removes __SWAP_BROKEN cases.

Tested on x86, mips, acorn32 (thanks <mpumford>) and partly tested on
acorn26 (thanks to <bjh21>).

Discussed on <tech-kern>, reviewed by <ad>.
2009-10-21 21:11:57 +00:00
thorpej
b5fd5d5727 Minor tweak to the pv_table management in the Hibler-derived m68k pmaps:
The head of the list is now a pv_header, which contains the first pv_entry
as well as a 16-bit attributes field (replaces the pmap_attributes array
plus the pv_entry::pv_flags field) as a 16-bit count of caller-specified
cache-inhibited mappings.

Tested on hp300 (shared pmap_motorola.c), changes to atari and amiga copies
are purely mechanical.
2009-08-26 00:30:01 +00:00
rmind
585d607d92 Fix few more l_pflag and LP_OWEUPC confusions. 2009-07-29 17:45:39 +00:00
tsutsui
773d1cf3d7 Include <sys/evcnt.h> instead of <sys/device.h> for struct evcnt
to avoid recursive dependency (though news68k has not been switched
to using intr evcnt yet).
2009-04-09 10:48:22 +00:00
joerg
f5b0fec0e0 Remove SHMMAXPGS from all kernel configs. Dynamically compute the
initial limit as 1/4 of the physical memory. Ensure the limit is at
least 1024 pages, the old default on most platforms.
2009-03-06 20:31:46 +00:00
tsutsui
b33bc5602e __inline -> inline 2008-12-21 17:43:49 +00:00
tsutsui
aecc2565d0 Make cpu_intr_p() inline. 2008-06-22 17:33:41 +00:00
tsutsui
7ff875bed5 Unify splraiseipl(9) implementation among m68k ports as per
suggestion from isaki@ on port-m68k.

For news68k:
- export ipl2psl_table[] and make it uint16_t
- make makeiplcookie(9) inline
- put PSL_S bit into ipl2psl_table[] rather than adding it in makeiplcookie(9)
- define both IPL_SCHED and IPL_HIGH independently to avoid confusion
2008-06-15 07:20:46 +00:00
tsutsui
b87210fa51 Normalize my licenses. 2008-05-14 13:29:27 +00:00
tsutsui
9963e1d1ef Certainly this file is derived from src/sys/arch/x68k/include/intr.h,
so sync copyright notice with it.  Approved by martin@.
2008-04-30 08:13:24 +00:00
martin
ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
tsutsui
02cb47cab2 Split softc and device_t for zsc(4) and its children.
XXX we should restructure MI APIs and make it really machine independent.
2008-03-29 19:15:34 +00:00
xtraeme
f402cadf9a Remove CTL_MACHDEP_NAMES, it's not used anywhere.
Ok by martin@.
2008-02-27 18:26:15 +00:00
tsutsui
03242949ba - account idepth in all interrupt handlers
- use idepth for CLKF_INTR()
2008-01-28 17:07:19 +00:00
joerg
3615cf7715 Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants,
remove the conditionals and the code associated with the undef case.
2008-01-20 18:09:03 +00:00
ad
9f6b8c4d04 Remove COMPAT_HPUX. 2007-12-31 13:38:47 +00:00
ad
4b293a84e1 Interrupt handling changes, in discussion since February:
- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
2007-12-03 15:33:00 +00:00
he
842094660b Add an overlooked define of IPL_ZS, matching with splzs(). 2007-11-18 14:01:28 +00:00
garbled
d974db0ada Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree.  Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches.  The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
2007-10-17 19:52:51 +00:00
ad
9c6535a6de Add ci_cpuid where it's missing. 2007-08-04 09:49:51 +00:00
ad
63811f5275 Generic soft interrupts are mandatory. 2007-07-14 21:48:17 +00:00
tsutsui
32b0b73c06 Move declarations of m68k common functions
from <machine/cpu.h> to <m68k/m68k.h>.
While here, remove some obsolete function decls.
2007-05-21 16:37:03 +00:00
mhitch
9385473585 Add missing call to lwp_startup() in lwp_trampoline() (which was renamed
from proc_trampoline to match the other ports).

A DIAGNOSTIC kernel will now boot and run.  LOCKDEBUG still doesn't work yet.
Also, my amiga no longer loses time.
2007-05-20 04:29:47 +00:00
tsutsui
bbf9e3d14a Adapt news68k to yamt-idlelwp. Tested on NWS-1750. 2007-05-18 10:13:25 +00:00
thorpej
32a8b62d33 - Shrink ipl_cookie_t from 32-bits to 16-bits (large enough to hold
an SR value or an IPL_* constant).
- Take advange of the smaller ipl_cookie_t to shrink kmutex_t from
  16 bytes to 8 bytes by overlapping storage where possible.
- Implement a RAS-based _lock_cas() for mc68010 systems (Sun2).  See
  sun68k/sun68k/isr.c.

Tested on various m68k platforms, but NOT Sun2.  In any case, at least
Sun2 compiles now.
2007-03-11 05:22:24 +00:00
tsutsui
2f5e95ec66 Merge #ifdef _KERNEL stuff into one place. 2007-03-04 10:02:42 +00:00
tsutsui
e06ffd4f4e Remove #ifdef _KERNEL since this file is no longer exported. 2007-03-04 09:59:10 +00:00
tsutsui
7105072ba9 Stop installing <machine/intr.h> on news68k. Suggested by simonb. 2007-03-04 08:51:19 +00:00
christos
53524e44ef Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. 2007-03-04 05:59:00 +00:00
ad
3363855a4a Remove spllowersoftclock() and CLKF_BASEPRI(), and always dispatch callouts
via a soft interrupt. In the near future, softclock will be run from process
context.
2007-02-16 02:53:43 +00:00
tsutsui
67b858ce4e - fix prototype for ctrl_int2 port (u_char -> uint8_t) in intr.h
- use proper macro to assert/clear ctrl_int2 port for softintr
- use KDASSERT() rather than #ifdef DEBUG + assert()
- don't count uvmexp.softs twice in softintr_dispatch()

XXX: Maybe we should have common m68k/softintr.c like mips ports.
2007-02-10 13:08:30 +00:00
tsutsui
123ed5aad5 Implement generic softintr(9) support for news68k.
Mostly taken from mvme68k.
2007-02-10 02:03:51 +00:00
tsutsui
9a49275170 Apply some changes for newlock2, taken from other m68k ports. 2007-02-10 02:01:26 +00:00
ad
b07ec3fc38 Merge newlock2 to head. 2007-02-09 21:55:00 +00:00
yamt
8bf7662829 merge yamt-splraiseipl branch.
- finish implementing splraiseipl (and makeiplcookie).
	  http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
	- complete workqueue(9) and fix its ipl problem, which is reported
	  to cause audio skipping.
	- fix netbt (at least compilation problems) for some ports.
	- fix PR/33218.
2006-12-21 15:55:21 +00:00
tsutsui
db93638de2 Switch news68k to timecounters. From gdamore on port-news68k. 2006-09-09 03:14:18 +00:00
tsutsui
8c3452b4f9 Switch news68k to MI todr. 2006-09-04 20:32:57 +00:00
drochner
84f50d1b92 don't install <machine/db_machdep.h>, this is kernel only 2006-07-26 19:54:56 +00:00
tsutsui
e50565f96a No need to install autoconf.h. 2006-07-01 17:33:25 +00:00
perry
fbae48b901 Change "inline" back to "__inline" in .h files -- C99 is still too
new, and some apps compile things in C89 mode. C89 keywords stay.

As per core@.
2006-02-16 20:17:12 +00:00
christos
606bb2caed free -> dealloc
unsigned -> size_t for alloc/dealloc
2006-01-25 18:28:25 +00:00
perry
5f1c88d70d Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete. 2005-12-24 20:06:46 +00:00
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
tsutsui
9a79305c7a Protect against multiple inclusion. 2005-12-06 17:15:13 +00:00
tsutsui
5fc2d9d921 Use _NEWS68K_FOO_H_ rather than _MACHNE_FOO_H_. 2005-12-06 16:52:14 +00:00
tsutsui
18376553e4 Remove multiple inclusion protection from files which just include
MI m68k headers and don't have any own declarations.
2005-12-06 16:51:17 +00:00
tsutsui
cbf59cafa4 Remove defines DB_ELF_SYMBOLS and DB_ELFSIZE, which are defined
in <m68k/db_machdep.h>.
2005-12-06 16:40:37 +00:00
christos
2f382743c1 Add m68k sunos_machdep.h 2005-07-11 13:13:56 +00:00
yamt
6b2d8b66a4 merge yamt-km branch.
- don't use managed mappings/backing objects for wired memory allocations.
  save some resources like pv_entry.  also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.
2005-04-01 11:59:21 +00:00
tsutsui
62724bfcae Add definitions for ports CTRL_POWER and CTRL_LED. 2004-12-15 17:22:11 +00:00