Lines Matching refs:li
481 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_cpu_timer() local
495 clear_bit(IRQ_PEND_EXT_CPU_TIMER, &li->pending_irqs); in __deliver_cpu_timer()
501 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_ckc() local
515 clear_bit(IRQ_PEND_EXT_CLOCK_COMP, &li->pending_irqs); in __deliver_ckc()
521 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_pfault_init() local
525 spin_lock(&li->lock); in __deliver_pfault_init()
526 ext = li->irq.ext; in __deliver_pfault_init()
527 clear_bit(IRQ_PEND_PFAULT_INIT, &li->pending_irqs); in __deliver_pfault_init()
528 li->irq.ext.ext_params2 = 0; in __deliver_pfault_init()
529 spin_unlock(&li->lock); in __deliver_pfault_init()
648 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_machine_check() local
654 spin_lock(&li->lock); in __deliver_machine_check()
655 if (test_bit(IRQ_PEND_MCHK_EX, &li->pending_irqs) || in __deliver_machine_check()
656 test_bit(IRQ_PEND_MCHK_REP, &li->pending_irqs)) { in __deliver_machine_check()
663 mchk = li->irq.mchk; in __deliver_machine_check()
664 clear_bit(IRQ_PEND_MCHK_EX, &li->pending_irqs); in __deliver_machine_check()
665 clear_bit(IRQ_PEND_MCHK_REP, &li->pending_irqs); in __deliver_machine_check()
666 memset(&li->irq.mchk, 0, sizeof(mchk)); in __deliver_machine_check()
681 spin_unlock(&li->lock); in __deliver_machine_check()
698 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_restart() local
710 clear_bit(IRQ_PEND_RESTART, &li->pending_irqs); in __deliver_restart()
716 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_set_prefix() local
719 spin_lock(&li->lock); in __deliver_set_prefix()
720 prefix = li->irq.prefix; in __deliver_set_prefix()
721 li->irq.prefix.address = 0; in __deliver_set_prefix()
722 clear_bit(IRQ_PEND_SET_PREFIX, &li->pending_irqs); in __deliver_set_prefix()
723 spin_unlock(&li->lock); in __deliver_set_prefix()
736 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_emergency_signal() local
740 spin_lock(&li->lock); in __deliver_emergency_signal()
741 cpu_addr = find_first_bit(li->sigp_emerg_pending, KVM_MAX_VCPUS); in __deliver_emergency_signal()
742 clear_bit(cpu_addr, li->sigp_emerg_pending); in __deliver_emergency_signal()
743 if (bitmap_empty(li->sigp_emerg_pending, KVM_MAX_VCPUS)) in __deliver_emergency_signal()
744 clear_bit(IRQ_PEND_EXT_EMERGENCY, &li->pending_irqs); in __deliver_emergency_signal()
745 spin_unlock(&li->lock); in __deliver_emergency_signal()
764 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_external_call() local
768 spin_lock(&li->lock); in __deliver_external_call()
769 extcall = li->irq.extcall; in __deliver_external_call()
770 li->irq.extcall.code = 0; in __deliver_external_call()
771 clear_bit(IRQ_PEND_EXT_EXTERNAL, &li->pending_irqs); in __deliver_external_call()
772 spin_unlock(&li->lock); in __deliver_external_call()
792 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_prog() local
797 spin_lock(&li->lock); in __deliver_prog()
798 pgm_info = li->irq.pgm; in __deliver_prog()
799 clear_bit(IRQ_PEND_PROG, &li->pending_irqs); in __deliver_prog()
800 memset(&li->irq.pgm, 0, sizeof(pgm_info)); in __deliver_prog()
801 spin_unlock(&li->lock); in __deliver_prog()
1116 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_ext_call_pending() local
1119 return test_bit(IRQ_PEND_EXT_EXTERNAL, &li->pending_irqs); in kvm_s390_ext_call_pending()
1257 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_clear_local_irqs() local
1259 spin_lock(&li->lock); in kvm_s390_clear_local_irqs()
1260 li->pending_irqs = 0; in kvm_s390_clear_local_irqs()
1261 bitmap_zero(li->sigp_emerg_pending, KVM_MAX_VCPUS); in kvm_s390_clear_local_irqs()
1262 memset(&li->irq, 0, sizeof(li->irq)); in kvm_s390_clear_local_irqs()
1263 spin_unlock(&li->lock); in kvm_s390_clear_local_irqs()
1270 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_deliver_pending_interrupts() local
1278 clear_bit(IRQ_PEND_EXT_CLOCK_COMP, &li->pending_irqs); in kvm_s390_deliver_pending_interrupts()
1280 set_bit(IRQ_PEND_EXT_CLOCK_COMP, &li->pending_irqs); in kvm_s390_deliver_pending_interrupts()
1283 clear_bit(IRQ_PEND_EXT_CPU_TIMER, &li->pending_irqs); in kvm_s390_deliver_pending_interrupts()
1285 set_bit(IRQ_PEND_EXT_CPU_TIMER, &li->pending_irqs); in kvm_s390_deliver_pending_interrupts()
1340 clear_bit(irq_type, &li->pending_irqs); in kvm_s390_deliver_pending_interrupts()
1351 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_prog() local
1366 li->irq.pgm.code |= PGM_PER; in __inject_prog()
1367 li->irq.pgm.flags = irq->u.pgm.flags; in __inject_prog()
1369 li->irq.pgm.per_address = irq->u.pgm.per_address; in __inject_prog()
1370 li->irq.pgm.per_code = irq->u.pgm.per_code; in __inject_prog()
1371 li->irq.pgm.per_atmid = irq->u.pgm.per_atmid; in __inject_prog()
1372 li->irq.pgm.per_access_id = irq->u.pgm.per_access_id; in __inject_prog()
1374 li->irq.pgm.code = (li->irq.pgm.code & PGM_PER) | in __inject_prog()
1376 li->irq.pgm.flags = irq->u.pgm.flags; in __inject_prog()
1378 li->irq.pgm.trans_exc_code = irq->u.pgm.trans_exc_code; in __inject_prog()
1379 li->irq.pgm.mon_code = irq->u.pgm.mon_code; in __inject_prog()
1380 li->irq.pgm.data_exc_code = irq->u.pgm.data_exc_code; in __inject_prog()
1381 li->irq.pgm.mon_class_nr = irq->u.pgm.mon_class_nr; in __inject_prog()
1382 li->irq.pgm.exc_access_id = irq->u.pgm.exc_access_id; in __inject_prog()
1383 li->irq.pgm.op_access_id = irq->u.pgm.op_access_id; in __inject_prog()
1385 li->irq.pgm = irq->u.pgm; in __inject_prog()
1387 set_bit(IRQ_PEND_PROG, &li->pending_irqs); in __inject_prog()
1393 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_pfault_init() local
1402 li->irq.ext = irq->u.ext; in __inject_pfault_init()
1403 set_bit(IRQ_PEND_PFAULT_INIT, &li->pending_irqs); in __inject_pfault_init()
1410 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_extcall() local
1411 struct kvm_s390_extcall_info *extcall = &li->irq.extcall; in __inject_extcall()
1427 if (test_and_set_bit(IRQ_PEND_EXT_EXTERNAL, &li->pending_irqs)) in __inject_extcall()
1436 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_set_prefix() local
1437 struct kvm_s390_prefix_info *prefix = &li->irq.prefix; in __inject_set_prefix()
1449 set_bit(IRQ_PEND_SET_PREFIX, &li->pending_irqs); in __inject_set_prefix()
1456 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_sigp_stop() local
1457 struct kvm_s390_stop_info *stop = &li->irq.stop; in __inject_sigp_stop()
1473 if (test_and_set_bit(IRQ_PEND_SIGP_STOP, &li->pending_irqs)) in __inject_sigp_stop()
1483 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_sigp_restart() local
1489 set_bit(IRQ_PEND_RESTART, &li->pending_irqs); in __inject_sigp_restart()
1496 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_sigp_emergency() local
1508 set_bit(irq->u.emerg.code, li->sigp_emerg_pending); in __inject_sigp_emergency()
1509 set_bit(IRQ_PEND_EXT_EMERGENCY, &li->pending_irqs); in __inject_sigp_emergency()
1516 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_mchk() local
1517 struct kvm_s390_mchk_info *mchk = &li->irq.mchk; in __inject_mchk()
1540 set_bit(IRQ_PEND_MCHK_EX, &li->pending_irqs); in __inject_mchk()
1542 set_bit(IRQ_PEND_MCHK_REP, &li->pending_irqs); in __inject_mchk()
1548 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_ckc() local
1555 set_bit(IRQ_PEND_EXT_CLOCK_COMP, &li->pending_irqs); in __inject_ckc()
1562 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_cpu_timer() local
1569 set_bit(IRQ_PEND_EXT_CPU_TIMER, &li->pending_irqs); in __inject_cpu_timer()
1980 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_is_stop_irq_pending() local
1982 return test_bit(IRQ_PEND_SIGP_STOP, &li->pending_irqs); in kvm_s390_is_stop_irq_pending()
1987 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_clear_stop_irq() local
1989 spin_lock(&li->lock); in kvm_s390_clear_stop_irq()
1990 li->irq.stop.flags = 0; in kvm_s390_clear_stop_irq()
1991 clear_bit(IRQ_PEND_SIGP_STOP, &li->pending_irqs); in kvm_s390_clear_stop_irq()
1992 spin_unlock(&li->lock); in kvm_s390_clear_stop_irq()
2042 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_inject_vcpu() local
2045 spin_lock(&li->lock); in kvm_s390_inject_vcpu()
2047 spin_unlock(&li->lock); in kvm_s390_inject_vcpu()
2849 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_set_irq_state() local
2867 spin_lock(&li->lock); in kvm_s390_set_irq_state()
2868 if (li->pending_irqs) { in kvm_s390_set_irq_state()
2880 spin_unlock(&li->lock); in kvm_s390_set_irq_state()
2887 static void store_local_irq(struct kvm_s390_local_interrupt *li, in store_local_irq() argument
2895 irq->u.mchk = li->irq.mchk; in store_local_irq()
2899 irq->u.pgm = li->irq.pgm; in store_local_irq()
2903 irq->u.ext = li->irq.ext; in store_local_irq()
2907 irq->u.extcall = li->irq.extcall; in store_local_irq()
2917 irq->u.stop = li->irq.stop; in store_local_irq()
2924 irq->u.prefix = li->irq.prefix; in store_local_irq()
2933 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_get_irq_state() local
2940 spin_lock(&li->lock); in kvm_s390_get_irq_state()
2941 pending_irqs = li->pending_irqs; in kvm_s390_get_irq_state()
2942 memcpy(&sigp_emerg_pending, &li->sigp_emerg_pending, in kvm_s390_get_irq_state()
2944 spin_unlock(&li->lock); in kvm_s390_get_irq_state()