Lines Matching refs:processor

85   cpu *processor = ZALLOC(cpu);  in cpu_create()  local
88 processor->physical = memory; in cpu_create()
89 processor->virtual = vm_create(memory); in cpu_create()
90 processor->instruction_map = vm_create_instruction_map(processor->virtual); in cpu_create()
91 processor->data_map = vm_create_data_map(processor->virtual); in cpu_create()
94 processor->model_ptr = model_create (processor); in cpu_create()
97 processor->system = system; in cpu_create()
98 processor->events = psim_event_queue(system); in cpu_create()
99 processor->cpu_nr = cpu_nr; in cpu_create()
100 processor->monitor = monitor; in cpu_create()
101 processor->os_emulation = os_emulation; in cpu_create()
103 return processor; in cpu_create()
109 cpu_init(cpu *processor) in cpu_init() argument
111 memset(&processor->regs, 0, sizeof(processor->regs)); in cpu_init()
115 model_init (processor->model_ptr); in cpu_init()
123 cpu_system(cpu *processor) in cpu_system() argument
125 return processor->system; in cpu_system()
130 cpu_nr(cpu *processor) in cpu_nr() argument
132 return processor->cpu_nr; in cpu_nr()
137 cpu_monitor(cpu *processor) in cpu_monitor() argument
139 return processor->monitor; in cpu_monitor()
144 cpu_os_emulation(cpu *processor) in cpu_os_emulation() argument
146 return processor->os_emulation; in cpu_os_emulation()
151 cpu_model(cpu *processor) in cpu_model() argument
153 return processor->model_ptr; in cpu_model()
161 cpu_set_program_counter(cpu *processor, in cpu_set_program_counter() argument
164 processor->program_counter = new_program_counter; in cpu_set_program_counter()
169 cpu_get_program_counter(cpu *processor) in cpu_get_program_counter() argument
171 return processor->program_counter; in cpu_get_program_counter()
177 cpu_restart(cpu *processor, in cpu_restart() argument
180 ASSERT(processor != NULL); in cpu_restart()
181 cpu_set_program_counter(processor, nia); in cpu_restart()
182 psim_restart(processor->system, processor->cpu_nr); in cpu_restart()
187 cpu_halt(cpu *processor, in cpu_halt() argument
192 ASSERT(processor != NULL); in cpu_halt()
194 model_halt(processor->model_ptr); in cpu_halt()
195 cpu_set_program_counter(processor, nia); in cpu_halt()
196 psim_halt(processor->system, processor->cpu_nr, reason, signal); in cpu_halt()
201 cpu_error(cpu *processor, in cpu_error() argument
218 if (processor != NULL) { in cpu_error()
220 processor->cpu_nr + 1, (unsigned long)cia, message); in cpu_error()
221 cpu_halt(processor, cia, was_signalled, -1); in cpu_error()
233 cpu_get_time_base(cpu *processor) in cpu_get_time_base() argument
235 return (event_queue_time(processor->events) in cpu_get_time_base()
236 - processor->time_base_local_time); in cpu_get_time_base()
241 cpu_set_time_base(cpu *processor, in cpu_set_time_base() argument
244 processor->time_base_local_time = (event_queue_time(processor->events) in cpu_set_time_base()
250 cpu_get_decrementer(cpu *processor) in cpu_get_decrementer() argument
252 return (processor->decrementer_local_time in cpu_get_decrementer()
253 - event_queue_time(processor->events)); in cpu_get_decrementer()
260 cpu *processor = (cpu*)data; in cpu_decrement_event() local
261 processor->decrementer_event = NULL; in cpu_decrement_event()
262 decrementer_interrupt(processor); in cpu_decrement_event()
267 cpu_set_decrementer(cpu *processor, in cpu_set_decrementer() argument
270 int64_t old_decrementer = cpu_get_decrementer(processor); in cpu_set_decrementer()
271 event_queue_deschedule(processor->events, processor->decrementer_event); in cpu_set_decrementer()
272 processor->decrementer_event = NULL; in cpu_set_decrementer()
273 processor->decrementer_local_time = (event_queue_time(processor->events) in cpu_set_decrementer()
279 decrementer_interrupt(processor); in cpu_set_decrementer()
281 processor->decrementer_event = event_queue_schedule(processor->events, in cpu_set_decrementer()
284 processor); in cpu_set_decrementer()
292 cpu_icache_entry(cpu *processor, in cpu_icache_entry() argument
295 return &processor->icache[cia / 4 % WITH_IDECODE_CACHE_SIZE]; in cpu_icache_entry()
301 cpu_flush_icache(cpu *processor) in cpu_flush_icache() argument
306 processor->icache[i].address = MASK(0, 63); in cpu_flush_icache()
315 cpu_instruction_map(cpu *processor) in cpu_instruction_map() argument
317 return processor->instruction_map; in cpu_instruction_map()
322 cpu_data_map(cpu *processor) in cpu_data_map() argument
324 return processor->data_map; in cpu_data_map()
329 cpu_page_tlb_invalidate_entry(cpu *processor, in cpu_page_tlb_invalidate_entry() argument
332 vm_page_tlb_invalidate_entry(processor->virtual, ea); in cpu_page_tlb_invalidate_entry()
337 cpu_page_tlb_invalidate_all(cpu *processor) in cpu_page_tlb_invalidate_all() argument
339 vm_page_tlb_invalidate_all(processor->virtual); in cpu_page_tlb_invalidate_all()
347 cpu_interrupts(cpu *processor) in cpu_interrupts() argument
349 return &processor->ints; in cpu_interrupts()
358 cpu_reservation(cpu *processor) in cpu_reservation() argument
360 return &processor->reservation; in cpu_reservation()
368 cpu_registers(cpu *processor) in cpu_registers() argument
370 return &processor->regs; in cpu_registers()
375 cpu_synchronize_context(cpu *processor, in cpu_synchronize_context() argument
380 cpu_flush_icache(processor); in cpu_synchronize_context()
384 vm_synchronize_context(processor->virtual, in cpu_synchronize_context()
385 processor->regs.spr, in cpu_synchronize_context()
386 processor->regs.sr, in cpu_synchronize_context()
387 processor->regs.msr, in cpu_synchronize_context()
388 processor, cia); in cpu_synchronize_context()
396 cpu_print_info(cpu *processor, int verbose) in cpu_print_info() argument