|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. ! 3: * ! 4: * @APPLE_LICENSE_HEADER_START@ ! 5: * ! 6: * The contents of this file constitute Original Code as defined in and ! 7: * are subject to the Apple Public Source License Version 1.1 (the ! 8: * "License"). You may not use this file except in compliance with the ! 9: * License. Please obtain a copy of the License at ! 10: * http://www.apple.com/publicsource and read it before using this file. ! 11: * ! 12: * This Original Code and all software distributed under the License are ! 13: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER ! 14: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, ! 15: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, ! 16: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the ! 17: * License for the specific language governing rights and limitations ! 18: * under the License. ! 19: * ! 20: * @APPLE_LICENSE_HEADER_END@ ! 21: */ ! 22: /* ! 23: * @OSF_FREE_COPYRIGHT@ ! 24: */ ! 25: /* ! 26: * Mach Operating System ! 27: * Copyright (c) 1991,1990,1989 Carnegie Mellon University ! 28: * All Rights Reserved. ! 29: * ! 30: * Permission to use, copy, modify and distribute this software and its ! 31: * documentation is hereby granted, provided that both the copyright ! 32: * notice and this permission notice appear in all copies of the ! 33: * software, derivative works or modified versions, and any portions ! 34: * thereof, and that both notices appear in supporting documentation. ! 35: * ! 36: * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" ! 37: * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR ! 38: * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. ! 39: * ! 40: * Carnegie Mellon requests users of this software to return to ! 41: * ! 42: * Software Distribution Coordinator or [email protected] ! 43: * School of Computer Science ! 44: * Carnegie Mellon University ! 45: * Pittsburgh PA 15213-3890 ! 46: * ! 47: * any improvements or extensions that they make and grant Carnegie Mellon ! 48: * the rights to redistribute these changes. ! 49: */ ! 50: /* ! 51: */ ! 52: /* ! 53: * File: mach/mach_port.defs ! 54: * Author: Rich Draves ! 55: * ! 56: * Exported kernel calls. ! 57: */ ! 58: ! 59: subsystem ! 60: #if KERNEL_SERVER ! 61: KernelServer ! 62: #endif KERNEL_SERVER ! 63: processor_set 4000; ! 64: ! 65: #include <mach/std_types.defs> ! 66: #include <mach/mach_types.defs> ! 67: ! 68: /* ! 69: * Return scheduling statistics for a processor set. ! 70: */ ! 71: routine processor_set_statistics( ! 72: pset : processor_set_t; ! 73: flavor : processor_set_flavor_t; ! 74: out info_out : processor_set_info_t, CountInOut); ! 75: ! 76: ! 77: /* ! 78: * Destroy processor set. ! 79: */ ! 80: routine processor_set_destroy( ! 81: set : processor_set_t); ! 82: ! 83: ! 84: /* ! 85: * Set max priority for processor_set. ! 86: */ ! 87: routine processor_set_max_priority( ! 88: processor_set : processor_set_t; ! 89: max_priority : int; ! 90: change_threads : boolean_t); ! 91: ! 92: /* ! 93: * Enable policy for processor set ! 94: */ ! 95: routine processor_set_policy_enable( ! 96: processor_set : processor_set_t; ! 97: policy : int); ! 98: ! 99: /* ! 100: * Disable policy for processor set ! 101: */ ! 102: routine processor_set_policy_disable( ! 103: processor_set : processor_set_t; ! 104: policy : int; ! 105: change_threads : boolean_t); ! 106: ! 107: /* ! 108: * List all tasks in processor set. ! 109: */ ! 110: routine processor_set_tasks( ! 111: processor_set : processor_set_t; ! 112: out task_list : task_array_t); ! 113: ! 114: /* ! 115: * List all threads in processor set. ! 116: */ ! 117: routine processor_set_threads( ! 118: processor_set : processor_set_t; ! 119: out thread_list : thread_act_array_t); ! 120: ! 121: /* ! 122: * Controls the scheduling attributes governing the processor set. ! 123: * Allows control of enabled policies, and per-policy base and limit ! 124: * priorities. ! 125: */ ! 126: routine processor_set_policy_control( ! 127: pset : processor_set_t; ! 128: flavor : processor_set_flavor_t; ! 129: policy_info : processor_set_info_t; ! 130: change : boolean_t); ! 131: ! 132: ! 133: /* ! 134: * Debug Info ! 135: * This call is only valid on MACH_DEBUG kernels. ! 136: * Otherwise, KERN_FAILURE is returned. ! 137: */ ! 138: routine processor_set_stack_usage( ! 139: pset : processor_set_t; ! 140: out total : unsigned; ! 141: out space : vm_size_t; ! 142: out resident : vm_size_t; ! 143: out maxusage : vm_size_t; ! 144: out maxstack : vm_offset_t); ! 145: ! 146: /* ! 147: * Get information about processor set. ! 148: * ! 149: * JMM - This used to be on a separate port, but it was ! 150: * not cleanly separated for components. I combined them ! 151: * rather than fix it, because processor_sets were going ! 152: * away anyway. ! 153: */ ! 154: routine processor_set_info( ! 155: set_name : processor_set_t; ! 156: flavor : int; ! 157: out host : host_t; ! 158: out info_out : processor_set_info_t, CountInOut); ! 159:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.