From d088a062c1dcbd5047a6bf41ccb2cb1da2c78060 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 28 Nov 2009 17:37:54 +0100 Subject: Add memory object proxies Memory object proxies permit to replicate objects with different parameters, like reduced privileged, different offset, etc. They are e.g. essential for properly managing memory access permissions. 2005-06-06 Marcus Brinkmann * include/mach/mach4.defs: Add memory_object_create_proxy interface. * Makefile.in (vm-cfiles): Add memory_object_proxy.c. * i386/include/mach/i386/vm_types.h (vm_offset_array_t): New type. * include/mach/memory_object.h (memory_object_array_t): New type. * vm/memory_object_proxy.c: New file. * kern/ipc_kobject.h: New macro IKOT_PAGER_PROXY. Bump up macros IKOT_UNKNOWN and IKOT_MAX_TYPE. * kern/ipc_kobject.c (ipc_kobject_notify): Call memory_object_proxy_notify for IKOT_PAGER_PROXY. * vm/vm_init.c (vm_mem_init): Call memory_object_proxy_init. * vm/vm_user.c (vm_map): Implement support for proxy memory objects. --- kern/ipc_kobject.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'kern/ipc_kobject.c') diff --git a/kern/ipc_kobject.c b/kern/ipc_kobject.c index 959cc0d..3d8775b 100644 --- a/kern/ipc_kobject.c +++ b/kern/ipc_kobject.c @@ -355,6 +355,9 @@ ipc_kobject_notify(request_header, reply_header) case IKOT_DEVICE: return ds_notify(request_header); + case IKOT_PAGER_PROXY: + return memory_object_proxy_notify(request_header); + default: return FALSE; } -- cgit v1.2.3