Return the new thread pointer from krnl_create_thread. Implement krnl_wait_for_thread to allow a thread to block on the termination of another thread. Fill the sbrk syscall with our Mm's user alloc function.