summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2021-10-17 21:54:02 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2021-10-17 21:54:02 +0200
commit1032c8233f33bd13deefb167b897e1ec8a0a2a64 (patch)
tree530fbf52157f66e24a54b9299061773b2fa3503b
parentc96f937b78efc3130700724c60439f4f5cc2ef2f (diff)
memory_object_create_proxy: Make len parameter vm_size_array_t
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 *.
-rw-r--r--i386/include/mach/i386/vm_types.h1
-rw-r--r--include/mach/mach4.defs3
-rw-r--r--vm/memory_object_proxy.c2
3 files changed, 4 insertions, 2 deletions
diff --git a/i386/include/mach/i386/vm_types.h b/i386/include/mach/i386/vm_types.h
index 29b9e1e6..f49a95a1 100644
--- a/i386/include/mach/i386/vm_types.h
+++ b/i386/include/mach/i386/vm_types.h
@@ -93,6 +93,7 @@ typedef unsigned long vm_size_t;
#else
typedef natural_t vm_size_t;
#endif
+typedef vm_size_t * vm_size_array_t;
#endif /* __ASSEMBLER__ */
diff --git a/include/mach/mach4.defs b/include/mach/mach4.defs
index 98af5905..22bbbaec 100644
--- a/include/mach/mach4.defs
+++ b/include/mach/mach4.defs
@@ -101,6 +101,7 @@ skip /* pc_sampling reserved 4*/;
given memory object OBJECT at OFFSET in the new object with the maximum
protection MAX_PROTECTION and return it in *PORT. */
type vm_offset_array_t = array[*:1024] of vm_offset_t;
+type vm_size_array_t = array[*:1024] of vm_size_t;
routine memory_object_create_proxy(
task : ipc_space_t;
max_protection : vm_prot_t;
@@ -108,5 +109,5 @@ routine memory_object_create_proxy(
array[*:1024] of mach_port_send_t;
offset : vm_offset_array_t;
start : vm_offset_array_t;
- len : vm_offset_array_t;
+ len : vm_size_array_t;
out proxy : mach_port_t);
diff --git a/vm/memory_object_proxy.c b/vm/memory_object_proxy.c
index b55a17f1..861599ee 100644
--- a/vm/memory_object_proxy.c
+++ b/vm/memory_object_proxy.c
@@ -134,7 +134,7 @@ memory_object_create_proxy (const ipc_space_t space, vm_prot_t max_protection,
ipc_port_t *object, natural_t object_count,
const vm_offset_t *offset, natural_t offset_count,
const vm_offset_t *start, natural_t start_count,
- const vm_offset_t *len, natural_t len_count,
+ const vm_size_t *len, natural_t len_count,
ipc_port_t *port)
{
memory_object_proxy_t proxy;