]> Zhao Yanbai Git Server - minix.git/commit
Merge of Wu's GSOC 09 branch (src.20090525.r4372.wu)
authorCristiano Giuffrida <cristiano@minix3.org>
Thu, 14 Jan 2010 15:24:16 +0000 (15:24 +0000)
committerCristiano Giuffrida <cristiano@minix3.org>
Thu, 14 Jan 2010 15:24:16 +0000 (15:24 +0000)
commitc5b309ff074389fc19d091b0ab510e46e3734535
tree65cd1a2b5659a7a80c1df603908863cce5d2e522
parentda3b64d8bc77a57bc88073ea63663b40a93e8356
Merge of Wu's GSOC 09 branch (src.20090525.r4372.wu)

Main changes:
- COW optimization for safecopy.
- safemap, a grant-based interface for sharing memory regions between processes.
- Integration with safemap and complete rework of DS, supporting new data types
  natively (labels, memory ranges, memory mapped ranges).
- For further information:
  http://wiki.minix3.org/en/SummerOfCode2009/MemoryGrants

Additional changes not included in the original Wu's branch:
- Fixed unhandled case in VM when using COW optimization for safecopy in case
  of a block that has already been shared as SMAP.
- Better interface and naming scheme for sys_saferevmap and ds_retrieve_map
  calls.
- Better input checking in syslib: check for page alignment when creating
  memory mapping grants.
- DS notifies subscribers when an entry is deleted.
- Documented the behavior of indirect grants in case of memory mapping.
- Test suite in /usr/src/test/safeperf|safecopy|safemap|ds/* reworked
  and extended.
- Minor fixes and general cleanup.
- TO-DO: Grant ids should be generated and managed the way endpoints are to make
sure grant slots are never misreused.
99 files changed:
drivers/audio/framework/audio_fw.c
drivers/e1000/e1000.c
drivers/fxp/fxp.c
drivers/orinoco/orinoco.c
drivers/rtl8139/rtl8139.c
drivers/ti1225/ti1225.c
include/minix/com.h
include/minix/const.h
include/minix/ds.h
include/minix/safecopies.h
include/minix/syslib.h
include/minix/sysutil.h
include/unistd.h
kernel/arch/i386/memory.c
kernel/arch/i386/protect.c
kernel/main.c
kernel/proc.h
kernel/proto.h
kernel/system.c
kernel/system.h
kernel/system/Makefile
kernel/system/do_fork.c
kernel/system/do_privctl.c
kernel/system/do_safecopy.c
kernel/system/do_safemap.c [new file with mode: 0644]
kernel/system/do_vmctl.c
lib/Makefile
lib/syslib/Makefile.in
lib/syslib/ds.c
lib/syslib/pci_del_acl.c
lib/syslib/pci_init1.c
lib/syslib/pci_set_acl.c
lib/syslib/safecopies.c
lib/syslib/sys_safemap.c [new file with mode: 0644]
lib/syslib/sys_vmctl.c
lib/sysutil/Makefile.in
lib/sysutil/tsc_util.c [moved from lib/sysutil/micro_delay.c with 80% similarity]
servers/ds/inc.h
servers/ds/main.c
servers/ds/proto.h
servers/ds/store.c
servers/ds/store.h
servers/inet/inet.c
servers/inet/mnx_eth.c
servers/is/dmp_ds.c
servers/mfs/mount.c
servers/rs/memory.c
servers/rs/service.c
servers/rs/table.c
servers/rs/utility.c
servers/vfs/dmap.c
servers/vfs/mount.c
servers/vm/Makefile
servers/vm/break.c
servers/vm/exec.c
servers/vm/i386/pagetable.c
servers/vm/main.c
servers/vm/map_mem.c [new file with mode: 0644]
servers/vm/mmap.c
servers/vm/pagefaults.c
servers/vm/proto.h
servers/vm/queryexit.c
servers/vm/region.c
servers/vm/region.h
servers/vm/rs.c
servers/vm/utility.c
servers/vm/vfs.c
test/ds/Makefile [new file with mode: 0644]
test/ds/README [new file with mode: 0644]
test/ds/down [new file with mode: 0644]
test/ds/dstest.c [new file with mode: 0644]
test/ds/inc.h [new file with mode: 0644]
test/ds/run [new file with mode: 0644]
test/ds/subs.c [new file with mode: 0644]
test/ds/system.conf [new file with mode: 0644]
test/safecopy/Makefile [new file with mode: 0644]
test/safecopy/README [new file with mode: 0644]
test/safecopy/down [new file with mode: 0644]
test/safecopy/grantor.c [new file with mode: 0644]
test/safecopy/inc.h [new file with mode: 0644]
test/safecopy/requestor.c [new file with mode: 0644]
test/safecopy/run [new file with mode: 0644]
test/safecopy/system.conf [new file with mode: 0644]
test/safemap/Makefile [new file with mode: 0644]
test/safemap/README [new file with mode: 0644]
test/safemap/down [new file with mode: 0644]
test/safemap/grantor.c [new file with mode: 0644]
test/safemap/inc.h [new file with mode: 0644]
test/safemap/requestor.c [new file with mode: 0644]
test/safemap/run [new file with mode: 0644]
test/safemap/system.conf [new file with mode: 0644]
test/safeperf/Makefile [new file with mode: 0644]
test/safeperf/README [new file with mode: 0644]
test/safeperf/down [new file with mode: 0644]
test/safeperf/grantor.c [new file with mode: 0644]
test/safeperf/inc.h [new file with mode: 0644]
test/safeperf/requestor.c [new file with mode: 0644]
test/safeperf/run [new file with mode: 0644]
test/safeperf/system.conf [new file with mode: 0644]