Commit Graph

418 Commits

Author SHA1 Message Date
ragge 621153ce0e The unexpected remove of active kstack does happen on vax also,
not only on pc532. I've verivied that this "fix" work.
1996-05-19 10:00:38 +00:00
christos a818b81625 Added missing prototypes from <sys/cpu.h> 1996-04-23 12:25:23 +00:00
pk 37a292dea0 Make prototyping of most functions conditional on `PMAP_EXCLUDE_DECLS'.
This allows MD pmap.h to implement access to those functions via pointers.
1996-03-31 22:15:32 +00:00
christos ff63e6c744 Change %r -> %: as for recursive printf's 1996-03-30 21:50:45 +00:00
christos 3cc52443b5 Fix vm_offset_t (unsigned long) and vm_size_t (unsigned long) printf arguments
to %lx and %ld instead of %x and %d.
1996-03-16 23:15:18 +00:00
gwr f6925cfbf3 Replace vm_object_prefer with PMAP_PREFER. 1996-02-28 22:39:13 +00:00
gwr fdb309615e Remove vm_object_prefer. VM code now calls PMAP_PREFER directly. 1996-02-28 22:35:35 +00:00
mycroft 8d110517c8 We no longer need the old hack for allocating the u-area on the i386. 1996-02-18 22:53:43 +00:00
christos c048d7ba68 fix a printf warning and add pmap_page_index declaration 1996-02-12 21:51:52 +00:00
christos d0fd3d7e62 Don't declare pmap_page_index for now. It will break the arm port.
This clearly needs to be fixed. I would like to declare it:

    __pure u_int     pmap_page_index __P((vm_offset_t));

but at least the arm port wants it signed [since it tests for -1 all over
the place]. Can we have this fixed please?
1996-02-10 00:30:39 +00:00
christos b7b8db60ac change pmap_page_index to return __pure u_int, like in the majority of
the ports
1996-02-10 00:20:09 +00:00
christos 03b1ad4cb4 One more cleanup pass to change %x to %p for pointers 1996-02-10 00:07:59 +00:00
christos 46d49e500e Account for __FORK_BRAINDAMAGE.. 1996-02-05 20:32:25 +00:00
christos bcabcefdcd VM prototype changes 1996-02-05 01:53:47 +00:00
christos bac60f4e4e Remove unused argument from vsunlock 1996-02-04 02:09:41 +00:00
mycroft fbb022ab48 Trivial change for consistency. 1996-01-31 03:11:16 +00:00
mycroft ebfe9ee154 Minor changes. 1995-12-21 04:44:27 +00:00
mycroft fee1a345eb Only expect vm_fork() to return if __FORK_BRAINDAMAGE is defined.
Eliminate unused third arg to vm_fork().
1995-12-09 04:28:16 +00:00
pk 785c98a0cc Oops. 1995-12-06 00:38:11 +00:00
pk 801712f01a Extend use of vm_object_prefer() to vm_allocate_with_pager().
Make vm_object_prefer() call MD aligner for "pageless" objects too,
so we can have more control over the virtual address to be used.

Implementation could be simpler if we by-pass the object to mapped, but
we'd loose the ability to adapt alignment to objects that were previously
mmap'ed with MAP_FIXED on.
1995-12-05 22:54:36 +00:00
mycroft 2dd293d3c3 Add hooks for COMPAT_FREEBSD, from Noriyuki Soda. 1995-10-10 01:26:36 +00:00
mycroft 245f292fed Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:25:19 +00:00
thorpej fbbf585f72 Remove spurious (and incorrect) prototype for swapon(), pointed out
by Chris Demetriou.
1995-09-27 20:30:17 +00:00
thorpej 7160dfc805 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 21:57:36 +00:00
gwr 5520ccdbf9 Preserve miniroot when (swdevt[i].sw_vp == rootvp) 1995-09-18 21:21:00 +00:00
mycroft 67daa4706d Add PHOLD() and PRELE() macros, used to hold a process in core and release it. 1995-08-13 09:04:43 +00:00
cgd 4ec7eec85b don't forget the 'dev' argument to physio(). pointed out by der Mouse
and others.
1995-07-19 13:04:02 +00:00
pk 7ac7bdf204 Unlock internal objects too in vm_object_terminate(). 1995-07-13 12:35:29 +00:00
cgd 21d1e8d60f fix bug in load average calculation that prevented processes which were
uninterruptibly sleeping for a short period from being counted.
1995-07-08 03:12:22 +00:00
mycroft 7263209ce6 Make each disk and tape driver define its own read and write functions.
Deprecate rawread() and rawwrite() completely.  Remove d_strategy from cdevsw to
force the abstraction barrier.
1995-07-04 07:15:28 +00:00
cgd cfbb9c7cfe no longer needs machine/cpu.h, and use new name for the 'broken swap' define 1995-06-28 02:58:51 +00:00
leo f205966027 The atari specific code can be removed now it is using MACHINE_NONCONTIG. 1995-06-26 14:40:11 +00:00
cgd 7bd5b4bfa8 oops; vm_pageout.c should include machine/cpu.h, _not_ vm_pager.c 1995-05-07 19:27:27 +00:00
cgd cf08de5cf0 needs machine/cpu.h 1995-05-07 16:22:40 +00:00
cgd 0b2ce5d881 delete some cruft, don't swap if BROKEN_SWAP defined, call cpu_swapout rather than #ifdef 1995-05-05 03:35:39 +00:00
mycroft 5f41ce9281 Correct checks for NULLs in pagertab. 1995-04-15 05:11:35 +00:00
mycroft 68c8c80929 kernel_pmap --> pmap_kernel() 1995-04-10 16:48:27 +00:00
briggs 6efcd1b6d4 KERNEL -> _KERNEL 1995-03-29 21:57:43 +00:00
cgd 9141ec70a1 change needed for atari; recycle some code for the i386 that was in Lite
that we don't use, but is used by the atari now.  (it should change
to MACHINE_NONCONTIG, too...)
1995-03-27 09:09:05 +00:00
jtc f76f1f89ad KERNEL -> _KERNEL 1995-03-26 20:35:13 +00:00
mycroft 57e6889435 Make memory map syscalls consistently use size_t. 1995-03-09 17:28:28 +00:00
cgd 94d77171f9 need compat_43_getpagesize on COMPAT_OSF1 1995-03-08 01:46:53 +00:00
mycroft 3d869b0608 Fix two off-by-one errors. 1995-01-09 17:36:48 +00:00
cgd 70f70a3122 make grow's arguments type-correct. 1995-01-09 02:48:03 +00:00
cgd 4b5b562e89 turn spaces to tabs 1995-01-09 02:47:38 +00:00
cgd d158991669 don't wrap lines 1995-01-09 02:47:23 +00:00
cgd 1af9a586a5 fix vm_page_startup's return type, kill an odd 'register' 1995-01-09 02:46:41 +00:00
cgd 86095ef7e6 no need to have two lines of arguments here. 1995-01-09 02:45:47 +00:00
cgd 688a174a72 move munmapfd into the correct section, make grow take a proper argument. 1995-01-09 02:45:29 +00:00
cgd 2d8771217f can move FALSE up a line. 1995-01-09 01:33:17 +00:00
cgd b1f6bfa080 kill extraneous label 1995-01-09 01:30:46 +00:00
pk 3e4bf211c6 Use vm_object_prefer() to find a good range of virtual addresses to
map a memory object to.
1994-12-10 11:48:12 +00:00
pk d114baba9a Introduce vm_object_prefer(), which interrogates the PMAP layer in search
for an optimal virtual address for a given object.
1994-12-10 11:46:25 +00:00
mycroft 331b95bd8a Garbage collect unneeded variable. 1994-12-01 15:39:17 +00:00
gwr 1a7920257d Make sure vm_mmap creates mappings with page-aligned file offsets.
Handle non-aligned file offsets in the mmap/munmap system calls.
1994-12-01 00:23:11 +00:00
gwr 0a0c02cd38 Allow vm_page_array to have holes in it so systems that use
MACHINE_NONCONTIG can use a fast, simple pmap_page_index().
1994-12-01 00:19:57 +00:00
cgd 0a930e5ce6 redo that last change, correctly. (suggested by mycroft.) 1994-10-30 19:11:09 +00:00
cgd aa151f86b3 change some strategic casts to (*long) from (*int). 1994-10-29 07:35:04 +00:00
cgd 6b86130410 update for new syscall args description mechanism 1994-10-20 04:22:35 +00:00
cgd 4eb752cd51 make the "wait on swbuf" message SDB_IO -- it's I/O related, and it's
not at all anomalous (and bloody annoying!) on 4M machines.
1994-10-18 06:42:28 +00:00
mycroft ab9caa0e9a Fix the munmapfd() prototype, too. 1994-09-16 02:01:49 +00:00
mycroft d5fdf729f2 All of the users of munmapfd() expect to pass it
two args.  Make it work correctly.
1994-09-16 01:57:57 +00:00
mycroft 6dd2f9eed2 vm_object_page_clean() expects to be able to use vm_page_deactivate() on a
locked page.  Make that work.  This also obviates the need for vm_fault() to
bogusly activate a page before deactivating it.  Finally, make sure the
semantics of vm_object_deactive_pages() don't change.
1994-09-07 20:25:07 +00:00
mycroft 2f710a54ee Convert process, file, and namei lists and hash tables to use queue.h. 1994-08-30 03:04:28 +00:00
deraadt 72b3d408b9 replace "ctob(UPAGES)" and "UPAGES * NBPG" with "USPACE" 1994-08-23 22:07:42 +00:00
mycroft fe18d806d2 Don't panic if primary swap device is not configured. 1994-07-21 07:12:13 +00:00
cgd fccfa11af5 New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:39:25 +00:00
cgd 9608c5b657 clean up slightly; change RCS ID's to be minimally intrusive 1994-06-27 04:55:46 +00:00
cgd e4c9e4b2cd these were supposed to be written in C; they should follow its syntax 1994-06-27 04:03:15 +00:00
pk bccc2c3c1b straighten out diskless swap code somewhat. 1994-06-22 14:01:45 +00:00
cgd bf43549e44 fix a thinko that kept msync from working if no size specified. 1994-06-20 00:17:28 +00:00
mycroft 0d8affb278 Turn P_NOSWAP and P_PHYSIO into a hold count, as suggested by a comment. 1994-06-15 19:59:21 +00:00
pk 11ebd2e9c8 #ifdef FIFO's 1994-06-13 16:31:54 +00:00
pk 5d4bd29314 Check for all NFS related vnode ops. 1994-06-10 20:01:20 +00:00
mycroft 264b874c14 Update to 4.4-Lite fs code, with local changes. 1994-06-08 11:41:58 +00:00
mycroft 9eb7a8a711 Fix minor NFS glitch introduced with new VM code. 1994-05-30 13:10:06 +00:00
pk 7672b8b95b New style core dumps. 1994-05-25 10:56:56 +00:00
cgd 0094e3719e change warnings 1994-05-24 01:07:50 +00:00
mycroft 5a9d09c5d5 Clean up deleted files. 1994-05-23 03:12:14 +00:00
cgd 3495827959 new VM code, from 4.4-Lite 1994-05-23 03:11:20 +00:00
cgd 11b6c06344 no need to include <sys/vmmeter.h> 1994-05-21 04:00:13 +00:00
mycroft 72edd4b918 For MAP_ANON, force the file offset to 0. I can't think of any any bad side
effects of this, and it fixes an interesting bug.
1994-05-19 18:03:04 +00:00
cgd 207339d53d define maxdmap and maxsmap 1994-05-19 08:08:46 +00:00
cgd c6abdc2054 setrq -> setrunqueue, sched -> scheduler 1994-05-13 00:50:41 +00:00
cgd 6fea3fab9a oops; spaces at ends of lines, etc. 1994-05-11 01:01:03 +00:00
cgd 904bdb2ea9 sysctl 1994-05-07 00:40:07 +00:00
cgd ca14e4af10 stubs 1994-05-07 00:39:58 +00:00
cgd d0a066a438 functions soon to be added 1994-05-06 22:45:29 +00:00
cgd 162c8601c0 latent sysctl support 1994-05-06 22:44:22 +00:00
mycroft 31393b8acd Rearrange some code, and fix a condition where the pageout scanner would start
grabbing pages from the active queue.
1994-05-05 20:35:11 +00:00
cgd 0f2ecb72f6 lots of changes: prototype migration, move lots of variables, definitions,
and structure elements around.  kill some unnecessary type and macro
definitions.  standardize clock handling.  More changes than you'd want.
1994-05-05 05:40:40 +00:00
cgd 4bbabd8e7a Rename a lot of process flags. 1994-05-04 03:41:12 +00:00
cgd f8dd4f370d expand the rlimit struct, kill last vestiges of off_t bogosity. 1994-05-04 01:38:25 +00:00
mycroft 06a4a02877 Add some DIAGNOSTIC code to detect trying to free a page that is being faulted
in.
1994-04-29 08:21:49 +00:00
cgd f50f031448 kill syscall name aliases. no user-visible changes 1994-04-29 04:41:02 +00:00
cgd e5ad8074f2 minor code structure nit that i pointed out to hibler a while ago... 1994-04-29 03:56:26 +00:00
cgd 10b63d74bc SHUT UP! 1994-04-28 03:51:58 +00:00
cgd 95fcf16b66 add sequential swap device support, supplied by hibler many moons ago.
(Note that it needs config support, too, which isn't there yet, but
might be soon...)  Also, general cleanup.  use NODEV to terminate swdevt,
so that sparc port (and future) is happy.
1994-04-25 23:53:51 +00:00
cgd 3dda0064a5 Convert mount, vnode, and buf structs to use <sys/queue.h>. Also,
some knf and structure frobbing to do along with it.
1994-04-21 07:47:31 +00:00
cgd ee3e1168b7 undo a mistaken deletion. at least i found it... 1994-04-20 21:46:15 +00:00
cgd 551e92c16a start to phase out temp. off_t syscalls 1994-04-16 23:19:06 +00:00
cgd ad6c540f90 cancel some of my stupidity, thanks to charles. 1994-04-15 22:49:15 +00:00
cgd ae41edb3e8 typo, pointed out by charles. 1994-04-15 18:02:02 +00:00
cgd ece66170de somehow, these didn't get committed!!! 1994-04-15 08:14:27 +00:00
mycroft c51913cd19 Clean up deleted files. 1994-04-15 07:05:05 +00:00
cgd e937bc9bfd convert vm system to use new queues. I'll never write code w/queues again. 1994-04-15 07:04:03 +00:00
cgd ed740c7de8 frob arguments a little bit 1994-04-02 08:39:20 +00:00
cgd b7e76677c6 expand uid_t/gid_t/off_t 1994-03-27 09:09:57 +00:00
chopps b8f74df1a5 default type is MAP_FILE if none given. 1994-03-23 01:54:02 +00:00
cgd 70dabb7d43 don't be so agressive w/renaming, clean for consistency, types in one place. 1994-03-17 02:51:57 +00:00
mycroft a8f3db1d79 Use b_actf, not av_forw. 1994-02-06 10:13:02 +00:00
cgd f34b215083 add kinfo_loadavg 1994-01-28 04:50:47 +00:00
cgd e69c297456 do not clean fictitious pages. from WS (sent a long time ago...) 1994-01-15 02:39:58 +00:00
cgd 3c39708b08 oops; get rid of a mis-inclusion in the last change 1994-01-13 18:20:36 +00:00
cgd 81d655b943 uncomment defn of exec_map 1994-01-13 04:25:01 +00:00
cgd 5cc251df11 kill iffy optimization 1994-01-13 02:43:09 +00:00
mycroft 19065b312a Fix a compiler warning. 1994-01-08 05:58:21 +00:00
mycroft 9dd94bc684 Still more prototypes. 1994-01-08 05:26:10 +00:00
mycroft 9c9af600ee Make some functions static. 1994-01-08 04:59:08 +00:00
mycroft 287956ae88 Yet more prototypes. 1994-01-08 04:38:16 +00:00
mycroft e879c04f57 #include vm_user.h. 1994-01-08 04:22:36 +00:00
mycroft f36df1e764 More prototypes. 1994-01-08 04:17:49 +00:00
mycroft 8955aeedd5 #include vm_user.h. 1994-01-08 04:15:41 +00:00
mycroft d37579f554 More cleanup and prototyping. 1994-01-08 04:02:36 +00:00
mycroft d66944976a Some minor rearrangement and cleanup. 1994-01-08 03:24:19 +00:00
mycroft 5df89bd778 Fix up some #includes, and add a bunch of prototypes. 1994-01-08 01:11:21 +00:00
mycroft 4181f14213 Add some explicit return types, and make a bunch of things static. 1994-01-07 23:36:15 +00:00
mycroft 8c5b51d9dc Add some explicit return types. 1994-01-07 22:48:40 +00:00
mycroft c7f0925a52 Add some explicit return types. 1994-01-07 22:46:05 +00:00
mycroft bbe22a5947 Add some explicit return types. 1994-01-07 22:34:37 +00:00
mycroft d77a163cac Kill third arg to thread_sleep(). It's always false and isn't used anyway. 1994-01-07 22:22:20 +00:00
mycroft 92992e3c3a Don't forget to poke the page daemon. 1994-01-07 20:33:14 +00:00
mycroft 75a4916007 Add an explicit return type. 1994-01-07 19:21:06 +00:00
mycroft 1b184192e1 Add some explicit return types, and make vm_object_print #ifdef DDB | DEBUG. 1994-01-07 19:15:44 +00:00
mycroft c521a31e87 No need to clear these bits, since we just bzero()d the silly thing. 1994-01-07 18:32:14 +00:00
mycroft a8dc1eb25a Add an explicit return type. 1994-01-07 18:14:07 +00:00
mycroft 17e7b7e1bd Make vnode_pager_putpage return an int, like other *_putpage routines. 1994-01-07 18:12:12 +00:00
mycroft 4343c468c5 Trivial stylistic change to match other code. 1994-01-07 18:11:38 +00:00
mycroft f8258a5b44 Add missing return value. 1994-01-07 17:12:51 +00:00
cgd c26286a5c1 bring changes down from magnum 1993-12-20 12:39:55 +00:00
mycroft b4d3382694 Canonicalize all #includes. 1993-12-17 07:56:32 +00:00
mycroft 6c0eb81987 Fix typo in DIAGNOSTIC code. 1993-12-06 13:00:49 +00:00
pk 053e467648 Use proc0's credentials in buffer used for IO to swap device.
Especially useful when swapping over NFS.
1993-11-29 16:05:20 +00:00
cgd 76dbc1192b new specfs.h and fifo.h locations 1993-11-12 05:54:12 +00:00
cgd 9d0e9ed1c1 fix setup of b_dirtyoff and b_dirtyend when writing out a page.
from Mike Hibler.
1993-11-10 22:43:34 +00:00
cgd 56adbe979f make absent absent 1993-11-10 08:22:05 +00:00
cgd d580099dde fix those last changes, and quiet a compiler warning. 1993-11-10 08:11:47 +00:00
cgd 554c91f74a change some flags back to bitfields, so it compiles. 1993-11-03 14:49:22 +00:00
cgd 64c1e3b2f5 new device pager from mike hibler, hibler@lamp. this is in its 'virgin' state 1993-11-03 14:48:42 +00:00
cgd 215649adeb from Mark Tinguely (tinguely@plains.NoDak.edu): record when processes are
swapped...
1993-10-19 02:54:09 +00:00
cgd e98e3183fc get rid of a few ref's to buffer_map 1993-10-11 02:11:28 +00:00
cgd 13a840d756 generalize kernacc() to any protections in the function "kerncheckprot()",
and prototype it.
1993-10-06 23:38:19 +00:00
cgd f09334ef6c we need the buffer hack again, now that we have a real vfs_bio... 1993-10-06 02:06:49 +00:00
cgd 95e5868ee2 allow an offset to *really* be passed in for mmap's on devices.
From Julian Elischer.
1993-10-02 00:00:21 +00:00
mycroft 00e8bf23cd Add `#ifdef DIAGNOSTIC' around check for dirty pages in persistent objects. 1993-09-23 22:20:29 +00:00
cgd 9c32bc786a make allproc be volatile, and cast things accordingly.
suggested by torek, because CSRG had problems with reordering
of assignments to allproc leading to strange panics from kernels
compiled with gcc2...
1993-09-15 22:30:32 +00:00
brezak b4940ad7a0 Wrap iprintf, vm_object_print, vm_map_print to allow passing a printf function. 1993-09-13 14:10:35 +00:00
cgd 37e8d5291e get rid of bogosities of the form "vm_maxsaddr + MAXSSIZ", and replace
them with USRSTACK.  the former was a hack by wfj to accomodate his screwy
execve() implementation.  the latter is a (minor) reversion to net/2.
1993-09-04 01:29:22 +00:00
cgd 6a474f29e2 get rid of maxdmap, and seperate MAXDSIZ and MAXSSIZ in rlimit checking. 1993-09-04 00:37:54 +00:00
glass 2cb87de98b fixs long broken 'dequeue' macro which would expand to 'dequeue_head' which
is never defined. added fix from my private sources:
#define dequeue_head(queue)     remqueue(queue, queue_first(queue))
no one noticed, because everyone used the 'remqueue' interface except me.
1993-09-01 15:55:26 +00:00
deraadt ae8b49f87b #ifdef pc532 in same places as #ifdef i386 1993-09-01 08:49:45 +00:00
deraadt a87b4a30bd pagers are now options, not pseudo-devices 1993-08-30 07:09:20 +00:00
brezak 7f550be7fd Remove prototype for pmap_bootstrap() 1993-08-29 12:12:20 +00:00
cgd 405b084fe6 return some errors other than EIO from swstrategy() 1993-08-29 01:50:20 +00:00
brezak 15c3400ffe Machine independant changes to VM for handling non-contiguous memory. 1993-08-27 23:45:55 +00:00
andrew 4e65827b6c Moved vm_map_create()'s out-of-maps panic to a more appropriate place. 1993-08-19 03:13:24 +00:00
mycroft fbd4257135 Put `#ifdef notyet' around some code which is currently defunct. 1993-08-14 10:02:30 +00:00
andrew 22dff5862a Removed the user area protection gunk I painstakingly removed in revision
1.9.  It has not been necessary since then due to a segment fixup made to
machdep.c that prevents access to anything above MAX_VMUSER_ADDRESS.
1993-08-13 03:50:02 +00:00
cgd acf8d8b584 deal with ddb bogosities 1993-08-07 06:03:02 +00:00
cgd 26817f18ab fix prettyprinting changes that caused the kernel to not link if you
defined DIAGNOSTIC but not DDB...
1993-08-07 05:08:11 +00:00
mycroft a0aed26669 Remove a spurious `#' added two revisions ago. 1993-08-03 01:56:52 +00:00
mycroft 4862b84c92 Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.
1993-08-01 19:22:24 +00:00
jtc 3643c134f1 Change "#endif FOO" to "#endif /* FOO */", to keep gcc -Wall, lint, etc.
from complaining about a trivial issue.
1993-07-29 21:42:19 +00:00
cgd 7b2afa7fe6 incorporate changes from 0-9-base to 0-9-ALPHA 1993-07-28 02:20:34 +00:00
pk 36a6e635b3 Committing in src/sys/vm
Modified Files:
	vm_object.c

call vm_object_remove() to remove an object from the hashtable when
vm_object_collapse() starts fiddling with pagers.
1993-07-28 00:00:01 +00:00
brezak 9d7e246a03 Cleanup pretty printers for maps and objects. 1993-07-22 13:03:36 +00:00
cgd 24e3cbad44 according to andrew, the bit with the comment:
>       /* protect from the user area from user accesses. :-)
>          addr -> addr + UPAGES*NBPG don't seem to be protected without
>          this; the rest seems to be OK, and doesn't like being protected
>          - andrew@werple.apana.org.au */
*is* necessary, so put it back in...  it's in an #ifdef i386 part anyway.
1993-07-19 13:47:09 +00:00
andrew aa381d0e73 vm_protect() of the user area is no longer required for i386 machines; the
protection is implemented by adjusting the bounds of the user segment
descriptors.
1993-07-18 08:19:34 +00:00
mycroft ad087b06a0 Finish moving struct definitions outside of function declarations. 1993-07-17 15:56:59 +00:00
mycroft 97cae397ee Finish moving struct definitions outside of function declarations. 1993-07-17 15:24:33 +00:00
cgd fd3c8fa35a fix a whole slew of off-by-one errors 1993-07-15 15:42:17 +00:00
cgd 4b90229cd2 do the "right thing" with mmap protections, once and for all.
in particular, if an object is mapped private, DO NOT grant
VM_PROT_ALL protections to it; it could be sensitive data.
1993-07-15 14:48:37 +00:00
cgd b8b3b4471d get rid of any support for vm_fault_wire() returning a result.
if it's going to be ifdef'd out until it's tested, it shouldn't
be put in to begin with.
also, minor ansifications and cleanups (mostly so tags would be happier).
1993-07-15 14:25:18 +00:00
cgd 999eb6ce5b get rid of extraneous thread_wakeup()s, added at sef's prompting,
which would never be called anyway.  leave his vm_page_activate()
change in though, as it is correct.
1993-07-15 14:07:51 +00:00
cgd 5287574e0a get rid of bogus retrymalloc code (and it was bogus)... 1993-07-15 13:33:23 +00:00
cgd b99e3b6666 get rid of bogus protections chacking which conflicts w/guido's
patch...
1993-07-07 11:25:32 +00:00
cgd 09844fbcfe make the rlist code all go away. replace it with resource map code,
as written by Wolfgang Solfrank.
1993-07-07 06:04:12 +00:00
cgd 8ebc845441 got rid of (obviously) bogus assignment which followed free(). 1993-07-02 10:26:49 +00:00
andrew 7a0e26cd13 Paul Kranenburg's VM deadlock patches (from patchkit 00147, parts 3 & 4).
Prevent dirty objects from being cached, and prevent vm_page_alloc() from
allocating too much memory to non-kernel objects.
1993-06-30 03:48:25 +00:00
mycroft 5f8b3f4ff4 Oops. Get rid of the `#ifndef MYCROFT_IS_A_DORK'. B-) 1993-06-29 19:38:50 +00:00
mycroft d94e5eecbb Fix some off-by-one errors. 1993-06-29 13:47:05 +00:00
andrew 5705dde7e9 Disallow access to the user pages, where the kernel stack is stored. This
is effected in useracc(), and also by a vm_protect() in vm_fork() for i386
CPUs.  Without the latter a write to the user area, say USRSTACK+1000,
would hang a 386-based system.
1993-06-29 07:16:31 +00:00
andrew 918a434644 ANSIfications. Added support for vm_fault_wire() returning a result; code
to actually fail is currently disabled, as this would enable some new code
in vm_map_pageable() (disabled in this commit) that hasn't been used to
date.  I'm fairly confident it is all OK, but shall test it some more once
the rest of the kernel is more stable, before enabling it.
1993-06-27 06:38:48 +00:00
andrew 51ac6a0997 ANSIfications. 1993-06-27 06:27:29 +00:00
cgd 0e761b8d7e fix behavior when VM_MAXUSER_ADDRESS == (-UPAGES * NBPG) 1993-06-21 10:18:20 +00:00
brezak 800afb6fec Remove annonying printf when adding swap. 1993-06-17 16:34:25 +00:00
cgd 1b44fd4c31 fix syntax errors caused by *not* having any one of the pagers... 1993-05-29 17:03:06 +00:00
deraadt ada4945e6b patches to make kernel malloc() retryable. from <MDICKSON@CSI.compuserve.com> 1993-05-27 14:34:29 +00:00
cgd cc5e8e00d5 add rcs ids and clean up headers 1993-05-20 03:59:08 +00:00
cgd 3cec79bb72 add counters for vmstat 1993-05-07 07:12:43 +00:00
cgd db3da84702 add bruce evans's useracc fixes, from patchkit patch 137. 1993-05-07 07:03:50 +00:00
cgd b235aec4f6 fix free page count determination 1993-05-07 06:59:45 +00:00
cgd fd7c50fd61 patch from Pete Chown <pc123@cus.cam.ac.uk> to fix mmap
modes vs. read/write permissions problem.
1993-05-07 01:58:11 +00:00
cgd 645b67012b make it panic, like i thought it did, for mb_map too small. 1993-04-29 08:57:02 +00:00
mycroft 0b48d59355 Fix utter inanity I committed last night. 1993-04-29 00:46:21 +00:00
mycroft a203e5704b Implement previous change more cleanly. 1993-04-28 04:00:49 +00:00
mycroft 87dc98f60b Introduce a new panic() condition in case I missed something. 1993-04-28 03:04:57 +00:00
mycroft 95090f0a13 Don't use first block of swap area. 1993-04-28 03:04:25 +00:00
mycroft 235bd1db44 Add consistent multiple-inclusion protection. 1993-04-19 03:45:34 +00:00
glass 33d009a09c Prevents you from creating double faults and such mmaping stuff on top
of the kernel, etc. Tested.  Derived from BSDI public patches
1993-04-10 15:06:01 +00:00
cgd 4493ba8058 fixed stupid typo (missing comma) in hand-applied diff 1993-04-09 17:19:02 +00:00
cgd a128c34f9c From: Guido van Rooij <guido@gvr.win.tue.nl>
when mmapping a file, permissions are checked as it should be. When
mprotect()-ing the address range afterwards, no protection was checked
regarding the protection of the file originally opened. So
when you open /usr/bin/su RDONLY and SHARED you could afterwards change
the mmapped region to READ|WRITE. This gave the possibility to obtain
root privs obviously.
1993-04-09 17:16:30 +00:00
cgd 202313150e changes, running on sef's machine to good effect, likely contributed
by torek.  (sef told me to get them, and their origin...)
1993-04-09 17:13:17 +00:00
cgd 827c75471f From: andrew@werple.apana.org.au (Andrew Herbert)
Here are some fixes I derived from the mach 3.0 VM system a couple of months
ago.  At the time, I was giving the memory object routines a good looking
at, trying to fix the long-standing problem where vm_object_collapse()
sometimes fails to collapse objects left over from the exit of a forked
child.  As bde has noted, the problem seems to occur when portions of the
parent are paged out.  These "lost" memory objects, which can eat up a huge
amount of swap space, are reclaimed when the parent responsible for the
fork()s is killed.
1993-04-09 16:53:46 +00:00
cgd 3cac22992d from sean eric fagan:
it seems to keep the vm system from deadlocking the system when it runs
out of swap + physical memory.
prevents the system from giving the last page(s) to anything but the
referenced "processes" (especially important is the pager process,
which should never have to wait for a free page).
1993-04-09 15:54:56 +00:00
cgd 64354bb7c6 broke out panics for *_map too small, and tried to coalesce the maps more
often.
1993-03-31 21:53:56 +00:00
cgd e541169ce2 after 0.2.2 "stable" patches applied 1993-03-21 18:04:42 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00