|
|
1.1 root 1: /*
2: * Mach Operating System
3: * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University
4: * All Rights Reserved.
5: *
6: * Permission to use, copy, modify and distribute this software and its
7: * documentation is hereby granted, provided that both the copyright
8: * notice and this permission notice appear in all copies of the
9: * software, derivative works or modified versions, and any portions
10: * thereof, and that both notices appear in supporting documentation.
11: *
12: * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
13: * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
14: * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
15: *
16: * Carnegie Mellon requests users of this software to return to
17: *
18: * Software Distribution Coordinator or [email protected]
19: * School of Computer Science
20: * Carnegie Mellon University
21: * Pittsburgh PA 15213-3890
22: *
23: * any improvements or extensions that they make and grant Carnegie Mellon
24: * the rights to redistribute these changes.
25: */
26:
27: #include <mach/std_types.h>
28: #include <sys/time.h>
29: #include <kern/time_stamp.h>
30:
31: /*
32: * ts.c - kern_timestamp system call.
33: */
34: #ifdef multimax
35: #include <mmax/timer.h>
36: #endif /* multimax */
37:
38:
39:
40: kern_return_t
41: kern_timestamp(tsp)
42: struct tsval *tsp;
43: {
44: #ifdef multimax
45: struct tsval temp;
46: temp.low_val = FRcounter;
47: temp.high_val = 0;
48: #else /* multimax */
49: /*
50: temp.low_val = 0;
51: temp.high_val = ts_tick_count;
52: */
53: time_value_t temp;
54: temp = time;
55: #endif /* multimax */
56:
57: if (copyout((char *)&temp,
58: (char *)tsp,
59: sizeof(struct tsval)) != KERN_SUCCESS)
60: return(KERN_INVALID_ADDRESS);
61: return(KERN_SUCCESS);
62: }
63:
64: /*
65: * Initialization procedure.
66: */
67:
68: void timestamp_init()
69: {
70: #ifdef multimax
71: #else /* multimax */
72: ts_tick_count = 0;
73: #endif /* multimax */
74: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.