Index: kernel/generic/include/proc/thread.h
===================================================================
--- kernel/generic/include/proc/thread.h	(revision 180255fbf234649700144c2f9bd2b18bd7fc92de)
+++ kernel/generic/include/proc/thread.h	(revision 81db65bb2c2709895ffd352bc91bb2435f6b2de0)
@@ -259,4 +259,5 @@
 extern sysarg_t sys_thread_get_id(thread_id_t *);
 extern sysarg_t sys_thread_usleep(uint32_t);
+extern sysarg_t sys_thread_udelay(uint32_t);
 
 #endif
Index: kernel/generic/include/syscall/syscall.h
===================================================================
--- kernel/generic/include/syscall/syscall.h	(revision 180255fbf234649700144c2f9bd2b18bd7fc92de)
+++ kernel/generic/include/syscall/syscall.h	(revision 81db65bb2c2709895ffd352bc91bb2435f6b2de0)
@@ -44,4 +44,5 @@
 	SYS_THREAD_GET_ID,
 	SYS_THREAD_USLEEP,
+	SYS_THREAD_UDELAY,
 	
 	SYS_TASK_GET_ID,
Index: kernel/generic/src/proc/thread.c
===================================================================
--- kernel/generic/src/proc/thread.c	(revision 180255fbf234649700144c2f9bd2b18bd7fc92de)
+++ kernel/generic/src/proc/thread.c	(revision 81db65bb2c2709895ffd352bc91bb2435f6b2de0)
@@ -918,4 +918,10 @@
 }
 
+sysarg_t sys_thread_udelay(uint32_t usec)
+{
+	asm_delay_loop(usec * CPU->delay_loop_const);
+	return 0;
+}
+
 /** @}
  */
Index: kernel/generic/src/syscall/syscall.c
===================================================================
--- kernel/generic/src/syscall/syscall.c	(revision 180255fbf234649700144c2f9bd2b18bd7fc92de)
+++ kernel/generic/src/syscall/syscall.c	(revision 81db65bb2c2709895ffd352bc91bb2435f6b2de0)
@@ -127,4 +127,5 @@
 	(syshandler_t) sys_thread_get_id,
 	(syshandler_t) sys_thread_usleep,
+	(syshandler_t) sys_thread_udelay,
 	
 	(syshandler_t) sys_task_get_id,
