cvs commit: src/lib/libc/sys Makefile.inc madvise.2 src/sys/kern init_sysent.c syscalls.c syscalls.master src/sys/sys mman.h syscall-hide.h syscall.h syscall.mk sysproto.h sysunion.h vkernel.h src/sys/vm vm_fault.c vm_map.c vm_map.h vm_mmap.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Sep 13 10:11:25 PDT 2006
dillon 2006/09/13 10:10:42 PDT
DragonFly src repository
Modified files:
lib/libc/sys Makefile.inc madvise.2
sys/kern init_sysent.c syscalls.c syscalls.master
sys/sys mman.h syscall-hide.h syscall.h
syscall.mk sysproto.h sysunion.h
vkernel.h
sys/vm vm_fault.c vm_map.c vm_map.h vm_mmap.c
Log:
MAP_VPAGETABLE support part 3/3.
Implement a new system call called mcontrol() which is an extension of
madvise(), adding an additional 64 bit argument. Add two new advisories,
MADV_INVAL and MADV_SETMAP.
MADV_INVAL will invalidate the pmap for the specified virtual address
range. You need to do this for the virtual addresses effected by changes
made in a virtual page table.
MADV_SETMAP sets the top-level page table entry for the virtual page table
governing the mapped range. It only works for memory governed by a virtual
page table and strange things will happen if you only set the root
page table entry for part of the virtual range.
Further refine the virtual page table format. Keep with 32 bit VPTE's for
the moment, but properly implement VPTE_PS and VPTE_V. VPTE_PS can be
used to suport 4MB linear maps in the top level page table and it can also
be used when specifying the 'root' VPTE to disable the page table entirely
and just linear map the backing store. VPTE_V is the 'valid' bit (before
it was inverted, now it is normal).
Revision Changes Path
1.21 +1 -0 src/lib/libc/sys/Makefile.inc
1.3 +18 -2 src/lib/libc/sys/madvise.2
1.45 +2 -1 src/sys/kern/init_sysent.c
1.44 +2 -1 src/sys/kern/syscalls.c
1.43 +1 -0 src/sys/kern/syscalls.master
1.6 +7 -0 src/sys/sys/mman.h
1.45 +2 -1 src/sys/sys/syscall-hide.h
1.45 +3 -2 src/sys/sys/syscall.h
1.45 +3 -2 src/sys/sys/syscall.mk
1.45 +11 -1 src/sys/sys/sysproto.h
1.42 +2 -1 src/sys/sys/sysunion.h
1.2 +3 -15 src/sys/sys/vkernel.h
1.28 +65 -66 src/sys/vm/vm_fault.c
1.49 +73 -19 src/sys/vm/vm_map.c
1.25 +10 -3 src/sys/vm/vm_map.h
1.33 +44 -4 src/sys/vm/vm_mmap.c
http://www.dragonflybsd.org/cvsweb/src/lib/libc/sys/Makefile.inc.diff?r1=1.20&r2=1.21&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/sys/madvise.2.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/init_sysent.c.diff?r1=1.44&r2=1.45&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/syscalls.c.diff?r1=1.43&r2=1.44&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/syscalls.master.diff?r1=1.42&r2=1.43&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/mman.h.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/syscall-hide.h.diff?r1=1.44&r2=1.45&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/syscall.h.diff?r1=1.44&r2=1.45&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/syscall.mk.diff?r1=1.44&r2=1.45&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/sysproto.h.diff?r1=1.44&r2=1.45&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/sysunion.h.diff?r1=1.41&r2=1.42&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/vkernel.h.diff?r1=1.1&r2=1.2&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_fault.c.diff?r1=1.27&r2=1.28&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_map.c.diff?r1=1.48&r2=1.49&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_map.h.diff?r1=1.24&r2=1.25&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_mmap.c.diff?r1=1.32&r2=1.33&f=u
More information about the Commits
mailing list