/* auto-generated by gen_syscalls.py, don't edit */

#include <syscalls/kernel.h>

extern k_tid_t z_vrfy_k_thread_create(struct k_thread * new_thread, k_thread_stack_t * stack, size_t stack_size, k_thread_entry_t entry, void * p1, void * p2, void * p3, int prio, uint32_t options, k_timeout_t delay);
uintptr_t z_mrsh_k_thread_create(uintptr_t arg0, uintptr_t arg1, uintptr_t arg2,
		uintptr_t arg3, uintptr_t arg4, void *more, void *ssf)
{
	_current->syscall_frame = ssf;
	Z_OOPS(Z_SYSCALL_MEMORY_READ(more, 6 * sizeof(uintptr_t)));
	union { uintptr_t x; struct k_thread * val; } parm0;
	parm0.x = arg0;
	union { uintptr_t x; k_thread_stack_t * val; } parm1;
	parm1.x = arg1;
	union { uintptr_t x; size_t val; } parm2;
	parm2.x = arg2;
	union { uintptr_t x; k_thread_entry_t val; } parm3;
	parm3.x = arg3;
	union { uintptr_t x; void * val; } parm4;
	parm4.x = arg4;
	union { uintptr_t x; void * val; } parm5;
	parm5.x = (((uintptr_t *)more)[0]);
	union { uintptr_t x; void * val; } parm6;
	parm6.x = (((uintptr_t *)more)[1]);
	union { uintptr_t x; int val; } parm7;
	parm7.x = (((uintptr_t *)more)[2]);
	union { uintptr_t x; uint32_t val; } parm8;
	parm8.x = (((uintptr_t *)more)[3]);
	union { struct { uintptr_t lo, hi; } split; k_timeout_t val; } parm9;
	parm9.split.lo = (((uintptr_t *)more)[4]);
	parm9.split.hi = (((uintptr_t *)more)[5]);
	k_tid_t ret = z_vrfy_k_thread_create(parm0.val, parm1.val, parm2.val, parm3.val, parm4.val, parm5.val, parm6.val, parm7.val, parm8.val, parm9.val);
	_current->syscall_frame = NULL;
	return (uintptr_t) ret;
}

