This commit was manufactured by cvs2svn to create branch 'vserver'.
[linux-2.6.git] / arch / um / kernel / syscall.c
diff --git a/arch/um/kernel/syscall.c b/arch/um/kernel/syscall.c
new file mode 100644 (file)
index 0000000..1731d90
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
+ * Licensed under the GPL
+ */
+
+#include "kern_util.h"
+#include "syscall.h"
+#include "os.h"
+
+struct {
+       int syscall;
+       int pid;
+       long result;
+       unsigned long long start;
+       unsigned long long end;
+} syscall_record[1024];
+
+int record_syscall_start(int syscall)
+{
+       int max, index;
+
+       max = sizeof(syscall_record)/sizeof(syscall_record[0]);
+       index = next_syscall_index(max);
+
+       syscall_record[index].syscall = syscall;
+       syscall_record[index].pid = current_pid();
+       syscall_record[index].result = 0xdeadbeef;
+       syscall_record[index].start = os_nsecs();
+       return(index);
+}
+
+void record_syscall_end(int index, long result)
+{
+       syscall_record[index].result = result;
+       syscall_record[index].end = os_nsecs();
+}