|
|
1.1 root 1: /*
2: * Mach Operating System
3: * Copyright (c) 1994,1993,1992 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: * Matchmaker definitions file for Mach4 kernel interface.
28: */
29:
30: subsystem
31: #if KERNEL_SERVER
32: KernelServer
33: #endif /* KERNEL_SERVER */
34: #if KERNEL_USER
35: KernelUser
36: #endif /* KERNEL_USER */
37: mach4 4000;
38:
39: #include <mach/std_types.defs>
40: #include <mach/mach_types.defs>
41:
42:
43: #ifdef MACH_PCSAMPLE
44: type sampled_pc_t = struct[3] of natural_t;
45: type sampled_pc_array_t = array[*:512] of sampled_pc_t;
46: type sampled_pc_seqno_t = unsigned;
47: type sampled_pc_flavor_t = natural_t;
48:
49: routine task_enable_pc_sampling(
50: host : task_t;
51: out tick : int; /* sample frequency in usecs */
52: flavor : sampled_pc_flavor_t );
53:
54: routine task_disable_pc_sampling(
55: host : task_t;
56: out samplecnt : int);
57:
58: routine task_get_sampled_pcs(
59: host : task_t;
60: inout seqno : sampled_pc_seqno_t;
61: out sampled_pcs : sampled_pc_array_t);
62:
63: routine thread_enable_pc_sampling(
64: host : thread_t;
65: out tick : int; /* sample frequency in usecs*/
66: flavor : sampled_pc_flavor_t );
67:
68: routine thread_disable_pc_sampling(
69: host : thread_t;
70: out samplecnt : int);
71:
72: routine thread_get_sampled_pcs(
73: host : thread_t;
74: inout seqno : sampled_pc_seqno_t;
75: out sampled_pcs : sampled_pc_array_t);
76:
77:
78: skip /* pc_sampling reserved 1*/;
79: skip /* pc_sampling reserved 2*/;
80: skip /* pc_sampling reserved 3*/;
81: skip /* pc_sampling reserved 4*/;
1.1.1.2 ! root 82:
! 83: #else
! 84:
! 85: skip; /* task_enable_pc_sampling */
! 86: skip; /* task_disable_pc_sampling */
! 87: skip; /* task_get_sampled_pcs */
! 88: skip; /* thread_enable_pc_sampling */
! 89: skip; /* thread_disable_pc_sampling */
! 90: skip; /* thread_get_sampled_pcs */
! 91:
! 92: skip /* pc_sampling reserved 1*/;
! 93: skip /* pc_sampling reserved 2*/;
! 94: skip /* pc_sampling reserved 3*/;
! 95: skip /* pc_sampling reserved 4*/;
! 96:
1.1 root 97: #endif
1.1.1.2 ! root 98:
! 99:
! 100: /* Create a new proxy memory object from [START;START+LEN) in the
! 101: given OBJECT at OFFSET in the new object with the maximum
! 102: protection MAX_PROTECTION and return it in *PORT. */
! 103: type vm_offset_array_t = array[*:1024] of vm_offset_t;
! 104: routine memory_object_create_proxy(
! 105: task : ipc_space_t;
! 106: max_protection : vm_prot_t;
! 107: object : memory_object_array_t =
! 108: array[*:1024] of memory_object_t;
! 109: offset : vm_offset_array_t;
! 110: start : vm_offset_array_t;
! 111: len : vm_offset_array_t;
! 112: out proxy : mach_port_t);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.