|
|
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:
1.1.1.5 ! root 60: skip; /* host_ipc_hash_info */
1.1 root 61:
62: /*
63: * Returns information about the marequest hash table.
64: */
65:
66: routine host_ipc_marequest_info(
67: host : host_t;
68: out max_requests : unsigned;
69: out info : hash_info_bucket_array_t,
70: CountInOut, Dealloc);
71:
1.1.1.5 ! root 72: skip; /* mach_port_space_info */
1.1 root 73:
74: /*
75: * Returns information about the dead-name requests
76: * registered with the named receive right.
77: */
78:
79: routine mach_port_dnrequest_info(
80: task : ipc_space_t;
81: name : mach_port_name_t;
82: out total : unsigned; /* total size of table */
83: out used : unsigned); /* amount used */
84:
1.1.1.2 root 85: #else /* !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG */
1.1 root 86: skip; /* mach_port_get_srights */
87: skip; /* host_ipc_hash_info */
88: skip; /* host_ipc_marequest_info */
89: skip; /* mach_port_space_info */
90: skip; /* mach_port_dnrequest_info */
1.1.1.2 root 91: #endif /* !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG */
1.1 root 92:
93: skip; /* mach_vm_region_info */
94: skip; /* vm_mapped_pages_info */
95:
96: /*
97: * Returns stack usage information:
98: * reserved Amount of stack space reserved for pcb.
99: * total Number of stacks.
100: * space Total VM space for stacks.
101: * resident Resident VM space for stacks.
102: * maxusage Maximum amount of stack used.
103: * maxstack Address in the kernel of the largest stack.
104: */
105:
106: routine host_stack_usage(
107: host : host_t;
108: out reserved : vm_size_t;
109: out total : unsigned;
110: out space : vm_size_t;
111: out resident : vm_size_t;
112: out maxusage : vm_size_t;
113: out maxstack : vm_offset_t);
114:
115: routine processor_set_stack_usage(
116: pset : processor_set_name_t;
117: out total : unsigned;
118: out space : vm_size_t;
119: out resident : vm_size_t;
120: out maxusage : vm_size_t;
121: out maxstack : vm_offset_t);
122:
123: #if !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG
124:
125: /*
126: * Returns information about the global VP table.
127: */
128:
129: routine host_virtual_physical_table_info(
130: host : host_t;
131: out info : hash_info_bucket_array_t,
132: CountInOut, Dealloc);
133:
1.1.1.2 root 134: #else /* !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG */
1.1 root 135: skip; /* host_virtual_physical_table_info */
1.1.1.2 root 136: #endif /* !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG */
1.1 root 137:
138: #if !defined(MACH_KDB) || MACH_KDB
139: /*
140: * Loads a symbol table for an external file into the kernel debugger.
141: * The symbol table data is an array of characters. It is assumed that
142: * the caller and the kernel debugger agree on its format.
143: */
144:
145: routine host_load_symbol_table(
146: host : host_priv_t;
147: task : task_t;
148: name : symtab_name_t;
149: symtab : pointer_t);
150:
1.1.1.2 root 151: #else /* !defined(MACH_KDB) || MACH_KDB */
1.1 root 152: skip; /* host_load_symbol_table */
1.1.1.2 root 153: #endif /* !defined(MACH_KDB) || MACH_KDB */
1.1 root 154:
155: #if !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG
156:
157: /*
158: * Return the type and address of the kernel object
159: * that the given send/receive right represents.
160: */
161:
162: routine mach_port_kernel_object(
163: task : ipc_space_t;
164: name : mach_port_name_t;
165: out object_type : unsigned;
166: out object_addr : vm_offset_t);
167:
1.1.1.2 root 168: #else /* !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG */
1.1 root 169: skip; /* mach_port_kernel_object */
1.1.1.2 root 170: #endif /* !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG */
1.1 root 171:
172: #if !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG
173:
174: /*
175: * Returns information about a region of memory.
176: */
177:
178: routine mach_vm_region_info(
179: task : vm_task_t;
180: address : vm_address_t;
181: out region : vm_region_info_t;
182: /* avoid out-translation of the argument */
183: out object : memory_object_name_t =
184: MACH_MSG_TYPE_MOVE_SEND
185: ctype: mach_port_t);
186:
187: routine mach_vm_object_info(
188: object : memory_object_name_t;
189: out info : vm_object_info_t;
190: /* avoid out-translation of the argument */
191: out shadow : memory_object_name_t =
192: MACH_MSG_TYPE_MOVE_SEND
193: ctype: mach_port_t;
194: /* avoid out-translation of the argument */
195: out copy : memory_object_name_t =
196: MACH_MSG_TYPE_MOVE_SEND
197: ctype: mach_port_t);
198:
199: routine mach_vm_object_pages(
200: object : memory_object_name_t;
201: out pages : vm_page_info_array_t,
202: CountInOut, Dealloc);
203:
1.1.1.4 root 204: #else /* !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG */
205: skip; /* mach_vm_region_info */
206: skip; /* mach_vm_object_info */
207: skip; /* mach_vm_object_pages */
208: #endif /* !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG */
209:
1.1.1.3 root 210: /*
211: * Returns information about the memory allocation caches.
212: */
213: routine host_slab_info(
214: host : host_t;
215: out info : cache_info_array_t,
216: CountInOut, Dealloc);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.