Lines Matching defs:vcpu
19 static void kvm_rtas_set_xive(struct kvm_vcpu *vcpu, struct rtas_args *args)
34 rc = kvmppc_xive_set_xive(vcpu->kvm, irq, server, priority);
36 rc = kvmppc_xics_set_xive(vcpu->kvm, irq, server, priority);
43 static void kvm_rtas_get_xive(struct kvm_vcpu *vcpu, struct rtas_args *args)
57 rc = kvmppc_xive_get_xive(vcpu->kvm, irq, &server, &priority);
59 rc = kvmppc_xics_get_xive(vcpu->kvm, irq, &server, &priority);
71 static void kvm_rtas_int_off(struct kvm_vcpu *vcpu, struct rtas_args *args)
84 rc = kvmppc_xive_int_off(vcpu->kvm, irq);
86 rc = kvmppc_xics_int_off(vcpu->kvm, irq);
93 static void kvm_rtas_int_on(struct kvm_vcpu *vcpu, struct rtas_args *args)
106 rc = kvmppc_xive_int_on(vcpu->kvm, irq);
108 rc = kvmppc_xics_int_on(vcpu->kvm, irq);
117 void (*handler)(struct kvm_vcpu *vcpu, struct rtas_args *args);
218 int kvmppc_rtas_hcall(struct kvm_vcpu *vcpu)
230 args_phys = kvmppc_get_gpr(vcpu, 4) & KVM_PAM;
232 kvm_vcpu_srcu_read_lock(vcpu);
233 rc = kvm_read_guest(vcpu->kvm, args_phys, &args, sizeof(args));
234 kvm_vcpu_srcu_read_unlock(vcpu);
258 mutex_lock(&vcpu->kvm->arch.rtas_token_lock);
261 list_for_each_entry(d, &vcpu->kvm->arch.rtas_tokens, list) {
263 d->handler->handler(vcpu, &args);
269 mutex_unlock(&vcpu->kvm->arch.rtas_token_lock);
273 rc = kvm_write_guest(vcpu->kvm, args_phys, &args, sizeof(args));