summaryrefslogtreecommitdiffstats
path: root/arch/s390/kvm/gaccess.h
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2016-03-08 12:16:35 +0100
committerChristian Borntraeger <borntraeger@de.ibm.com>2016-06-20 09:54:12 +0200
commitaa17aa57cfb95b169f25fe98caae49e477590af3 (patch)
treeb9dab6f5a97c94028e79ef90dec1e9ebb5fa10fd /arch/s390/kvm/gaccess.h
parents390/mm: add shadow gmap support (diff)
downloadlinux-aa17aa57cfb95b169f25fe98caae49e477590af3.tar.xz
linux-aa17aa57cfb95b169f25fe98caae49e477590af3.zip
s390/mm: add kvm shadow fault function
This patch introduces function kvm_s390_shadow_fault() used to resolve a fault on a shadow gmap. This function will do validity checking and build up the shadow page table hierarchy in order to fault in the requested page into the shadow page table structure. If an exception occurs while shadowing, guest 2 has to be notified about it using either an exception or a program interrupt intercept. If concurrent unshadowing occurres, this function will simply return with -EAGAIN and the caller has to retry. Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'arch/s390/kvm/gaccess.h')
-rw-r--r--arch/s390/kvm/gaccess.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/s390/kvm/gaccess.h b/arch/s390/kvm/gaccess.h
index df0a79dd8159..e5ec4734d42d 100644
--- a/arch/s390/kvm/gaccess.h
+++ b/arch/s390/kvm/gaccess.h
@@ -361,4 +361,6 @@ void ipte_unlock(struct kvm_vcpu *vcpu);
int ipte_lock_held(struct kvm_vcpu *vcpu);
int kvm_s390_check_low_addr_prot_real(struct kvm_vcpu *vcpu, unsigned long gra);
+int kvm_s390_shadow_fault(struct gmap *shadow, unsigned long saddr, int write);
+
#endif /* __KVM_S390_GACCESS_H */