Lines Matching refs:arch
25 return !(vcpu->arch.sie_block->gpsw.mask & PSW_MASK_EXT); in psw_extint_disabled()
30 if ((vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PER) || in psw_interrupts_disabled()
31 (vcpu->arch.sie_block->gpsw.mask & PSW_MASK_IO) || in psw_interrupts_disabled()
32 (vcpu->arch.sie_block->gpsw.mask & PSW_MASK_EXT)) in psw_interrupts_disabled()
44 if (vcpu->arch.sie_block->gcr[0] & 0x2000ul) in __interrupt_is_deliverable()
49 if (vcpu->arch.sie_block->gcr[0] & 0x4000ul) in __interrupt_is_deliverable()
55 if (vcpu->arch.sie_block->gcr[0] & 0x200ul) in __interrupt_is_deliverable()
61 if (vcpu->arch.sie_block->gcr[0] & 0x200ul) in __interrupt_is_deliverable()
78 atomic_set_mask(CPUSTAT_WAIT, &vcpu->arch.sie_block->cpuflags); in __set_cpu_idle()
79 set_bit(vcpu->vcpu_id, vcpu->arch.local_int.float_int->idle_mask); in __set_cpu_idle()
85 atomic_clear_mask(CPUSTAT_WAIT, &vcpu->arch.sie_block->cpuflags); in __unset_cpu_idle()
86 clear_bit(vcpu->vcpu_id, vcpu->arch.local_int.float_int->idle_mask); in __unset_cpu_idle()
93 &vcpu->arch.sie_block->cpuflags); in __reset_intercept_indicators()
94 vcpu->arch.sie_block->lctl = 0x0000; in __reset_intercept_indicators()
99 atomic_set_mask(flag, &vcpu->arch.sie_block->cpuflags); in __set_cpuflag()
113 vcpu->arch.sie_block->lctl |= LCTL_CR0; in __set_intercept_indicator()
142 &vcpu->arch.sie_block->gpsw, sizeof(psw_t)); in __do_deliver_interrupt()
146 rc = copy_from_guest(vcpu, &vcpu->arch.sie_block->gpsw, in __do_deliver_interrupt()
164 &vcpu->arch.sie_block->gpsw, sizeof(psw_t)); in __do_deliver_interrupt()
168 rc = copy_from_guest(vcpu, &vcpu->arch.sie_block->gpsw, in __do_deliver_interrupt()
183 &vcpu->arch.sie_block->gpsw, sizeof(psw_t)); in __do_deliver_interrupt()
187 rc = copy_from_guest(vcpu, &vcpu->arch.sie_block->gpsw, in __do_deliver_interrupt()
210 &vcpu->arch.sie_block->gpsw, sizeof(psw_t)); in __do_deliver_interrupt()
214 rc = copy_from_guest(vcpu, &vcpu->arch.sie_block->gpsw, in __do_deliver_interrupt()
246 restart_old_psw), &vcpu->arch.sie_block->gpsw, sizeof(psw_t)); in __do_deliver_interrupt()
250 rc = copy_from_guest(vcpu, &vcpu->arch.sie_block->gpsw, in __do_deliver_interrupt()
254 atomic_clear_mask(CPUSTAT_STOPPED, &vcpu->arch.sie_block->cpuflags); in __do_deliver_interrupt()
260 table[vcpu->arch.sie_block->ipa >> 14]); in __do_deliver_interrupt()
267 table[vcpu->arch.sie_block->ipa >> 14]); in __do_deliver_interrupt()
272 &vcpu->arch.sie_block->gpsw, sizeof(psw_t)); in __do_deliver_interrupt()
276 rc = copy_from_guest(vcpu, &vcpu->arch.sie_block->gpsw, in __do_deliver_interrupt()
298 if (!(vcpu->arch.sie_block->gcr[0] & 0x800ul)) in __try_deliver_ckc_interrupt()
304 &vcpu->arch.sie_block->gpsw, sizeof(psw_t)); in __try_deliver_ckc_interrupt()
307 rc = copy_from_guest(vcpu, &vcpu->arch.sie_block->gpsw, in __try_deliver_ckc_interrupt()
321 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_cpu_has_interrupt()
322 struct kvm_s390_float_interrupt *fi = vcpu->arch.local_int.float_int; in kvm_cpu_has_interrupt()
346 if ((!rc) && (vcpu->arch.sie_block->ckc < in kvm_cpu_has_interrupt()
347 get_clock() + vcpu->arch.sie_block->epoch)) { in kvm_cpu_has_interrupt()
349 (vcpu->arch.sie_block->gcr[0] & 0x800ul)) in kvm_cpu_has_interrupt()
371 spin_lock_bh(&vcpu->arch.local_int.lock); in kvm_s390_handle_wait()
372 vcpu->arch.local_int.timer_due = 0; in kvm_s390_handle_wait()
373 spin_unlock_bh(&vcpu->arch.local_int.lock); in kvm_s390_handle_wait()
382 (!(vcpu->arch.sie_block->gcr[0] & 0x800ul))) { in kvm_s390_handle_wait()
387 now = get_clock() + vcpu->arch.sie_block->epoch; in kvm_s390_handle_wait()
388 if (vcpu->arch.sie_block->ckc < now) { in kvm_s390_handle_wait()
393 sltime = tod_to_ns(vcpu->arch.sie_block->ckc - now); in kvm_s390_handle_wait()
395 hrtimer_start(&vcpu->arch.ckc_timer, ktime_set (0, sltime) , HRTIMER_MODE_REL); in kvm_s390_handle_wait()
398 spin_lock(&vcpu->arch.local_int.float_int->lock); in kvm_s390_handle_wait()
399 spin_lock_bh(&vcpu->arch.local_int.lock); in kvm_s390_handle_wait()
400 add_wait_queue(&vcpu->arch.local_int.wq, &wait); in kvm_s390_handle_wait()
401 while (list_empty(&vcpu->arch.local_int.list) && in kvm_s390_handle_wait()
402 list_empty(&vcpu->arch.local_int.float_int->list) && in kvm_s390_handle_wait()
403 (!vcpu->arch.local_int.timer_due) && in kvm_s390_handle_wait()
406 spin_unlock_bh(&vcpu->arch.local_int.lock); in kvm_s390_handle_wait()
407 spin_unlock(&vcpu->arch.local_int.float_int->lock); in kvm_s390_handle_wait()
411 spin_lock(&vcpu->arch.local_int.float_int->lock); in kvm_s390_handle_wait()
412 spin_lock_bh(&vcpu->arch.local_int.lock); in kvm_s390_handle_wait()
416 remove_wait_queue(&vcpu->arch.local_int.wq, &wait); in kvm_s390_handle_wait()
417 spin_unlock_bh(&vcpu->arch.local_int.lock); in kvm_s390_handle_wait()
418 spin_unlock(&vcpu->arch.local_int.float_int->lock); in kvm_s390_handle_wait()
419 hrtimer_try_to_cancel(&vcpu->arch.ckc_timer); in kvm_s390_handle_wait()
427 spin_lock(&vcpu->arch.local_int.lock); in kvm_s390_tasklet()
428 vcpu->arch.local_int.timer_due = 1; in kvm_s390_tasklet()
429 if (waitqueue_active(&vcpu->arch.local_int.wq)) in kvm_s390_tasklet()
430 wake_up_interruptible(&vcpu->arch.local_int.wq); in kvm_s390_tasklet()
431 spin_unlock(&vcpu->arch.local_int.lock); in kvm_s390_tasklet()
442 vcpu = container_of(timer, struct kvm_vcpu, arch.ckc_timer); in kvm_s390_idle_wakeup()
443 tasklet_schedule(&vcpu->arch.tasklet); in kvm_s390_idle_wakeup()
450 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_deliver_pending_interrupts()
451 struct kvm_s390_float_interrupt *fi = vcpu->arch.local_int.float_int; in kvm_s390_deliver_pending_interrupts()
478 if ((vcpu->arch.sie_block->ckc < in kvm_s390_deliver_pending_interrupts()
479 get_clock() + vcpu->arch.sie_block->epoch)) in kvm_s390_deliver_pending_interrupts()
507 struct kvm_s390_local_interrupt *li = &vcpu->arch.local_int; in kvm_s390_inject_program_int()
561 fi = &kvm->arch.float_int; in kvm_s390_inject_vm()
626 li = &vcpu->arch.local_int; in kvm_s390_inject_vcpu()
637 wake_up_interruptible(&vcpu->arch.local_int.wq); in kvm_s390_inject_vcpu()