Commit Graph

391 Commits

Author SHA1 Message Date
scw
1a62c87dce Add a simple driver for the on-chip DMA controller. Its only use at
this time is for hardware-assisted page copy/zero.
2005-01-29 11:37:18 +00:00
scw
ac750eb431 Performance improvements for the cache/tlb manipulation routines. 2005-01-29 11:26:07 +00:00
scw
f454961d0c When dealing with a pagefault, save pcb_onfault and set it to NULL until
after the pagefault has been dealt with. This ensures we DTRT if another
pagefault comes in (e.g. a NULL dereference) while dealing with the first.
2005-01-29 11:25:13 +00:00
scw
c77d6b4d62 Shave an instruction from the ADDC macro.
(Pointed out by Simon Burge a long time ago)
2005-01-29 11:22:30 +00:00
scw
5ef90f8740 Change pmap_copyzero_page_dpurge() to return void. 2005-01-29 11:21:47 +00:00
scw
c0efddb30c - Add some hooks to enable hardware-assisted (e.g. DMA) copy/zero page.
- Fix pmap_extract() to deal with a NULL paddr_t *.
2005-01-29 11:20:09 +00:00
jmc
a00ad2295a Due to cpp always treating constants as signed and gas no longer accepting
X - -Y in any form, need to convert a subtract into + (-1 * val).
2004-12-15 05:21:36 +00:00
chs
fa37aec784 remove an unused macro (which was also removed from the sh3 version of this). 2004-12-13 02:34:03 +00:00
thorpej
dc2f2fbe74 Centralize the declaration of booted_device and booted_partition. 2004-10-23 17:07:37 +00:00
yamt
857913deac include sys/cpu_data.h only if defined(_KERNEL) 2004-09-25 22:08:48 +00:00
yamt
d2fe4b34bb move some per-cpu data definitions to MI place so that they can be modified
without touching all ports.  discussed on tech-kern@.
2004-09-22 11:32:02 +00:00
skrll
f7155e40f6 There's no need to pass a proc value when using UIO_SYSSPACE with
vn_rdwr(9) and uiomove(9).

OK'd by Jason Thorpe
2004-09-17 14:11:20 +00:00
rumble
b1a9752c01 Correct a few comment typos that have propagated through the
tree.
2004-09-16 03:57:10 +00:00
drochner
46289e1fef Phase out the use of a string as first "attach args" member to control
which bustype should be attached with a specific call to config_found()
(from a "mainbus" or a bus bridge).
Do it for isa/eisa/mca and pci/agp for now. These buses all attach to
an mi interface attribute "isabus", "eisabus" etc., and the autoconf
framework now allows to specify an interface attribute on config_found()
and config_search(), which limits the search of matching config data
to these which attach to that specific attribute.
So we basically have to call config_found_ia(..., "foobus", ...) where
such a bus is attached.
As a consequence, where a "mainbus" or alike also attaches other
devices (eg CPUs) which do not attach to a specific attribute yet,
we need at least pass an attribute name (different from "foobus") so
that the foo bus is not found at these places. This made some minor
changes necessary which are not obviously related to the mentioned buses.
2004-08-30 15:05:15 +00:00
thorpej
6c08646cb8 Garbage-collect pagemove(); nothing use it anymore (YAY!!!) 2004-08-28 22:12:40 +00:00
jdolecek
64969161df use uvm_grow() to update stack segment size on stack page fault instead
of MD code
2004-08-28 17:53:00 +00:00
drochner
a5a5473c25 remove now unnecessary "pci_enumerate_bus" definitions 2004-07-29 16:55:25 +00:00
kleink
c004d32eb8 Reflect <sys/endian.h> rev. 1.4: make htonl() et al. arguments and
results uint{16,32}_t.  Noted by Ian Zagorskih.
2004-06-10 16:01:39 +00:00
thorpej
e33c2bb5d5 Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.
2004-06-04 04:45:49 +00:00
wiz
1249084227 "panicking" needs a k. 2004-05-16 15:44:10 +00:00
he
bf3ab88a22 Use lower optimization level (-O0) for miscfs/genfs/genfs_vnops.c
in order to avoid an internal compiler error with gcc 3.3.3 nb2.
2004-05-14 08:58:32 +00:00
he
d05f876265 Avoid lint failure in setjmp.h; lint doesn't handle __attribute__
modified declarations.
2004-05-13 19:54:25 +00:00
kleink
7b3b647647 Factor out W{CHAR,INT}_{MAX,MIN} into their own header file. 2004-05-08 21:51:47 +00:00
drochner
c83eb997b8 nothing cares about __HAVE_SIGINFO anymore, so nuke it 2004-03-26 21:39:57 +00:00
wiz
f0d2889eb5 Move
(c) TNF
line from 4-clause UCB to 3-clause UCB license; in other words,
remove UCB's ad clause from the license TNF grants.
There is no point in TNF demanding that UCB's ad clause be followed
when even UCB doesn't demand it any longer.

Ok'd by board@ and agc@.
2004-03-24 15:38:41 +00:00
scw
62a0c71155 Make COMPAT_NETBSD32 build again. 2004-03-17 20:23:28 +00:00
scw
fffcfa6444 Always check for the SHmedia entry point hack. The in-tree toolchain
doesn't need it, but SuperH's toolchain does.
2004-03-17 20:22:11 +00:00
scw
3b1323d3c7 Pass the ABI (32/64-bit) to the linker. 2004-03-17 20:20:43 +00:00
cl
ea5ec0212d add kernel part of concurrency support for SA on MP systems
- move per VP data into struct sadata_vp referenced from l->l_savp
  * VP id
  * lock on VP data
  * LWP on VP
  * recently blocked LWP on VP
  * queue of LWPs woken which ran on this VP before sleep
  * faultaddr
  * LWP cache for upcalls
  * upcall queue
- add current concurrency and requested concurrency variables
- make process exit run LWP on all VPs
- make signal delivery consider all VPs
- make timer events consider all VPs
- add sa_newsavp to allocate new sadata_vp structure
- add sa_increaseconcurrency to prepare new VP
- make sys_sa_setconcurrency request new VP or wakeup idle VP
- make sa_yield lower current concurrency
- set sa_cpu = VP id in upcalls
- maintain cached LWPs per VP
2004-03-14 01:08:47 +00:00
wiz
73e1501b98 parameter with two es. From Peter Postma. 2004-02-24 15:22:01 +00:00
wiz
d20841bb64 Uppercase CPU, plural is CPUs. 2004-02-13 11:36:08 +00:00
martin
da4e67accc Do not export __HAVE_RAS to userland. Applications are supposed to try
rasctl() and detect failure with EOPNOTSUPP.
2004-01-18 18:23:19 +00:00
jdolecek
089abdad44 Rearrange process exit path to avoid need to free resources from different
process context ('reaper').

From within the exiting process context:
* deactivate pmap and free vmspace while we can still block
* introduce MD cpu_lwp_free() - this cleans all MD-specific context (such
  as FPU state), and is the last potentially blocking operation;
  all of cpu_wait(), and most of cpu_exit(), is now folded into cpu_lwp_free()
* process is now immediatelly marked as zombie and made available for pickup
  by parent; the remaining last lwp continues the exit as fully detached
* MI (rather than MD) code bumps uvmexp.swtch, cpu_exit() is now same
  for both 'process' and 'lwp' exit

uvm_lwp_exit() is modified to never block; the u-area memory is now
always just linked to the list of available u-areas. Introduce (blocking)
uvm_uarea_drain(), which is called to release the excessive u-area memory;
this is called by parent within wait4(), or by pagedaemon on memory shortage.
uvm_uarea_free() is now private function within uvm_glue.c.

MD process/lwp exit code now always calls lwp_exit2() immediatelly after
switching away from the exiting lwp.

g/c now unneeded routines and variables, including the reaper kernel thread
2004-01-04 11:33:29 +00:00
jmc
695a2a2f9f Change reference at bottom from sys/dev/majors to sys/conf/majors to match
reality
2003-12-10 02:04:00 +00:00
jdolecek
f76cf6a9ea need cast to (long long) for %llx format when compiling 64bit kernel 2003-12-08 08:08:40 +00:00
scw
f8506c0dbb Ditch some cruft which crept in with the last commit. 2003-12-07 20:03:47 +00:00
scw
081b7696ba Simplify the round/trunc page, and btop/ptob macroes. 2003-12-07 20:03:04 +00:00
scw
c70112f9ae Quell a bunch of compiler warnings by avoiding using 'long long'. 2003-12-07 20:01:58 +00:00
scw
4d1e9c4846 De-lint.
(hey, these have never been linted before anyway ;)
2003-12-07 20:00:38 +00:00
scw
0a42a14b70 Re-write and simplify _sh5_stb1_tlbload to avoid branches. 2003-11-28 08:15:10 +00:00
scw
85c506fb3b While NetBSD/sh5 has never needed a sigcode trampoline, other parts of
the kernel seem to assume 'esigcode - sigcode' is non-zero.
2003-11-28 08:12:52 +00:00
scw
62816f9d48 Ditch some obsolete toolchain definitions and flags. 2003-11-09 23:30:39 +00:00
scw
f64ae6c776 s/NULL/0/ 2003-11-09 21:39:48 +00:00
scw
4c4ac42348 More format string fallout. 2003-11-09 21:37:08 +00:00
scw
eb042dabb2 Fix format string lossage. 2003-11-09 21:12:08 +00:00
scw
cd75387049 Clear r3 to zero after dealing with the pseudo-header. 2003-11-09 12:24:48 +00:00
scw
2f54b52eac Print a trap/intr frame's SPC value. 2003-11-09 12:22:15 +00:00
scw
89a3825de9 In scif_rxsoft, bail early if the input buffers have not been initialised yet.
This can happen if we drop into ddb on the serial console before
scif_attach() has been called.
2003-11-09 12:19:54 +00:00
dsl
2ffbd2ab99 Remove p_nras from struct proc - use LIST_EMPTY(&p->p_raslist) instead.
Remove p_raslock and rename p_lwplock p_lock (one lock is enough).
Simplify window test when adding a ras and correct test on VM_MAXUSER_ADDRESS.
Avoid unpredictable branch in i386 locore.S
(pad fields left in struct proc to avoid kernel bump)
2003-11-04 10:33:15 +00:00
jdolecek
3abecdb88d avoid stong words in comments 2003-11-01 17:35:42 +00:00