* include/mach/mach_types.defs: use rpc_ vm types for KERNEL_USER stubs. This change fixes two use cases: * internal rpc, e.g. when a memory object is initialized as a consequence of vm_map(); for example, the bootstrap modules use the "time" kernel device and memory-map it during startup. This triggers a kernel-side rpc to initialize the memory object and install the map, which is completely transparent form user-space. * notifications from kernel to user-space
Signed-off-by: Luca Dariz <l...@orpolo.org> --- include/mach/mach_types.defs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/include/mach/mach_types.defs b/include/mach/mach_types.defs index a271d597..5c9fb2a8 100644 --- a/include/mach/mach_types.defs +++ b/include/mach/mach_types.defs @@ -110,9 +110,9 @@ type ipc_space_t = mach_port_t #endif /* KERNEL_SERVER */ ; -#if defined(KERNEL_SERVER) && defined(USER32) +#if defined(KERNEL) && defined(USER32) type rpc_vm_size_t = uint32_t; -#else /* KERNEL_SERVER and USER32 */ +#else /* KERNEL and USER32 */ #if defined(__x86_64__) type rpc_vm_size_t = uint64_t; #else /* __x86_64__ */ @@ -121,21 +121,27 @@ type rpc_vm_size_t = uint32_t; #endif /* KERNEL_SERVER and USER32 */ type vm_address_t = rpc_vm_size_t -#if defined(KERNEL_SERVER) || defined(KERNEL_USER) +#if defined(KERNEL_SERVER) intran: vm_address_t convert_vm_from_user(rpc_vm_address_t) outtran: rpc_vm_address_t convert_vm_to_user(vm_address_t) +#elif defined(KERNEL_USER) + ctype: rpc_vm_address_t #endif ; type vm_offset_t = rpc_vm_size_t -#if defined(KERNEL_SERVER) || defined(KERNEL_USER) +#if defined(KERNEL_SERVER) intran: vm_offset_t convert_vm_from_user(rpc_vm_offset_t) outtran: rpc_vm_offset_t convert_vm_to_user(vm_offset_t) +#elif defined(KERNEL_USER) + ctype: rpc_vm_offset_t #endif ; type vm_size_t = rpc_vm_size_t -#if defined(KERNEL_SERVER) || defined(KERNEL_USER) +#if defined(KERNEL_SERVER) intran: vm_size_t convert_vm_from_user(rpc_vm_size_t) outtran: rpc_vm_size_t convert_vm_to_user(vm_size_t) +#elif defined(KERNEL_USER) + ctype: rpc_vm_size_t #endif ; type vm_prot_t = int; -- 2.30.2