Lines Matching refs:processor

96 perform_oea_interrupt(cpu *processor,  in perform_oea_interrupt()  argument
108 cpu_error(processor, cia, in perform_oea_interrupt()
121 cpu_synchronize_context(processor, cia); in perform_oea_interrupt()
128 machine_check_interrupt(cpu *processor, in machine_check_interrupt() argument
135 cpu_error(processor, cia, "machine-check interrupt"); in machine_check_interrupt()
140 cia = perform_oea_interrupt(processor, cia, 0x00200, 0, 0, 0, 0); in machine_check_interrupt()
141 cpu_restart(processor, cia); in machine_check_interrupt()
152 data_storage_interrupt(cpu *processor, in data_storage_interrupt() argument
196 cia = perform_oea_interrupt(processor, cia, 0x00300, 0, 0, 0, 0); in data_storage_interrupt()
197 cpu_restart(processor, cia); in data_storage_interrupt()
209 instruction_storage_interrupt(cpu *processor, in instruction_storage_interrupt() argument
243 cia = perform_oea_interrupt(processor, cia, 0x00400, 0, 0, 0, srr1_set); in instruction_storage_interrupt()
244 cpu_restart(processor, cia); in instruction_storage_interrupt()
257 alignment_interrupt(cpu *processor, in alignment_interrupt() argument
265 cpu_error(processor, cia, "alignment interrupt - ra=0x%lx", (unsigned long)ra); in alignment_interrupt()
274 cia = perform_oea_interrupt(processor, cia, 0x00600, 0, 0, 0, 0); in alignment_interrupt()
275 cpu_restart(processor, cia); in alignment_interrupt()
288 program_interrupt(cpu *processor, in program_interrupt() argument
298 cpu_error(processor, cia, "program interrupt - %s", in program_interrupt()
302 cpu_error(processor, cia, "program interrupt - %s", in program_interrupt()
306 cpu_error(processor, cia, "program interrupt - %s", in program_interrupt()
310 cpu_error(processor, cia, "program interrupt - %s", in program_interrupt()
314 cpu_error(processor, cia, "program interrupt - %s", in program_interrupt()
318 cpu_error(processor, cia, "program interrupt - %s", in program_interrupt()
344 cpu_error(processor, cia, "program interrupt - %s", in program_interrupt()
355 cia = perform_oea_interrupt(processor, cia, 0x00700, 0, 0, 0, srr1_set); in program_interrupt()
356 cpu_restart(processor, cia); in program_interrupt()
368 floating_point_unavailable_interrupt(cpu *processor, in floating_point_unavailable_interrupt() argument
375 cpu_error(processor, cia, "floating-point unavailable interrupt"); in floating_point_unavailable_interrupt()
380 cia = perform_oea_interrupt(processor, cia, 0x00800, 0, 0, 0, 0); in floating_point_unavailable_interrupt()
381 cpu_restart(processor, cia); in floating_point_unavailable_interrupt()
392 system_call_interrupt(cpu *processor, in system_call_interrupt() argument
401 os_emul_system_call(processor, cia); in system_call_interrupt()
402 cpu_restart(processor, cia+4); in system_call_interrupt()
405 cia = perform_oea_interrupt(processor, cia+4, 0x00c00, 0, 0, 0, 0); in system_call_interrupt()
406 cpu_restart(processor, cia); in system_call_interrupt()
416 floating_point_assist_interrupt(cpu *processor, in floating_point_assist_interrupt() argument
423 cpu_error(processor, cia, "floating-point assist interrupt"); in floating_point_assist_interrupt()
427 cia = perform_oea_interrupt(processor, cia, 0x00e00, 0, 0, 0, 0); in floating_point_assist_interrupt()
428 cpu_restart(processor, cia); in floating_point_assist_interrupt()
445 cpu *processor = (cpu*)data; in deliver_hardware_interrupt() local
446 interrupts *ints = cpu_interrupts(processor); in deliver_hardware_interrupt()
448 if ((cpu_registers(processor)->msr & (msr_floating_point_exception_mode_0 in deliver_hardware_interrupt()
450 && cpu_registers(processor)->fpscr & fpscr_fex) { in deliver_hardware_interrupt()
452 unsigned_word cia = cpu_get_program_counter(processor); in deliver_hardware_interrupt()
453 unsigned_word nia = perform_oea_interrupt(processor, in deliver_hardware_interrupt()
455 cpu_set_program_counter(processor, nia); in deliver_hardware_interrupt()
457 else if (cpu_registers(processor)->msr & msr_external_interrupt_enable) { in deliver_hardware_interrupt()
460 unsigned_word cia = cpu_get_program_counter(processor); in deliver_hardware_interrupt()
461 unsigned_word nia = perform_oea_interrupt(processor, in deliver_hardware_interrupt()
464 cpu_set_program_counter(processor, nia); in deliver_hardware_interrupt()
468 unsigned_word cia = cpu_get_program_counter(processor); in deliver_hardware_interrupt()
469 unsigned_word nia = perform_oea_interrupt(processor, in deliver_hardware_interrupt()
473 (unsigned long)event_queue_time(psim_event_queue(cpu_system(processor))) in deliver_hardware_interrupt()
475 cpu_set_program_counter(processor, nia); in deliver_hardware_interrupt()
483 schedule_hardware_interrupt_delivery(cpu *processor) in schedule_hardware_interrupt_delivery() argument
485 interrupts *ints = cpu_interrupts(processor); in schedule_hardware_interrupt_delivery()
488 event_queue_schedule(psim_event_queue(cpu_system(processor)), in schedule_hardware_interrupt_delivery()
489 0, deliver_hardware_interrupt, processor); in schedule_hardware_interrupt_delivery()
496 check_masked_interrupts(cpu *processor) in check_masked_interrupts() argument
498 if (((cpu_registers(processor)->msr & (msr_floating_point_exception_mode_0 in check_masked_interrupts()
500 && cpu_registers(processor)->fpscr & fpscr_fex) in check_masked_interrupts()
501 || ((cpu_registers(processor)->msr & msr_external_interrupt_enable) in check_masked_interrupts()
502 && (cpu_interrupts(processor)->pending_interrupts))) in check_masked_interrupts()
503 schedule_hardware_interrupt_delivery(processor); in check_masked_interrupts()
508 decrementer_interrupt(cpu *processor) in decrementer_interrupt() argument
510 interrupts *ints = cpu_interrupts(processor); in decrementer_interrupt()
512 if (cpu_registers(processor)->msr & msr_external_interrupt_enable) { in decrementer_interrupt()
513 schedule_hardware_interrupt_delivery(processor); in decrementer_interrupt()
519 external_interrupt(cpu *processor, in external_interrupt() argument
522 interrupts *ints = cpu_interrupts(processor); in external_interrupt()
526 if (cpu_registers(processor)->msr & msr_external_interrupt_enable) in external_interrupt()
527 schedule_hardware_interrupt_delivery(processor); in external_interrupt()
532 ASSERT(!(cpu_registers(processor)->msr & msr_external_interrupt_enable)); in external_interrupt()