aboutsummaryrefslogtreecommitdiff
path: root/include/mach/mach4.defs
Commit message (Collapse)AuthorAgeFilesLines
* Define rpc_vm_size_array_t and rpc_vm_offset_array_tFlavio Cruz2023-01-311-3/+5
| | | | | | | | | | When generating stubs, Mig will will take the vm_size_array_t and define the input request struct using rpc_vm_size_t since the size is variable. This will turn cause a mismatch between types (vm_size_t* vs rpc_vm_size_t*). We could also ask Mig to produce a prototype by using rpc_vm_size_t*, however we would need to change the implementation of the RPC to use rpc_* types anyway since we want to avoid another allocation of the array. Message-Id: <Y9iwScHpmsgY3V0N@jupiter.tail36e24.ts.net>
* Use portable rpc types to define 'struct sample'.Flavio Cruz2022-11-281-2/+8
| | | | Message-Id: <Y4QQFkTUR4M60Gx0@viriathus>
* vm_region_get_proxy: rename to create_proxySergey Bugaev2021-11-071-1/+1
| | | | For coherency with memory_object_create_proxy.
* vm: vm_region_get_proxyJoan Lledó2021-11-071-0/+10
| | | | | | | | | To get a proxy to the region a given address belongs to, with protection and range limited to the region ones. * include/mach/mach4.defs: vm_region_get_proxy RPC declaration * vm/vm_map.c: vm_region_get_proxy implementation Message-Id: <20211106081333.10366-2-jlledom@mailfence.com>
* memory_object_create_proxy: Make len parameter vm_size_array_tSamuel Thibault2021-10-171-1/+2
| | | | | | | | | | | This is a no-op on i386. * i386/include/mach/i386/vm_types.h (vm_size_array_t): New type. * include/mach/mach4.defs (vm_size_array_t): New type. (memory_object_create_proxy): Turn len parameter from vm_offset_array_t to vm_size_array_t. * vm/memory_object_proxy.c (memory_object_create_proxy): Turn len parameter from const vm_offset_t * to const vm_size_t *.
* memory_object_proxy: Explicit that creation wants a send rightSamuel Thibault2021-08-091-2/+2
| | | | This is required anyway, and allows the caller to pass on MAKE_SEND.
* Add memory object proxiesSamuel Thibault2009-11-281-0/+30
| | | | | | | | | | | | | | | | | | | | | | 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 <marcus@gnu.org> * 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.
* Initial sourceThomas Bushnell1997-02-251-0/+82