|
|
1.1.1.2 root 1: /*
1.1 root 2: * Mach Operating System
3: * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University
4: * All Rights Reserved.
1.1.1.2 root 5: *
1.1 root 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.
1.1.1.2 root 11: *
1.1 root 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.
1.1.1.2 root 15: *
1.1 root 16: * Carnegie Mellon requests users of this software to return to
1.1.1.2 root 17: *
1.1 root 18: * Software Distribution Coordinator or [email protected]
19: * School of Computer Science
20: * Carnegie Mellon University
21: * Pittsburgh PA 15213-3890
1.1.1.2 root 22: *
1.1 root 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 Mach kernel debugging interface.
28: */
29:
30: subsystem
31: #if KERNEL_SERVER
32: KernelServer
1.1.1.2 root 33: #endif /* KERNEL_SERVER */
1.1 root 34: mach_debug 3000;
35:
36: #include <mach/std_types.defs>
37: #include <mach/mach_types.defs>
38: #include <mach_debug/mach_debug_types.defs>
39:
40: skip; /* host_ipc_statistics */
41: skip; /* host_ipc_statistics_reset */
42: skip; /* host_callout_info */
43: skip; /* host_callout_statistics */
44: skip; /* host_callout_statistics_reset */
1.1.1.3 ! root 45: skip; /* host_zone_info */
1.1 root 46: skip; /* host_ipc_bucket_info */
47:
48: #if !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG
49:
50: /*
51: * Returns the exact number of extant send rights
52: * for the given receive right.
53: */
54:
55: routine mach_port_get_srights(
56: task : ipc_space_t;
57: name : mach_port_name_t;
58: out srights : mach_port_rights_t);
59:
60: /*
61: * Returns information about the global reverse hash table.
62: */
63:
64: routine host_ipc_hash_info(
65: host : host_t;
66: out info : hash_info_bucket_array_t,
67: CountInOut, Dealloc);
68:
69: /*
70: * Returns information about the marequest hash table.
71: */
72:
73: routine host_ipc_marequest_info(
74: host : host_t;
75: out max_requests : unsigned;
76: out info : hash_info_bucket_array_t,
77: CountInOut, Dealloc);
78:
79: /*
80: * Returns information about an IPC space.
81: */
82:
83: routine mach_port_space_info(
84: task : ipc_space_t;
85: out info : ipc_info_space_t;
86: out table_info : ipc_info_name_array_t,
87: CountInOut, Dealloc;
88: out tree_info : ipc_info_tree_name_array_t,
89: CountInOut, Dealloc);
90:
91: /*
92: * Returns information about the dead-name requests
93: * registered with the named receive right.
94: */
95:
96: routine mach_port_dnrequest_info(
97: task : ipc_space_t;
98: name : mach_port_name_t;
99: out total : unsigned; /* total size of table */
100: out used : unsigned); /* amount used */
101:
1.1.1.2 root 102: #else /* !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG */
1.1 root 103: skip; /* mach_port_get_srights */
104: skip; /* host_ipc_hash_info */
105: skip; /* host_ipc_marequest_info */
106: skip; /* mach_port_space_info */
107: skip; /* mach_port_dnrequest_info */
1.1.1.2 root 108: #endif /* !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG */
1.1 root 109:
110: skip; /* mach_vm_region_info */
111: skip; /* vm_mapped_pages_info */
112:
113: /*
114: * Returns stack usage information:
115: * reserved Amount of stack space reserved for pcb.
116: * total Number of stacks.
117: * space Total VM space for stacks.
118: * resident Resident VM space for stacks.
119: * maxusage Maximum amount of stack used.
120: * maxstack Address in the kernel of the largest stack.
121: */
122:
123: routine host_stack_usage(
124: host : host_t;
125: out reserved : vm_size_t;
126: out total : unsigned;
127: out space : vm_size_t;
128: out resident : vm_size_t;
129: out maxusage : vm_size_t;
130: out maxstack : vm_offset_t);
131:
132: routine processor_set_stack_usage(
133: pset : processor_set_name_t;
134: out total : unsigned;
135: out space : vm_size_t;
136: out resident : vm_size_t;
137: out maxusage : vm_size_t;
138: out maxstack : vm_offset_t);
139:
140: #if !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG
141:
142: /*
143: * Returns information about the global VP table.
144: */
145:
146: routine host_virtual_physical_table_info(
147: host : host_t;
148: out info : hash_info_bucket_array_t,
149: CountInOut, Dealloc);
150:
1.1.1.2 root 151: #else /* !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG */
1.1 root 152: skip; /* host_virtual_physical_table_info */
1.1.1.2 root 153: #endif /* !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG */
1.1 root 154:
155: #if !defined(MACH_KDB) || MACH_KDB
156: /*
157: * Loads a symbol table for an external file into the kernel debugger.
158: * The symbol table data is an array of characters. It is assumed that
159: * the caller and the kernel debugger agree on its format.
160: */
161:
162: routine host_load_symbol_table(
163: host : host_priv_t;
164: task : task_t;
165: name : symtab_name_t;
166: symtab : pointer_t);
167:
1.1.1.2 root 168: #else /* !defined(MACH_KDB) || MACH_KDB */
1.1 root 169: skip; /* host_load_symbol_table */
1.1.1.2 root 170: #endif /* !defined(MACH_KDB) || MACH_KDB */
1.1 root 171:
172: #if !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG
173:
174: /*
175: * Return the type and address of the kernel object
176: * that the given send/receive right represents.
177: */
178:
179: routine mach_port_kernel_object(
180: task : ipc_space_t;
181: name : mach_port_name_t;
182: out object_type : unsigned;
183: out object_addr : vm_offset_t);
184:
1.1.1.2 root 185: #else /* !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG */
1.1 root 186: skip; /* mach_port_kernel_object */
1.1.1.2 root 187: #endif /* !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG */
1.1 root 188:
189: #if !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG
190:
191: /*
192: * Returns information about a region of memory.
193: */
194:
195: routine mach_vm_region_info(
196: task : vm_task_t;
197: address : vm_address_t;
198: out region : vm_region_info_t;
199: /* avoid out-translation of the argument */
200: out object : memory_object_name_t =
201: MACH_MSG_TYPE_MOVE_SEND
202: ctype: mach_port_t);
203:
204: routine mach_vm_object_info(
205: object : memory_object_name_t;
206: out info : vm_object_info_t;
207: /* avoid out-translation of the argument */
208: out shadow : memory_object_name_t =
209: MACH_MSG_TYPE_MOVE_SEND
210: ctype: mach_port_t;
211: /* avoid out-translation of the argument */
212: out copy : memory_object_name_t =
213: MACH_MSG_TYPE_MOVE_SEND
214: ctype: mach_port_t);
215:
216: routine mach_vm_object_pages(
217: object : memory_object_name_t;
218: out pages : vm_page_info_array_t,
219: CountInOut, Dealloc);
220:
1.1.1.3 ! root 221: /*
! 222: * Returns information about the memory allocation caches.
! 223: */
! 224: routine host_slab_info(
! 225: host : host_t;
! 226: out info : cache_info_array_t,
! 227: CountInOut, Dealloc);
! 228:
1.1.1.2 root 229: #else /* !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG */
1.1 root 230: skip; /* mach_vm_region_info */
231: skip; /* mach_vm_object_info */
232: skip; /* mach_vm_object_pages */
1.1.1.2 root 233: #endif /* !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.