|
|
1.1 ! root 1: /* ! 2: * Mach Operating System ! 3: * Copyright (c) 1991,1990,1989,1988 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 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 ! 39: #endif /* KERNEL_SERVER */ ! 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: ! 118: #else /* !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG */ ! 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 */ ! 124: #endif /* !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG */ ! 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: ! 167: #else /* !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG */ ! 168: skip; /* host_virtual_physical_table_info */ ! 169: #endif /* !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG */ ! 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: ! 184: #else /* !defined(MACH_KDB) || MACH_KDB */ ! 185: skip; /* host_load_symbol_table */ ! 186: #endif /* !defined(MACH_KDB) || MACH_KDB */ ! 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: ! 201: #else /* !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG */ ! 202: skip; /* mach_port_kernel_object */ ! 203: #endif /* !defined(MACH_IPC_DEBUG) || MACH_IPC_DEBUG */ ! 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: ! 237: #else /* !defined(MACH_VM_DEBUG) || MACH_VM_DEBUG */ ! 238: skip; /* mach_vm_region_info */ ! 239: skip; /* mach_vm_object_info */ ! 240: skip; /* mach_vm_object_pages */ ! 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.