Lines Matching refs:dst_vcpu
20 static int __sigp_sense(struct kvm_vcpu *vcpu, struct kvm_vcpu *dst_vcpu, in __sigp_sense() argument
23 const bool stopped = kvm_s390_test_cpuflags(dst_vcpu, CPUSTAT_STOPPED); in __sigp_sense()
27 ext_call_pending = kvm_s390_ext_call_pending(dst_vcpu); in __sigp_sense()
39 VCPU_EVENT(vcpu, 4, "sensed status of cpu %x rc %x", dst_vcpu->vcpu_id, in __sigp_sense()
45 struct kvm_vcpu *dst_vcpu) in __inject_sigp_emergency() argument
53 rc = kvm_s390_inject_vcpu(dst_vcpu, &irq); in __inject_sigp_emergency()
56 dst_vcpu->vcpu_id); in __inject_sigp_emergency()
61 static int __sigp_emergency(struct kvm_vcpu *vcpu, struct kvm_vcpu *dst_vcpu) in __sigp_emergency() argument
63 return __inject_sigp_emergency(vcpu, dst_vcpu); in __sigp_emergency()
67 struct kvm_vcpu *dst_vcpu, in __sigp_conditional_emergency() argument
76 psw = &dst_vcpu->arch.sie_block->gpsw; in __sigp_conditional_emergency()
77 p_asn = dst_vcpu->arch.sie_block->gcr[4] & 0xffff; /* Primary ASN */ in __sigp_conditional_emergency()
78 s_asn = dst_vcpu->arch.sie_block->gcr[3] & 0xffff; /* Secondary ASN */ in __sigp_conditional_emergency()
85 return __inject_sigp_emergency(vcpu, dst_vcpu); in __sigp_conditional_emergency()
94 struct kvm_vcpu *dst_vcpu, u64 *reg) in __sigp_external_call() argument
102 rc = kvm_s390_inject_vcpu(dst_vcpu, &irq); in __sigp_external_call()
109 dst_vcpu->vcpu_id); in __sigp_external_call()
115 static int __sigp_stop(struct kvm_vcpu *vcpu, struct kvm_vcpu *dst_vcpu) in __sigp_stop() argument
122 rc = kvm_s390_inject_vcpu(dst_vcpu, &irq); in __sigp_stop()
127 dst_vcpu->vcpu_id); in __sigp_stop()
133 struct kvm_vcpu *dst_vcpu, u64 *reg) in __sigp_stop_and_store_status() argument
141 rc = kvm_s390_inject_vcpu(dst_vcpu, &irq); in __sigp_stop_and_store_status()
146 dst_vcpu->vcpu_id); in __sigp_stop_and_store_status()
161 static int __sigp_set_prefix(struct kvm_vcpu *vcpu, struct kvm_vcpu *dst_vcpu, in __sigp_set_prefix() argument
181 rc = kvm_s390_inject_vcpu(dst_vcpu, &irq); in __sigp_set_prefix()
192 struct kvm_vcpu *dst_vcpu, in __sigp_store_status_at_addr() argument
197 if (!kvm_s390_test_cpuflags(dst_vcpu, CPUSTAT_STOPPED)) { in __sigp_store_status_at_addr()
204 rc = kvm_s390_store_status_unloaded(dst_vcpu, addr); in __sigp_store_status_at_addr()
214 struct kvm_vcpu *dst_vcpu, u64 *reg) in __sigp_sense_running() argument
224 if (kvm_s390_test_cpuflags(dst_vcpu, CPUSTAT_RUNNING)) { in __sigp_sense_running()
235 dst_vcpu->vcpu_id, rc); in __sigp_sense_running()
241 struct kvm_vcpu *dst_vcpu, u8 order_code) in __prepare_sigp_re_start() argument
243 struct kvm_s390_local_interrupt *li = &dst_vcpu->arch.local_int; in __prepare_sigp_re_start()
249 if (kvm_s390_is_stop_irq_pending(dst_vcpu)) in __prepare_sigp_re_start()
257 struct kvm_vcpu *dst_vcpu, u8 order_code) in __prepare_sigp_cpu_reset() argument
264 struct kvm_vcpu *dst_vcpu) in __prepare_sigp_unknown() argument
274 struct kvm_vcpu *dst_vcpu = kvm_get_vcpu_by_id(vcpu->kvm, cpu_addr); in handle_sigp_dst() local
276 if (!dst_vcpu) in handle_sigp_dst()
302 if (kvm_s390_is_stop_irq_pending(dst_vcpu) || in handle_sigp_dst()
303 kvm_s390_is_restart_irq_pending(dst_vcpu)) in handle_sigp_dst()
310 rc = __sigp_sense(vcpu, dst_vcpu, status_reg); in handle_sigp_dst()
314 rc = __sigp_external_call(vcpu, dst_vcpu, status_reg); in handle_sigp_dst()
318 rc = __sigp_emergency(vcpu, dst_vcpu); in handle_sigp_dst()
322 rc = __sigp_stop(vcpu, dst_vcpu); in handle_sigp_dst()
326 rc = __sigp_stop_and_store_status(vcpu, dst_vcpu, status_reg); in handle_sigp_dst()
330 rc = __sigp_store_status_at_addr(vcpu, dst_vcpu, parameter, in handle_sigp_dst()
335 rc = __sigp_set_prefix(vcpu, dst_vcpu, parameter, status_reg); in handle_sigp_dst()
339 rc = __sigp_conditional_emergency(vcpu, dst_vcpu, parameter, in handle_sigp_dst()
344 rc = __sigp_sense_running(vcpu, dst_vcpu, status_reg); in handle_sigp_dst()
348 rc = __prepare_sigp_re_start(vcpu, dst_vcpu, order_code); in handle_sigp_dst()
352 rc = __prepare_sigp_re_start(vcpu, dst_vcpu, order_code); in handle_sigp_dst()
356 rc = __prepare_sigp_cpu_reset(vcpu, dst_vcpu, order_code); in handle_sigp_dst()
360 rc = __prepare_sigp_cpu_reset(vcpu, dst_vcpu, order_code); in handle_sigp_dst()
364 rc = __prepare_sigp_unknown(vcpu, dst_vcpu); in handle_sigp_dst()
370 order_code, dst_vcpu->vcpu_id); in handle_sigp_dst()