These patches address the comments raised in the previous submission and add support for 32-bit rpc and syscalls on a 64-bit kernel.
Luca Dariz (7): add msg_user_header_t for user-side msg structure x86_64: expand and shrink messages in copy{in,out}msg routines update syscall signature with rpc_vm_* and mach_port_name_t update writev syscall signature with rpc types adjust rdxtree key to the correct size add conversion helpers for invalid mach port names replace mach_port_t with mach_port_name_t Makefile.am | 3 + device/device_emul.h | 4 +- device/ds_routines.c | 22 ++- device/ds_routines.h | 12 +- i386/i386/copy_user.h | 102 ++++++++++ include/device/device_types.h | 4 + include/mach/mach_traps.h | 18 +- include/mach/message.h | 31 ++- include/mach/notify.h | 6 +- include/mach/port.h | 8 +- ipc/ipc_entry.c | 2 +- ipc/ipc_kmsg.c | 93 +++++---- ipc/ipc_kmsg.h | 15 +- ipc/ipc_marequest.c | 4 +- ipc/ipc_mqueue.c | 5 +- ipc/ipc_object.c | 4 +- ipc/ipc_port.c | 6 +- ipc/ipc_space.h | 2 +- ipc/mach_msg.c | 29 +-- ipc/mach_msg.h | 4 +- ipc/mach_port.c | 14 +- ipc/port.h | 20 ++ kern/exception.c | 12 +- kern/ipc_mig.c | 55 +++--- kern/ipc_mig.h | 34 ++-- kern/thread.h | 2 +- x86_64/Makefrag.am | 1 + x86_64/copy_user.c | 362 ++++++++++++++++++++++++++++++++++ x86_64/locore.S | 81 -------- 29 files changed, 711 insertions(+), 244 deletions(-) create mode 100644 i386/i386/copy_user.h create mode 100644 x86_64/copy_user.c -- 2.30.2