Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[cascardo/linux.git] / arch / s390 / kvm / gaccess.h
index 68db43e..0149cf1 100644 (file)
@@ -30,7 +30,7 @@
 static inline unsigned long kvm_s390_real_to_abs(struct kvm_vcpu *vcpu,
                                                 unsigned long gra)
 {
-       unsigned long prefix = vcpu->arch.sie_block->prefix;
+       unsigned long prefix  = kvm_s390_get_prefix(vcpu);
 
        if (gra < 2 * PAGE_SIZE)
                gra += prefix;
@@ -99,7 +99,7 @@ static inline unsigned long kvm_s390_logical_to_effective(struct kvm_vcpu *vcpu,
        unsigned long __gpa;                                    \
                                                                \
        __gpa = (unsigned long)(gra);                           \
-       __gpa += __vcpu->arch.sie_block->prefix;                \
+       __gpa += kvm_s390_get_prefix(__vcpu);                   \
        kvm_write_guest(__vcpu->kvm, __gpa, &__x, sizeof(__x)); \
 })
 
@@ -124,7 +124,7 @@ static inline __must_check
 int write_guest_lc(struct kvm_vcpu *vcpu, unsigned long gra, void *data,
                   unsigned long len)
 {
-       unsigned long gpa = gra + vcpu->arch.sie_block->prefix;
+       unsigned long gpa = gra + kvm_s390_get_prefix(vcpu);
 
        return kvm_write_guest(vcpu->kvm, gpa, data, len);
 }
@@ -150,11 +150,14 @@ static inline __must_check
 int read_guest_lc(struct kvm_vcpu *vcpu, unsigned long gra, void *data,
                  unsigned long len)
 {
-       unsigned long gpa = gra + vcpu->arch.sie_block->prefix;
+       unsigned long gpa = gra + kvm_s390_get_prefix(vcpu);
 
        return kvm_read_guest(vcpu->kvm, gpa, data, len);
 }
 
+int guest_translate_address(struct kvm_vcpu *vcpu, unsigned long gva,
+                           unsigned long *gpa, int write);
+
 int access_guest(struct kvm_vcpu *vcpu, unsigned long ga, void *data,
                 unsigned long len, int write);
 
@@ -324,6 +327,8 @@ int read_guest_real(struct kvm_vcpu *vcpu, unsigned long gra, void *data,
        return access_guest_real(vcpu, gra, data, len, 0);
 }
 
+void ipte_lock(struct kvm_vcpu *vcpu);
+void ipte_unlock(struct kvm_vcpu *vcpu);
 int ipte_lock_held(struct kvm_vcpu *vcpu);
 int kvm_s390_check_low_addr_protection(struct kvm_vcpu *vcpu, unsigned long ga);