summaryrefslogtreecommitdiff
path: root/sys/uvm
AgeCommit message (Collapse)Author
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-09update the NetBSD to the correct versionArtur Grabowski
2001-05-09More sync to NetBSD.Artur Grabowski
- Change pmap_change_wiring to pmap_unwire because it's only called that way. - Remove pmap_pageable because it's seldom implemented and when it is, it's either almost useless or incorrect. The same information is already passed to the pmap anyway by pmap_enter and pmap_unwire.
2001-05-07Few fixes from NetBSD.Artur Grabowski
- make sure that vsunlock doesn't unwire mlocked memory. - fix locking in uvm_useracc. - Return the error uvm_fault_wire in uvm_vslock (will be used soon).
2001-05-05PMAP_NEW and UVM are no longer optional on i386.Artur Grabowski
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-05-05Get rid of CLSIZE and all related stuff.Artur Grabowski
CLSIZE -> 1 CLBYTES -> PAGE_SIZE OLOFSET -> PAGE_MASK etc. At the same time some archs needed some cleaning in vmparam.h so that goes in at the same time.
2001-04-10Fix for machines which need to enlarge the kernel address space, at leastNiklas Hallqvist
1GB i386 machines needs this. The fix is heavily based on Jason Thorpe's found in NetBSD. Here is his original commit message: Instead of checking vm_physmem[<physseg>].pgs to determine if uvm_page_init() has completed, add a boolean uvm.page_init_done, and test against that. Use this same boolean (rather than pmap_initialized) in pmap_growkernel() to determine if we are being called via uvm_page_init() to grow the kernel address space. This fixes a problem on some i386 configurations where pmap_init() itself was needing to have the kernel page table grown, and since pmap_initialized was not yet set to TRUE, pmap_growkernel() was choosing the wrong code path.
2001-04-03It is unnecessary to wrap uvm_wait() in splhigh(). Also, set p_addr to NULLAaron Campbell
when we free it; art@ ok
2001-04-02On popular demand, the Linux-compatibility clone(2) implementation basedNiklas Hallqvist
on NetBSD's code, as well as some faked Posix RT extensions by me. This makes at least simple linuxthreads tests work.
2001-03-26Typo: parition -> partitionAaron Campbell
2001-03-22Merge in NetBSD's PMAP_NEW, still disabledNiklas Hallqvist
2001-03-22pastos in diagnostic stringsNiklas Hallqvist
2001-03-22Sync style, typo, and comments a little closer to NetBSD. art@ oksmart
2001-03-15Bring in revision 1.21 from NetBSD.Artur Grabowski
Be more careful in amap_alloc1 when handling failed allocations. We could have incorrectly returned success when the first or second of three allocations failed.
2001-03-15Let uvm_map_extract set the lower bound on the address range itselfArtur Grabowski
instead of depending on the callers to do that. (which they don't)
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-03-09Protect protypes, certain macros, and inlines from userland. Checked userlandsmart
with a 'make build'. From NetBSD. art@ ok
2001-03-09PATH_MAX+1 is wrong. Not cranking libc/libc_r majors over this, since they ↵Theo de Raadt
just got cranked a little while ago. discussion with millert
2001-03-08Replace thread_wakeup() with wakeup(). It is defined in vm_extern.h as asmart
wrapper, so this removes a dependence on the old VM system. From NetBSD. art@ ok
2001-03-03Allow the syncer to get pages from the pagedaemon reserve.Artur Grabowski
Otherwise we can end up in a situation where the syncer waits for pages and the pagedaemon waits for buffers.
2001-03-02Reserve more pages for the pagedaemon and the kernel.Artur Grabowski
With soft updates, writing out pages to disk can cause a bunch of allocations.
2001-02-24Cleanup of vnode interface continues. Get rid of VHOLD/HOLDRELE.Constantine Sapuntzakis
Change VM/UVM to use buf_replacevnode to change the vnode associated with a buffer. Addition v_bioflag for flags written in interrupt handlers (and read at splbio, though not strictly necessary) Add vwaitforio and use it instead of a while loop of v_numoutput. Fix race conditions when manipulation vnode free list
2001-01-29$OpenBSD$Niklas Hallqvist
2001-01-25spellingTodd T. Fries
2000-12-06use __x__ formats for __attribute__ arguments; guenther@gac.eduTheo de Raadt
2000-11-10seperate -> separate, okay aaron@Niels Provos
2000-09-07Convert bzero to memset(X, 0..) and bcopy to memcpy.Artur Grabowski
This is to match (make diffs smaller) the code in NetBSD. new gcc inlines those functions, so this could also be a performance win.
2000-07-20set uio_procp correctly in uvn_io.Artur Grabowski
2000-07-04Fix the latest fix.Artur Grabowski
Only change vm_dsize if the allocation succeeded. From Jason Thorpe.
2000-06-30Don't cast to int when checking if we have exceeded our rlimit in sbrk.Artur Grabowski
Plus misc cleanup.
2000-06-14put in own ctl level for swapencrypt.Niels Provos
2000-05-27use rijndael instead of blowfish because of faster key setup.Niels Provos
break swap paritions into sections, each section has own encryption key. if a section's key becomes unreferenced, erase it.
2000-05-26use encrypted blocknumber as IVNiels Provos
2000-04-25A fix to the dreaded isadmaattach panic which hunts people playing withNiklas Hallqvist
large memory machines. This time I really hope we can continue quite a bit away over the Gig.
2000-04-04remove accidentally comitted filesArtur Grabowski
2000-03-21only free in swap_off if allocated.Niels Provos
2000-03-18postpone memory allocation for uvm swap encryption until it is turned on withNiels Provos
sysctl.
2000-03-18make uvm swap encrypt compile again, from markus@Niels Provos
2000-03-17fix a non-DIAGNOSTIC gotchaTheo de Raadt
2000-03-16Bring in some new UVM code from NetBSD (not current).Artur Grabowski
- Introduce a new type of map that are interrupt safe and never allow faults in them. mb_map and kmem_map are made intrsafe. - Add "access protection" to uvm_vslock (to be passed down to uvm_fault and later to pmap_enter). - madvise(2) now works. - various cleanups.
2000-03-15Fix the NetBSD id strings.Artur Grabowski
2000-03-01Prepare for new pmapNiklas Hallqvist
2000-02-29<crypto/blf.h>Markus Friedl
2000-01-05nfs vnodeops are only defined with NFSCLIENT, not NFSSERVER.Artur Grabowski
2000-01-05nfs vnodeops are only defined with NFSCLIENT, not NFSSERVER.Artur Grabowski
1999-12-30swap encryption for UVM, option UVM_SWAP_ENCRYPT. needs to be enabledNiels Provos
via sysctl. Pages are encrypted with the Blowfish encryption algorithm, the key is initialized randomly on first swap out, ensuring that entropy has accumulated in the kernel randomness pool. Eventually, swap encryption will be decided on a process by process basis, e.g. a process that reads from a cryptographic filesystem will enable swap encrypt for its pages. okay art@ and deraadt@.