Lines Matching defs:processor

60  *	processor.c: processor and processor_set manipulation routines.
65 #include <mach/processor.h>
72 #include <kern/processor.h>
136 * Initialize the given processor for the cpu
138 * specified processor set.
142 processor_t processor,
148 if (processor != master_processor) {
150 SCHED(processor_init)(processor);
153 processor->state = PROCESSOR_OFF_LINE;
154 processor->active_thread = THREAD_NULL;
155 processor->next_thread = THREAD_NULL;
156 processor->idle_thread = THREAD_NULL;
157 processor->processor_set = pset;
158 processor->current_pri = MINPRI;
159 processor->current_thmode = TH_MODE_NONE;
160 processor->cpu_id = cpu_id;
161 timer_call_setup(&processor->quantum_timer, thread_quantum_expire, processor);
162 processor->deadline = UINT64_MAX;
163 processor->timeslice = 0;
164 processor->processor_meta = PROCESSOR_META_NULL;
165 processor->processor_self = IP_NULL;
166 processor_data_init(processor);
167 processor->processor_list = NULL;
182 processor_list = processor;
184 processor_list_tail->processor_list = processor;
185 processor_list_tail = processor;
192 processor_t processor,
205 processor->processor_meta = pmeta;
210 processor_t processor)
212 return (processor->processor_set);
296 register processor_t processor,
305 if (processor == PROCESSOR_NULL)
308 cpu_id = processor->cpu_id;
322 state = processor->state;
328 if (processor == master_processor)
351 (uint32_t)(timer_grab(&PROCESSOR_DATA(processor, user_state)) / hz_tick_interval);
353 (uint32_t)(timer_grab(&PROCESSOR_DATA(processor, system_state)) / hz_tick_interval);
355 uint64_t tval = timer_grab(&PROCESSOR_DATA(processor, user_state)) +
356 timer_grab(&PROCESSOR_DATA(processor, system_state));
362 idle_state = &PROCESSOR_DATA(processor, idle_state);
365 if (PROCESSOR_DATA(processor, current_state) != idle_state ||
368 (uint32_t)(timer_grab(&PROCESSOR_DATA(processor, idle_state)) / hz_tick_interval);
395 processor_t processor)
402 if (processor == PROCESSOR_NULL || processor->processor_set == PROCESSOR_SET_NULL)
405 if (processor == master_processor) {
408 prev = thread_bind(processor);
411 result = cpu_start(processor->cpu_id);
419 pset = processor->processor_set;
421 if (processor->state != PROCESSOR_OFF_LINE) {
428 processor->state = PROCESSOR_START;
433 * Create the idle processor thread.
435 if (processor->idle_thread == THREAD_NULL) {
436 result = idle_thread_create(processor);
440 processor->state = PROCESSOR_OFF_LINE;
449 * If there is no active thread, the processor
453 if ( processor->active_thread == THREAD_NULL &&
454 processor->next_thread == THREAD_NULL ) {
459 processor->state = PROCESSOR_OFF_LINE;
468 thread->bound_processor = processor;
469 processor->next_thread = thread;
477 if (processor->processor_self == IP_NULL)
478 ipc_processor_init(processor);
480 result = cpu_start(processor->cpu_id);
484 processor->state = PROCESSOR_OFF_LINE;
491 ipc_processor_enable(processor);
498 processor_t processor)
500 if (processor == PROCESSOR_NULL)
503 return(processor_shutdown(processor));
508 processor_t processor,
512 if (processor == PROCESSOR_NULL)
515 return(cpu_control(processor->cpu_id, info, count));
536 processor_t processor,
541 if (processor == PROCESSOR_NULL)
544 state = processor->state;
679 * Returns scheduling statistics for a processor set.
715 * Specify max priority permitted on processor set. This affects
731 * Allow indicated policy on processor set.
745 * Forbid indicated policy on processor set. Time sharing cannot
935 * List all tasks in the processor set.
949 * List all threads in the processor set.
983 * Controls the scheduling attributes governing the processor set.