Lines Matching refs:dst_vcpu
23 static int __sigp_sense(struct kvm_vcpu *vcpu, struct kvm_vcpu *dst_vcpu, in __sigp_sense() argument
31 li = &dst_vcpu->arch.local_int; in __sigp_sense()
34 ext_call_pending = kvm_s390_ext_call_pending(dst_vcpu); in __sigp_sense()
46 VCPU_EVENT(vcpu, 4, "sensed status of cpu %x rc %x", dst_vcpu->vcpu_id, in __sigp_sense()
52 struct kvm_vcpu *dst_vcpu) in __inject_sigp_emergency() argument
60 rc = kvm_s390_inject_vcpu(dst_vcpu, &irq); in __inject_sigp_emergency()
63 dst_vcpu->vcpu_id); in __inject_sigp_emergency()
68 static int __sigp_emergency(struct kvm_vcpu *vcpu, struct kvm_vcpu *dst_vcpu) in __sigp_emergency() argument
70 return __inject_sigp_emergency(vcpu, dst_vcpu); in __sigp_emergency()
74 struct kvm_vcpu *dst_vcpu, in __sigp_conditional_emergency() argument
82 flags = atomic_read(&dst_vcpu->arch.sie_block->cpuflags); in __sigp_conditional_emergency()
83 psw = &dst_vcpu->arch.sie_block->gpsw; in __sigp_conditional_emergency()
84 p_asn = dst_vcpu->arch.sie_block->gcr[4] & 0xffff; /* Primary ASN */ in __sigp_conditional_emergency()
85 s_asn = dst_vcpu->arch.sie_block->gcr[3] & 0xffff; /* Secondary ASN */ in __sigp_conditional_emergency()
92 return __inject_sigp_emergency(vcpu, dst_vcpu); in __sigp_conditional_emergency()
101 struct kvm_vcpu *dst_vcpu, u64 *reg) in __sigp_external_call() argument
109 rc = kvm_s390_inject_vcpu(dst_vcpu, &irq); in __sigp_external_call()
116 dst_vcpu->vcpu_id); in __sigp_external_call()
122 static int __sigp_stop(struct kvm_vcpu *vcpu, struct kvm_vcpu *dst_vcpu) in __sigp_stop() argument
129 rc = kvm_s390_inject_vcpu(dst_vcpu, &irq); in __sigp_stop()
134 dst_vcpu->vcpu_id); in __sigp_stop()
140 struct kvm_vcpu *dst_vcpu, u64 *reg) in __sigp_stop_and_store_status() argument
148 rc = kvm_s390_inject_vcpu(dst_vcpu, &irq); in __sigp_stop_and_store_status()
153 dst_vcpu->vcpu_id); in __sigp_stop_and_store_status()
183 static int __sigp_set_prefix(struct kvm_vcpu *vcpu, struct kvm_vcpu *dst_vcpu, in __sigp_set_prefix() argument
203 rc = kvm_s390_inject_vcpu(dst_vcpu, &irq); in __sigp_set_prefix()
214 struct kvm_vcpu *dst_vcpu, in __sigp_store_status_at_addr() argument
220 flags = atomic_read(dst_vcpu->arch.local_int.cpuflags); in __sigp_store_status_at_addr()
228 rc = kvm_s390_store_status_unloaded(dst_vcpu, addr); in __sigp_store_status_at_addr()
238 struct kvm_vcpu *dst_vcpu, u64 *reg) in __sigp_sense_running() argument
243 li = &dst_vcpu->arch.local_int; in __sigp_sense_running()
255 dst_vcpu->vcpu_id, rc); in __sigp_sense_running()
261 struct kvm_vcpu *dst_vcpu, u8 order_code) in __prepare_sigp_re_start() argument
263 struct kvm_s390_local_interrupt *li = &dst_vcpu->arch.local_int; in __prepare_sigp_re_start()
269 if (kvm_s390_is_stop_irq_pending(dst_vcpu)) in __prepare_sigp_re_start()
277 struct kvm_vcpu *dst_vcpu, u8 order_code) in __prepare_sigp_cpu_reset() argument
284 struct kvm_vcpu *dst_vcpu) in __prepare_sigp_unknown() argument
294 struct kvm_vcpu *dst_vcpu = kvm_get_vcpu_by_id(vcpu->kvm, cpu_addr); in handle_sigp_dst() local
296 if (!dst_vcpu) in handle_sigp_dst()
302 rc = __sigp_sense(vcpu, dst_vcpu, status_reg); in handle_sigp_dst()
306 rc = __sigp_external_call(vcpu, dst_vcpu, status_reg); in handle_sigp_dst()
310 rc = __sigp_emergency(vcpu, dst_vcpu); in handle_sigp_dst()
314 rc = __sigp_stop(vcpu, dst_vcpu); in handle_sigp_dst()
318 rc = __sigp_stop_and_store_status(vcpu, dst_vcpu, status_reg); in handle_sigp_dst()
322 rc = __sigp_store_status_at_addr(vcpu, dst_vcpu, parameter, in handle_sigp_dst()
327 rc = __sigp_set_prefix(vcpu, dst_vcpu, parameter, status_reg); in handle_sigp_dst()
331 rc = __sigp_conditional_emergency(vcpu, dst_vcpu, parameter, in handle_sigp_dst()
336 rc = __sigp_sense_running(vcpu, dst_vcpu, status_reg); in handle_sigp_dst()
340 rc = __prepare_sigp_re_start(vcpu, dst_vcpu, order_code); in handle_sigp_dst()
344 rc = __prepare_sigp_re_start(vcpu, dst_vcpu, order_code); in handle_sigp_dst()
348 rc = __prepare_sigp_cpu_reset(vcpu, dst_vcpu, order_code); in handle_sigp_dst()
352 rc = __prepare_sigp_cpu_reset(vcpu, dst_vcpu, order_code); in handle_sigp_dst()
356 rc = __prepare_sigp_unknown(vcpu, dst_vcpu); in handle_sigp_dst()
362 order_code, dst_vcpu->vcpu_id); in handle_sigp_dst()