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