Index: uspace/lib/libc/arch/ia32/include/syscall.h
===================================================================
--- uspace/lib/libc/arch/ia32/include/syscall.h	(revision 4a537dda1680cfd9fd57ba877d36d641060c8f7f)
+++ uspace/lib/libc/arch/ia32/include/syscall.h	(revision 8e000b8d397020a2917b63703b403249b3a674ea)
@@ -40,19 +40,19 @@
 #include <kernel/syscall/syscall.h>
 
-#define __syscall0	__syscall_sysenter
-#define __syscall1	__syscall_sysenter
-#define __syscall2	__syscall_sysenter
-#define __syscall3	__syscall_sysenter
-#define __syscall4	__syscall_sysenter
-#define __syscall5	__syscall_int
-#define __syscall6	__syscall_int
+#define __syscall0	__syscall_fast_func
+#define __syscall1	__syscall_fast_func
+#define __syscall2	__syscall_fast_func
+#define __syscall3	__syscall_fast_func
+#define __syscall4	__syscall_fast_func
+#define __syscall5	__syscall_slow
+#define __syscall6	__syscall_slow
 
 extern sysarg_t
-__syscall_sysenter(const sysarg_t, const sysarg_t, const sysarg_t, const sysarg_t,
-     const sysarg_t, const sysarg_t, const syscall_t);
+(* __syscall_fast_func)(const sysarg_t, const sysarg_t, const sysarg_t,
+    const sysarg_t, const sysarg_t, const sysarg_t, const syscall_t);
 
 extern sysarg_t
-__syscall_int(const sysarg_t, const sysarg_t, const sysarg_t, const sysarg_t,
-     const sysarg_t, const sysarg_t, const syscall_t);
+__syscall_slow(const sysarg_t, const sysarg_t, const sysarg_t, const sysarg_t,
+    const sysarg_t, const sysarg_t, const syscall_t);
 
 #endif
Index: uspace/lib/libc/arch/ia32/src/syscall.S
===================================================================
--- uspace/lib/libc/arch/ia32/src/syscall.S	(revision 4a537dda1680cfd9fd57ba877d36d641060c8f7f)
+++ uspace/lib/libc/arch/ia32/src/syscall.S	(revision 8e000b8d397020a2917b63703b403249b3a674ea)
@@ -27,4 +27,10 @@
 #
 
+.data
+
+.global __syscall_fast_func
+__syscall_fast_func:
+	.long __syscall_slow
+
 .text
 
@@ -35,6 +41,6 @@
  * could benefit from this and not save unused registers on the stack.
  */
-.global __syscall_int
-__syscall_int:
+.global __syscall_slow
+__syscall_slow:
 	pushl %ebx
 	pushl %esi
@@ -64,6 +70,6 @@
  * segment, otherwise the SYSENTER wouldn't work in the first place).
  */
-.global __syscall_sysenter
-__syscall_sysenter:
+.global __syscall_fast
+__syscall_fast:
 	pushl %ebx
 	pushl %esi
