Lines Matching refs:li

488 	struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int;  in __deliver_cpu_timer()  local
506 clear_bit(IRQ_PEND_EXT_CPU_TIMER, &li->pending_irqs); in __deliver_cpu_timer()
512 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_ckc() local
530 clear_bit(IRQ_PEND_EXT_CLOCK_COMP, &li->pending_irqs); in __deliver_ckc()
536 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_pfault_init() local
540 spin_lock(&li->lock); in __deliver_pfault_init()
541 ext = li->irq.ext; in __deliver_pfault_init()
542 clear_bit(IRQ_PEND_PFAULT_INIT, &li->pending_irqs); in __deliver_pfault_init()
543 li->irq.ext.ext_params2 = 0; in __deliver_pfault_init()
544 spin_unlock(&li->lock); in __deliver_pfault_init()
677 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_machine_check() local
683 spin_lock(&li->lock); in __deliver_machine_check()
684 if (test_bit(IRQ_PEND_MCHK_EX, &li->pending_irqs) || in __deliver_machine_check()
685 test_bit(IRQ_PEND_MCHK_REP, &li->pending_irqs)) { in __deliver_machine_check()
692 mchk = li->irq.mchk; in __deliver_machine_check()
693 clear_bit(IRQ_PEND_MCHK_EX, &li->pending_irqs); in __deliver_machine_check()
694 clear_bit(IRQ_PEND_MCHK_REP, &li->pending_irqs); in __deliver_machine_check()
695 memset(&li->irq.mchk, 0, sizeof(mchk)); in __deliver_machine_check()
710 spin_unlock(&li->lock); in __deliver_machine_check()
727 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_restart() local
743 clear_bit(IRQ_PEND_RESTART, &li->pending_irqs); in __deliver_restart()
749 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_set_prefix() local
752 spin_lock(&li->lock); in __deliver_set_prefix()
753 prefix = li->irq.prefix; in __deliver_set_prefix()
754 li->irq.prefix.address = 0; in __deliver_set_prefix()
755 clear_bit(IRQ_PEND_SET_PREFIX, &li->pending_irqs); in __deliver_set_prefix()
756 spin_unlock(&li->lock); in __deliver_set_prefix()
769 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_emergency_signal() local
773 spin_lock(&li->lock); in __deliver_emergency_signal()
774 cpu_addr = find_first_bit(li->sigp_emerg_pending, KVM_MAX_VCPUS); in __deliver_emergency_signal()
775 clear_bit(cpu_addr, li->sigp_emerg_pending); in __deliver_emergency_signal()
776 if (bitmap_empty(li->sigp_emerg_pending, KVM_MAX_VCPUS)) in __deliver_emergency_signal()
777 clear_bit(IRQ_PEND_EXT_EMERGENCY, &li->pending_irqs); in __deliver_emergency_signal()
778 spin_unlock(&li->lock); in __deliver_emergency_signal()
803 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_external_call() local
807 spin_lock(&li->lock); in __deliver_external_call()
808 extcall = li->irq.extcall; in __deliver_external_call()
809 li->irq.extcall.code = 0; in __deliver_external_call()
810 clear_bit(IRQ_PEND_EXT_EXTERNAL, &li->pending_irqs); in __deliver_external_call()
811 spin_unlock(&li->lock); in __deliver_external_call()
852 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_prog() local
857 spin_lock(&li->lock); in __deliver_prog()
858 pgm_info = li->irq.pgm; in __deliver_prog()
859 clear_bit(IRQ_PEND_PROG, &li->pending_irqs); in __deliver_prog()
860 memset(&li->irq.pgm, 0, sizeof(pgm_info)); in __deliver_prog()
861 spin_unlock(&li->lock); in __deliver_prog()
1233 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_ext_call_pending() local
1236 return test_bit(IRQ_PEND_EXT_EXTERNAL, &li->pending_irqs); in kvm_s390_ext_call_pending()
1375 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_clear_local_irqs() local
1377 spin_lock(&li->lock); in kvm_s390_clear_local_irqs()
1378 li->pending_irqs = 0; in kvm_s390_clear_local_irqs()
1379 bitmap_zero(li->sigp_emerg_pending, KVM_MAX_VCPUS); in kvm_s390_clear_local_irqs()
1380 memset(&li->irq, 0, sizeof(li->irq)); in kvm_s390_clear_local_irqs()
1381 spin_unlock(&li->lock); in kvm_s390_clear_local_irqs()
1388 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_deliver_pending_interrupts() local
1397 clear_bit(IRQ_PEND_EXT_CLOCK_COMP, &li->pending_irqs); in kvm_s390_deliver_pending_interrupts()
1399 set_bit(IRQ_PEND_EXT_CLOCK_COMP, &li->pending_irqs); in kvm_s390_deliver_pending_interrupts()
1402 clear_bit(IRQ_PEND_EXT_CPU_TIMER, &li->pending_irqs); in kvm_s390_deliver_pending_interrupts()
1404 set_bit(IRQ_PEND_EXT_CPU_TIMER, &li->pending_irqs); in kvm_s390_deliver_pending_interrupts()
1462 clear_bit(irq_type, &li->pending_irqs); in kvm_s390_deliver_pending_interrupts()
1486 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_prog() local
1501 li->irq.pgm.code |= PGM_PER; in __inject_prog()
1502 li->irq.pgm.flags = irq->u.pgm.flags; in __inject_prog()
1504 li->irq.pgm.per_address = irq->u.pgm.per_address; in __inject_prog()
1505 li->irq.pgm.per_code = irq->u.pgm.per_code; in __inject_prog()
1506 li->irq.pgm.per_atmid = irq->u.pgm.per_atmid; in __inject_prog()
1507 li->irq.pgm.per_access_id = irq->u.pgm.per_access_id; in __inject_prog()
1509 li->irq.pgm.code = (li->irq.pgm.code & PGM_PER) | in __inject_prog()
1511 li->irq.pgm.flags = irq->u.pgm.flags; in __inject_prog()
1513 li->irq.pgm.trans_exc_code = irq->u.pgm.trans_exc_code; in __inject_prog()
1514 li->irq.pgm.mon_code = irq->u.pgm.mon_code; in __inject_prog()
1515 li->irq.pgm.data_exc_code = irq->u.pgm.data_exc_code; in __inject_prog()
1516 li->irq.pgm.mon_class_nr = irq->u.pgm.mon_class_nr; in __inject_prog()
1517 li->irq.pgm.exc_access_id = irq->u.pgm.exc_access_id; in __inject_prog()
1518 li->irq.pgm.op_access_id = irq->u.pgm.op_access_id; in __inject_prog()
1520 li->irq.pgm = irq->u.pgm; in __inject_prog()
1522 set_bit(IRQ_PEND_PROG, &li->pending_irqs); in __inject_prog()
1528 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_pfault_init() local
1537 li->irq.ext = irq->u.ext; in __inject_pfault_init()
1538 set_bit(IRQ_PEND_PFAULT_INIT, &li->pending_irqs); in __inject_pfault_init()
1545 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_extcall() local
1546 struct kvm_s390_extcall_info *extcall = &li->irq.extcall; in __inject_extcall()
1562 if (test_and_set_bit(IRQ_PEND_EXT_EXTERNAL, &li->pending_irqs)) in __inject_extcall()
1571 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_set_prefix() local
1572 struct kvm_s390_prefix_info *prefix = &li->irq.prefix; in __inject_set_prefix()
1584 set_bit(IRQ_PEND_SET_PREFIX, &li->pending_irqs); in __inject_set_prefix()
1591 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_sigp_stop() local
1592 struct kvm_s390_stop_info *stop = &li->irq.stop; in __inject_sigp_stop()
1608 if (test_and_set_bit(IRQ_PEND_SIGP_STOP, &li->pending_irqs)) in __inject_sigp_stop()
1617 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_sigp_restart() local
1623 set_bit(IRQ_PEND_RESTART, &li->pending_irqs); in __inject_sigp_restart()
1630 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_sigp_emergency() local
1642 set_bit(irq->u.emerg.code, li->sigp_emerg_pending); in __inject_sigp_emergency()
1643 set_bit(IRQ_PEND_EXT_EMERGENCY, &li->pending_irqs); in __inject_sigp_emergency()
1650 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_mchk() local
1651 struct kvm_s390_mchk_info *mchk = &li->irq.mchk; in __inject_mchk()
1674 set_bit(IRQ_PEND_MCHK_EX, &li->pending_irqs); in __inject_mchk()
1676 set_bit(IRQ_PEND_MCHK_REP, &li->pending_irqs); in __inject_mchk()
1682 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_ckc() local
1689 set_bit(IRQ_PEND_EXT_CLOCK_COMP, &li->pending_irqs); in __inject_ckc()
1696 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_cpu_timer() local
1703 set_bit(IRQ_PEND_EXT_CPU_TIMER, &li->pending_irqs); in __inject_cpu_timer()
2123 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_is_stop_irq_pending() local
2125 return test_bit(IRQ_PEND_SIGP_STOP, &li->pending_irqs); in kvm_s390_is_stop_irq_pending()
2130 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_is_restart_irq_pending() local
2132 return test_bit(IRQ_PEND_RESTART, &li->pending_irqs); in kvm_s390_is_restart_irq_pending()
2137 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_clear_stop_irq() local
2139 spin_lock(&li->lock); in kvm_s390_clear_stop_irq()
2140 li->irq.stop.flags = 0; in kvm_s390_clear_stop_irq()
2141 clear_bit(IRQ_PEND_SIGP_STOP, &li->pending_irqs); in kvm_s390_clear_stop_irq()
2142 spin_unlock(&li->lock); in kvm_s390_clear_stop_irq()
2192 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_inject_vcpu() local
2195 spin_lock(&li->lock); in kvm_s390_inject_vcpu()
2197 spin_unlock(&li->lock); in kvm_s390_inject_vcpu()
2932 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_set_irq_state() local
2950 spin_lock(&li->lock); in kvm_s390_set_irq_state()
2951 if (li->pending_irqs) { in kvm_s390_set_irq_state()
2963 spin_unlock(&li->lock); in kvm_s390_set_irq_state()
2970 static void store_local_irq(struct kvm_s390_local_interrupt *li, in store_local_irq() argument
2978 irq->u.mchk = li->irq.mchk; in store_local_irq()
2982 irq->u.pgm = li->irq.pgm; in store_local_irq()
2986 irq->u.ext = li->irq.ext; in store_local_irq()
2990 irq->u.extcall = li->irq.extcall; in store_local_irq()
3000 irq->u.stop = li->irq.stop; in store_local_irq()
3007 irq->u.prefix = li->irq.prefix; in store_local_irq()
3016 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_get_irq_state() local
3023 spin_lock(&li->lock); in kvm_s390_get_irq_state()
3024 pending_irqs = li->pending_irqs; in kvm_s390_get_irq_state()
3025 memcpy(&sigp_emerg_pending, &li->sigp_emerg_pending, in kvm_s390_get_irq_state()
3027 spin_unlock(&li->lock); in kvm_s390_get_irq_state()