kernel: add vrfy hooks to support userspace with condvar

Add needed vrfy hooks for userspace support.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
diff --git a/kernel/condvar.c b/kernel/condvar.c
index c3010cd..aa1b89a 100644
--- a/kernel/condvar.c
+++ b/kernel/condvar.c
@@ -9,6 +9,7 @@
 #include <toolchain.h>
 #include <ksched.h>
 #include <wait_q.h>
+#include <syscall_handler.h>
 
 static struct k_spinlock lock;
 
@@ -19,6 +20,15 @@
 	return 0;
 }
 
+#ifdef CONFIG_USERSPACE
+int z_vrfy_k_condvar_init(struct k_condvar *condvar)
+{
+	Z_OOPS(Z_SYSCALL_OBJ_INIT(condvar, K_OBJ_CONDVAR));
+	return z_impl_k_condvar_init(condvar);
+}
+#include <syscalls/k_condvar_init_mrsh.c>
+#endif
+
 int z_impl_k_condvar_signal(struct k_condvar *condvar)
 {
 	k_spinlock_key_t key = k_spin_lock(&lock);
@@ -34,6 +44,15 @@
 	return 0;
 }
 
+#ifdef CONFIG_USERSPACE
+int z_vrfy_k_condvar_signal(struct k_condvar *condvar)
+{
+	Z_OOPS(Z_SYSCALL_OBJ(condvar, K_OBJ_CONDVAR));
+	return z_impl_k_condvar_signal(condvar);
+}
+#include <syscalls/k_condvar_signal_mrsh.c>
+#endif
+
 int z_impl_k_condvar_broadcast(struct k_condvar *condvar)
 {
 	struct k_thread *pending_thread;
@@ -54,6 +73,14 @@
 
 	return woken;
 }
+#ifdef CONFIG_USERSPACE
+int z_vrfy_k_condvar_broadcast(struct k_condvar *condvar)
+{
+	Z_OOPS(Z_SYSCALL_OBJ(condvar, K_OBJ_CONDVAR));
+	return z_impl_k_condvar_broadcast(condvar);
+}
+#include <syscalls/k_condvar_broadcast_mrsh.c>
+#endif
 
 int z_impl_k_condvar_wait(struct k_condvar *condvar, struct k_mutex *mutex,
 			  k_timeout_t timeout)
@@ -69,3 +96,13 @@
 
 	return ret;
 }
+#ifdef CONFIG_USERSPACE
+int z_vrfy_k_condvar_wait(struct k_condvar *condvar, struct k_mutex *mutex,
+			  k_timeout_t timeout)
+{
+	Z_OOPS(Z_SYSCALL_OBJ(condvar, K_OBJ_CONDVAR));
+	Z_OOPS(Z_SYSCALL_OBJ(mutex, K_OBJ_MUTEX));
+	return z_impl_k_condvar_wait(condvar, mutex, timeout);
+}
+#include <syscalls/k_condvar_wait_mrsh.c>
+#endif
diff --git a/scripts/gen_kobject_list.py b/scripts/gen_kobject_list.py
index 0a3ae69..a1f18df 100755
--- a/scripts/gen_kobject_list.py
+++ b/scripts/gen_kobject_list.py
@@ -105,7 +105,8 @@
     ("NET_SOCKET", (None, False, False)),
     ("net_if", (None, False, False)),
     ("sys_mutex", (None, True, False)),
-    ("k_futex", (None, True, False))
+    ("k_futex", (None, True, False)),
+    ("k_condvar", (None, False, True))
 ])
 
 def kobject_to_enum(kobj):