From 68945d0b2b858dedf5481b1df2b0ce44ce92e0b6 Mon Sep 17 00:00:00 2001 From: Luca Dariz Date: Thu, 16 Feb 2023 22:33:17 +0100 Subject: x86_64: fix argument passing to bootstrap modules if ! USER32 * kern/bootstrap.c: replace integers with long/vm_offset_t Message-Id: <20230216213318.2048699-3-luca@orpolo.org> --- kern/bootstrap.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'kern/bootstrap.c') diff --git a/kern/bootstrap.c b/kern/bootstrap.c index 91f4241e..8f66a4b5 100644 --- a/kern/bootstrap.c +++ b/kern/bootstrap.c @@ -579,7 +579,7 @@ build_args_and_stack(struct exec_info *boot_exec_info, vm_offset_t stack_base; vm_size_t stack_size; char * arg_ptr; - int arg_count, envc; + long arg_count, envc; int arg_len; char * arg_pos; int arg_item_len; @@ -612,7 +612,7 @@ build_args_and_stack(struct exec_info *boot_exec_info, * trailing 0 pointer * and align to integer boundary */ - arg_len += (sizeof(integer_t) + arg_len += (sizeof(rpc_vm_offset_t) + (arg_count + 1 + envc + 1) * sizeof(rpc_vm_offset_t)); arg_len = (arg_len + sizeof(integer_t) - 1) & ~(sizeof(integer_t)-1); @@ -633,7 +633,7 @@ build_args_and_stack(struct exec_info *boot_exec_info, * Start the strings after the arg-count and pointers */ string_pos = (arg_pos - + sizeof(integer_t) + + sizeof(rpc_vm_offset_t) + (arg_count + 1 + envc + 1) * sizeof(rpc_vm_offset_t)); /* @@ -641,8 +641,8 @@ build_args_and_stack(struct exec_info *boot_exec_info, */ (void) copyout(&arg_count, arg_pos, - sizeof(integer_t)); - arg_pos += sizeof(integer_t); + sizeof(rpc_vm_offset_t)); + arg_pos += sizeof(rpc_vm_offset_t); /* * Then the strings and string pointers for each argument -- cgit v1.2.3