* kvm_s390_shadow_fault - handle fault on a shadow page table
* @sg: pointer to the shadow guest address space structure
* @saddr: faulting address in the shadow gmap
- * @write: =1 map r/w, =0 map r/o
*
* Returns: - 0 if the shadow fault was successfully resolved
* - > 0 (pgm exception code) on exceptions while faulting
* - -EFAULT when accessing invalid guest addresses
* - -ENOMEM if out of memory
*/
-int kvm_s390_shadow_fault(struct gmap *sg, unsigned long saddr, int write)
+int kvm_s390_shadow_fault(struct gmap *sg, unsigned long saddr)
{
union vaddress vaddr;
union page_table_entry pte;
rc = PGM_PAGE_TRANSLATION;
if (!rc && (pte.z || pte.co))
rc = PGM_TRANSLATION_SPEC;
- dat_protection |= pte.p;
- if (!rc && write && dat_protection)
- rc = PGM_PROTECTION;
if (!rc)
rc = gmap_shadow_page(sg, saddr, __pte(pte.val));
up_read(&sg->mm->mmap_sem);
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);
+int kvm_s390_shadow_fault(struct gmap *shadow, unsigned long saddr);
#endif /* __KVM_S390_GACCESS_H */