Merge branch 'master'
[linux-2.6] / arch / um / kernel / syscall.c
1 /*
2  * Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
3  * Licensed under the GPL
4  */
5
6 #include "kern_util.h"
7 #include "syscall.h"
8 #include "os.h"
9
10 struct {
11         int syscall;
12         int pid;
13         long result;
14         unsigned long long start;
15         unsigned long long end;
16 } syscall_record[1024];
17
18 int record_syscall_start(int syscall)
19 {
20         int max, index;
21
22         max = sizeof(syscall_record)/sizeof(syscall_record[0]);
23         index = next_syscall_index(max);
24
25         syscall_record[index].syscall = syscall;
26         syscall_record[index].pid = current_pid();
27         syscall_record[index].result = 0xdeadbeef;
28         syscall_record[index].start = os_nsecs();
29         return(index);
30 }
31
32 void record_syscall_end(int index, long result)
33 {
34         syscall_record[index].result = result;
35         syscall_record[index].end = os_nsecs();
36 }