diff options
-rw-r--r-- | arch/powerpc/kvm/book3s_rtas.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/powerpc/kvm/book3s_rtas.c b/arch/powerpc/kvm/book3s_rtas.c index cf95cdef73c9..7a053157483b 100644 --- a/arch/powerpc/kvm/book3s_rtas.c +++ b/arch/powerpc/kvm/book3s_rtas.c | |||
@@ -213,8 +213,11 @@ int kvmppc_rtas_hcall(struct kvm_vcpu *vcpu) | |||
213 | gpa_t args_phys; | 213 | gpa_t args_phys; |
214 | int rc; | 214 | int rc; |
215 | 215 | ||
216 | /* r4 contains the guest physical address of the RTAS args */ | 216 | /* |
217 | args_phys = kvmppc_get_gpr(vcpu, 4); | 217 | * r4 contains the guest physical address of the RTAS args |
218 | * Mask off the top 4 bits since this is a guest real address | ||
219 | */ | ||
220 | args_phys = kvmppc_get_gpr(vcpu, 4) & KVM_PAM; | ||
218 | 221 | ||
219 | rc = kvm_read_guest(vcpu->kvm, args_phys, &args, sizeof(args)); | 222 | rc = kvm_read_guest(vcpu->kvm, args_phys, &args, sizeof(args)); |
220 | if (rc) | 223 | if (rc) |