summaryrefslogtreecommitdiff
path: root/sys/uvm/uvm_mmap.c
AgeCommit message (Collapse)Author
2005-01-15In uvm_mmap(), check for size wrap to 0, and return ENOMEM in thatOtto Moerbeek
case. Do not arbitarily disallow sizes with the high bit set, they are unsigned. With lotsa help from miod@, test by danh@ ok miod@ millert@ tedu@
2004-05-07align to __LDPGSZ for anon mmap. this allows userland to be compiledTed Unangst
with a static page size on platforms where it may vary. ok deraadt@ millert@ tdeval@
2003-09-02add a random offset to uvm_map_hint. this has the primary effect ofTed Unangst
scattering ld.so and libraries around, although all mmaps will also have some jitter too. better version after some discussion with drahn testing/ok deraadt henning marcm otto pb
2003-09-01match syscallargs comments with realityHenning Brauer
from Patrick Latifi <patrick.l@hermes.usherb.ca> ok jason@ tedu@
2003-08-15change arguments to suser. suser now takes the process, and a flagsTed Unangst
argument. old cred only calls user suser_ucred. this will allow future work to more flexibly implement the idea of a root process. looks like something i saw in freebsd, but a little different. use of suser_ucred vs suser in file system code should be looked at again, for the moment semantics remain unchanged. review and input from art@ testing and further review miod@
2003-08-06Remove some double semicolons (hmm, do two semis equal a maxi?).Todd C. Miller
I've skipped the GNU stuff for now. From Patrick Latifi.
2003-07-21enforce restrictions on prot and flags to mprotect and mmap. invalid orTed Unangst
undefined flags are now rejected instead of silently ignored. makes "unintentional" mprotect calls a touch harder. ok art@ deraadt@ jason@
2003-07-01add MAP_TRYFIXED, mostly to help emulate other systems.Ted Unangst
when set, uvm will not attempt to avoid a heap address, if requested. from todd vierling, via http://marc.theaimsgroup.com/?l=netbsd-tech-kern&m=105612525808607&w=1
2003-07-01remove sys_omquery. it was only used for two weeks, and you can'tTed Unangst
source upgrade from a system that used it anyway. ok art deraadt drahn
2003-05-17Typos; from Julien Bordet <zejames@greyhats.org>Alexander Yurchenko
Close PR 3262
2003-04-28Change mquery() function call signature to be the same a mmap(). ItDale Rahn
needs the prot/flags info and passing the addresses via arg/return allows it to be traced via ktrace better than an in/out paramter. This adds a new mquery syscall and renames the old one to omquery. New kernel _MUST_ be built, booted, and 'make includes' before building ld.so with this change.
2003-04-25backout mquery change, something broke when not combined with a different diff.Dale Rahn
2003-04-25change mquery() function call signature to be the same a mmap(). ItDale Rahn
needs the prot/flags info and passing the addresses via arg/return allows it to be traced via ktrace better than an in/out paramter. This adds a new mquery syscall and renames the old one to omquery. New kernel _MUST_ be built and installed before building ld.so with this change. ok millert@ tedu@
2003-04-18Return EINVAL if MAP_FIXED was specified but was not available. ok tedu@Dale Rahn
2003-04-17changes to support mquery with 1Gsep on i386. avoid heap on mappings.Dale Rahn
2003-04-14There are two related changes.Artur Grabowski
The first one is an mquery(2) syscall. It's for asking the VM system about where to map things. It will be used by ld.so, read the man page for details. The second change is related and is a centralization of uvm_map hint that all callers of uvm_map calculated. This will allow us to adjust this hint on architectures that have segments for non-exec mappings. deraadt@ drahn@ ok.
2003-04-07int -> ssize_t.Mike Pechkin
+checked by regress. millert@, art@ ok.
2003-01-09Remove fetch(9) and store(9) functions from the kernel, and replace the fewMiod Vallat
remaining instances of them with appropriate copy(9) usage. ok art@, tested on all arches unless my memory is non-ECC
2002-11-08Don't uvm_useracc and then vslock. vslock is better at finding illegal mappings.Artur Grabowski
2002-10-29Since memory deallocation can't fail, remove the error return fromArtur Grabowski
uvm_unmap, uvm_deallocate and a few other functions. Simplifies some code and reduces diff to the UBC branch.
2002-08-23Fix missing FRELE in mmap(2); ok artPeter Valchev
2002-02-14Correctly FREF/FRELE in mmap(2).Artur Grabowski
2001-12-19UBC was a disaster. It worked very good when it worked, but on someArtur Grabowski
machines or some configurations or in some phase of the moon (we actually don't know when or why) files disappeared. Since we've not been able to track down the problem in two weeks intense debugging and we need -current to be stable, back out everything to a state it had before UBC. We apologise for the inconvenience.
2001-12-10Merge in struct uvm_vnode into struct vnode.Artur Grabowski
2001-12-04Yet another sync to NetBSD uvm.Artur Grabowski
Today we add a pmap argument to pmap_update() and allocate map entries for kernel_map from kmem_map instead of using the static entries. This should get rid of MAX_KMAPENT panics. Also some uvm_loan problems are fixed.
2001-11-28Sync in more uvm from NetBSD. Mostly just cosmetic stuff.Artur Grabowski
Contains also support for page coloring.
2001-11-28Sync in more uvm changes from NetBSD.Artur Grabowski
This time we're getting rid of KERN_* and VM_PAGER_* error codes and use errnos instead.
2001-11-27Merge in the unified buffer cache code as found in NetBSD 2001/03/10. TheArtur Grabowski
code is written mostly by Chuck Silvers <chuq@chuq.com>/<chs@netbsd.org>. Tested for the past few weeks by many developers, should be in a pretty stable state, but will require optimizations and additional cleanups.
2001-11-12Bring in more changes from NetBSD. Mostly pagedaemon improvements.Artur Grabowski
2001-11-09minor sync to NetBSD.Artur Grabowski
2001-11-07Another sync of uvm to NetBSD. Just minor fiddling, no major changes.Artur Grabowski
2001-11-07Add an alignment argument to uvm_map that specifies an alignment hintArtur Grabowski
for the virtual address.
2001-11-06Move the last content from vm/ to uvm/Artur Grabowski
The only thing left in vm/ are just dumb wrappers. vm/vm.h includes uvm/uvm_extern.h vm/pmap.h includes uvm/uvm_pmap.h vm/vm_page.h includes uvm/uvm_page.h
2001-11-05Minor sync to NetBSD.Artur Grabowski
2001-10-26 - every new fd created by falloc() is marked as larval and should not be usedArtur Grabowski
any anyone. Every caller of falloc matures the fd when it's usable. - Since every lookup in the fd table must now check this flag and all of them do the same thing, move all the necessary checks into a function - fd_getfile.
2001-09-11Don't include <vm/vm_kern.h> if you don't need foo_map.Miod Vallat
2001-08-11Various random fixes from NetBSD.Artur Grabowski
Including support for zeroing pages in the idle loop (not enabled yet).
2001-08-06Add a new type voff_t (right now it's typedefed as off_t) used for offsetsArtur Grabowski
into objects. Gives the possibilty to mmap beyond the size of vaddr_t. From NetBSD.
2001-07-25Some updates to UVM from NetBSD. Nothing really critical, just a sync.Artur Grabowski
2001-07-25Change the pmap_enter interface to merge access_type and the wired booleanArtur Grabowski
and arbitrary flags into one argument. One new flag is PMAP_CANFAIL that tells pmap_enter that it can fail if there are not enough resources to satisfy the request. If this flag is not passed, pmap_enter should panic as it should have done before this change (XXX - many pmaps are still not doing that). Only i386 and alpha implement CANFAIL for now. Includes uvm updates from NetBSD.
2001-06-23Sync with NetBSD 19990911 (just before PMAP_NEW was required)smart
- thread_sleep_msg() -> uvm_sleep() - initialize reference count lock in uvm_anon_{init,add}() - add uao_flush() - replace boolean 'islocked' with 'lockflags' - in uvm_fault() change FALSE to TRUE to in 'wide' fault handling - get rid of uvm_km_get() - various bug fixes
2001-06-08Change the paddr_t pmap_extract(struct pmap *, vaddr_t) interface toArtur Grabowski
boolean_t pmap_extract(struct pmap *, vaddr_t, paddr_t *). Matches NetBSD. Tested by various people on various platforms.
2001-05-10More sync to NetBSD.Artur Grabowski
The highlight is some more advices to madvise(2). o MADV_DONTNEED will deactive the pages in the given range giving a quicker reuse. o MADV_FREE will garbage-collect the pages and swap resources causing the next fault to either page in new pages from backing store (mapped vnode) or allocate new zero-fill pages (anonymous mapping).
2001-05-10Some locking protocol fixes and better enforcement of wiring limits.Artur Grabowski
From NetBSD.
2001-05-05Remove the (vaddr_t) casts inside the round_page and trunc_page macros.Artur Grabowski
We might want to use them on types that are bigger than vaddr_t. Fix all callers that pass pointers without casts.
2001-03-22Sync style, typo, and comments a little closer to NetBSD. art@ oksmart
2001-03-09locking typo.Artur Grabowski
2001-03-09Add mlockall and munlockall (dummy for the old vm system).Artur Grabowski
2001-03-09More syncing to NetBSD.Artur Grabowski
Implements mincore(2), mlockall(2) and munlockall(2). mlockall and munlockall are disabled for the moment. The rest is mostly cosmetic.
2001-01-29$OpenBSD$Niklas Hallqvist