Lines Matching refs:li

264 	struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int;  in __deliver_cpu_timer()  local
277 clear_bit(IRQ_PEND_EXT_CPU_TIMER, &li->pending_irqs); in __deliver_cpu_timer()
283 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_ckc() local
296 clear_bit(IRQ_PEND_EXT_CLOCK_COMP, &li->pending_irqs); in __deliver_ckc()
302 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_pfault_init() local
306 spin_lock(&li->lock); in __deliver_pfault_init()
307 ext = li->irq.ext; in __deliver_pfault_init()
308 clear_bit(IRQ_PEND_PFAULT_INIT, &li->pending_irqs); in __deliver_pfault_init()
309 li->irq.ext.ext_params2 = 0; in __deliver_pfault_init()
310 spin_unlock(&li->lock); in __deliver_pfault_init()
331 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_machine_check() local
338 spin_lock(&li->lock); in __deliver_machine_check()
339 if (test_bit(IRQ_PEND_MCHK_EX, &li->pending_irqs) || in __deliver_machine_check()
340 test_bit(IRQ_PEND_MCHK_REP, &li->pending_irqs)) { in __deliver_machine_check()
347 mchk = li->irq.mchk; in __deliver_machine_check()
348 clear_bit(IRQ_PEND_MCHK_EX, &li->pending_irqs); in __deliver_machine_check()
349 clear_bit(IRQ_PEND_MCHK_REP, &li->pending_irqs); in __deliver_machine_check()
350 memset(&li->irq.mchk, 0, sizeof(mchk)); in __deliver_machine_check()
365 spin_unlock(&li->lock); in __deliver_machine_check()
401 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_restart() local
413 clear_bit(IRQ_PEND_RESTART, &li->pending_irqs); in __deliver_restart()
419 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_set_prefix() local
422 spin_lock(&li->lock); in __deliver_set_prefix()
423 prefix = li->irq.prefix; in __deliver_set_prefix()
424 li->irq.prefix.address = 0; in __deliver_set_prefix()
425 clear_bit(IRQ_PEND_SET_PREFIX, &li->pending_irqs); in __deliver_set_prefix()
426 spin_unlock(&li->lock); in __deliver_set_prefix()
440 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_emergency_signal() local
444 spin_lock(&li->lock); in __deliver_emergency_signal()
445 cpu_addr = find_first_bit(li->sigp_emerg_pending, KVM_MAX_VCPUS); in __deliver_emergency_signal()
446 clear_bit(cpu_addr, li->sigp_emerg_pending); in __deliver_emergency_signal()
447 if (bitmap_empty(li->sigp_emerg_pending, KVM_MAX_VCPUS)) in __deliver_emergency_signal()
448 clear_bit(IRQ_PEND_EXT_EMERGENCY, &li->pending_irqs); in __deliver_emergency_signal()
449 spin_unlock(&li->lock); in __deliver_emergency_signal()
468 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_external_call() local
472 spin_lock(&li->lock); in __deliver_external_call()
473 extcall = li->irq.extcall; in __deliver_external_call()
474 li->irq.extcall.code = 0; in __deliver_external_call()
475 clear_bit(IRQ_PEND_EXT_EXTERNAL, &li->pending_irqs); in __deliver_external_call()
476 spin_unlock(&li->lock); in __deliver_external_call()
496 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __deliver_prog() local
501 spin_lock(&li->lock); in __deliver_prog()
502 pgm_info = li->irq.pgm; in __deliver_prog()
503 clear_bit(IRQ_PEND_PROG, &li->pending_irqs); in __deliver_prog()
504 memset(&li->irq.pgm, 0, sizeof(pgm_info)); in __deliver_prog()
505 spin_unlock(&li->lock); in __deliver_prog()
799 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_ext_call_pending() local
803 return test_bit(IRQ_PEND_EXT_EXTERNAL, &li->pending_irqs); in kvm_s390_ext_call_pending()
911 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_clear_local_irqs() local
913 spin_lock(&li->lock); in kvm_s390_clear_local_irqs()
914 li->pending_irqs = 0; in kvm_s390_clear_local_irqs()
915 bitmap_zero(li->sigp_emerg_pending, KVM_MAX_VCPUS); in kvm_s390_clear_local_irqs()
916 memset(&li->irq, 0, sizeof(li->irq)); in kvm_s390_clear_local_irqs()
917 spin_unlock(&li->lock); in kvm_s390_clear_local_irqs()
920 atomic_clear_mask(CPUSTAT_ECALL_PEND, li->cpuflags); in kvm_s390_clear_local_irqs()
926 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_deliver_pending_interrupts() local
935 clear_bit(IRQ_PEND_EXT_CLOCK_COMP, &li->pending_irqs); in kvm_s390_deliver_pending_interrupts()
937 set_bit(IRQ_PEND_EXT_CLOCK_COMP, &li->pending_irqs); in kvm_s390_deliver_pending_interrupts()
940 clear_bit(IRQ_PEND_EXT_CPU_TIMER, &li->pending_irqs); in kvm_s390_deliver_pending_interrupts()
942 set_bit(IRQ_PEND_EXT_CPU_TIMER, &li->pending_irqs); in kvm_s390_deliver_pending_interrupts()
956 clear_bit(irq_type, &li->pending_irqs); in kvm_s390_deliver_pending_interrupts()
972 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_prog() local
974 li->irq.pgm = irq->u.pgm; in __inject_prog()
975 set_bit(IRQ_PEND_PROG, &li->pending_irqs); in __inject_prog()
981 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_inject_program_int() local
987 spin_lock(&li->lock); in kvm_s390_inject_program_int()
990 BUG_ON(waitqueue_active(li->wq)); in kvm_s390_inject_program_int()
991 spin_unlock(&li->lock); in kvm_s390_inject_program_int()
998 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_inject_prog_irq() local
1006 spin_lock(&li->lock); in kvm_s390_inject_prog_irq()
1009 BUG_ON(waitqueue_active(li->wq)); in kvm_s390_inject_prog_irq()
1010 spin_unlock(&li->lock); in kvm_s390_inject_prog_irq()
1016 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_pfault_init() local
1024 li->irq.ext = irq->u.ext; in __inject_pfault_init()
1025 set_bit(IRQ_PEND_PFAULT_INIT, &li->pending_irqs); in __inject_pfault_init()
1026 atomic_set_mask(CPUSTAT_EXT_INT, li->cpuflags); in __inject_pfault_init()
1047 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_extcall() local
1048 struct kvm_s390_extcall_info *extcall = &li->irq.extcall; in __inject_extcall()
1063 if (test_and_set_bit(IRQ_PEND_EXT_EXTERNAL, &li->pending_irqs)) in __inject_extcall()
1066 atomic_set_mask(CPUSTAT_EXT_INT, li->cpuflags); in __inject_extcall()
1072 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_set_prefix() local
1073 struct kvm_s390_prefix_info *prefix = &li->irq.prefix; in __inject_set_prefix()
1084 set_bit(IRQ_PEND_SET_PREFIX, &li->pending_irqs); in __inject_set_prefix()
1091 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_sigp_stop() local
1092 struct kvm_s390_stop_info *stop = &li->irq.stop; in __inject_sigp_stop()
1107 if (test_and_set_bit(IRQ_PEND_SIGP_STOP, &li->pending_irqs)) in __inject_sigp_stop()
1117 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_sigp_restart() local
1122 set_bit(IRQ_PEND_RESTART, &li->pending_irqs); in __inject_sigp_restart()
1129 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_sigp_emergency() local
1140 set_bit(irq->u.emerg.code, li->sigp_emerg_pending); in __inject_sigp_emergency()
1141 set_bit(IRQ_PEND_EXT_EMERGENCY, &li->pending_irqs); in __inject_sigp_emergency()
1142 atomic_set_mask(CPUSTAT_EXT_INT, li->cpuflags); in __inject_sigp_emergency()
1148 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_mchk() local
1149 struct kvm_s390_mchk_info *mchk = &li->irq.mchk; in __inject_mchk()
1171 set_bit(IRQ_PEND_MCHK_EX, &li->pending_irqs); in __inject_mchk()
1173 set_bit(IRQ_PEND_MCHK_REP, &li->pending_irqs); in __inject_mchk()
1179 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_ckc() local
1185 set_bit(IRQ_PEND_EXT_CLOCK_COMP, &li->pending_irqs); in __inject_ckc()
1186 atomic_set_mask(CPUSTAT_EXT_INT, li->cpuflags); in __inject_ckc()
1192 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in __inject_cpu_timer() local
1198 set_bit(IRQ_PEND_EXT_CPU_TIMER, &li->pending_irqs); in __inject_cpu_timer()
1199 atomic_set_mask(CPUSTAT_EXT_INT, li->cpuflags); in __inject_cpu_timer()
1348 struct kvm_s390_local_interrupt *li; in __inject_vm() local
1388 li = &dst_vcpu->arch.local_int; in __inject_vm()
1389 spin_lock(&li->lock); in __inject_vm()
1392 atomic_set_mask(CPUSTAT_STOP_INT, li->cpuflags); in __inject_vm()
1395 atomic_set_mask(CPUSTAT_IO_INT, li->cpuflags); in __inject_vm()
1398 atomic_set_mask(CPUSTAT_EXT_INT, li->cpuflags); in __inject_vm()
1401 spin_unlock(&li->lock); in __inject_vm()
1505 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_is_stop_irq_pending() local
1507 return test_bit(IRQ_PEND_SIGP_STOP, &li->pending_irqs); in kvm_s390_is_stop_irq_pending()
1512 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_clear_stop_irq() local
1514 spin_lock(&li->lock); in kvm_s390_clear_stop_irq()
1515 li->irq.stop.flags = 0; in kvm_s390_clear_stop_irq()
1516 clear_bit(IRQ_PEND_SIGP_STOP, &li->pending_irqs); in kvm_s390_clear_stop_irq()
1517 spin_unlock(&li->lock); in kvm_s390_clear_stop_irq()
1569 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_inject_vcpu() local
1572 spin_lock(&li->lock); in kvm_s390_inject_vcpu()
1574 spin_unlock(&li->lock); in kvm_s390_inject_vcpu()
2135 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_set_irq_state() local
2153 spin_lock(&li->lock); in kvm_s390_set_irq_state()
2154 if (li->pending_irqs) { in kvm_s390_set_irq_state()
2166 spin_unlock(&li->lock); in kvm_s390_set_irq_state()
2173 static void store_local_irq(struct kvm_s390_local_interrupt *li, in store_local_irq() argument
2181 irq->u.mchk = li->irq.mchk; in store_local_irq()
2185 irq->u.pgm = li->irq.pgm; in store_local_irq()
2189 irq->u.ext = li->irq.ext; in store_local_irq()
2193 irq->u.extcall = li->irq.extcall; in store_local_irq()
2203 irq->u.stop = li->irq.stop; in store_local_irq()
2210 irq->u.prefix = li->irq.prefix; in store_local_irq()
2219 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_get_irq_state() local
2226 spin_lock(&li->lock); in kvm_s390_get_irq_state()
2227 pending_irqs = li->pending_irqs; in kvm_s390_get_irq_state()
2228 memcpy(&sigp_emerg_pending, &li->sigp_emerg_pending, in kvm_s390_get_irq_state()
2230 spin_unlock(&li->lock); in kvm_s390_get_irq_state()