diff options
Diffstat (limited to 'arch/s390/include/asm/hugetlb.h')
| -rw-r--r-- | arch/s390/include/asm/hugetlb.h | 19 | 
1 files changed, 2 insertions, 17 deletions
diff --git a/arch/s390/include/asm/hugetlb.h b/arch/s390/include/asm/hugetlb.h index 2d6e6e38056..593753ee07f 100644 --- a/arch/s390/include/asm/hugetlb.h +++ b/arch/s390/include/asm/hugetlb.h @@ -33,6 +33,7 @@ static inline int prepare_hugepage_range(struct file *file,  }  #define hugetlb_prefault_arch_hook(mm)		do { } while (0) +#define arch_clear_hugepage_flags(page)		do { } while (0)  int arch_prepare_hugepage(struct page *page);  void arch_release_hugepage(struct page *page); @@ -77,23 +78,6 @@ static inline void __pmd_csp(pmd_t *pmdp)  		"	csp %1,%3"  		: "=m" (*pmdp)  		: "d" (reg2), "d" (reg3), "d" (reg4), "m" (*pmdp) : "cc"); -	pmd_val(*pmdp) = _SEGMENT_ENTRY_INV | _SEGMENT_ENTRY; -} - -static inline void __pmd_idte(unsigned long address, pmd_t *pmdp) -{ -	unsigned long sto = (unsigned long) pmdp - -				pmd_index(address) * sizeof(pmd_t); - -	if (!(pmd_val(*pmdp) & _SEGMENT_ENTRY_INV)) { -		asm volatile( -			"	.insn	rrf,0xb98e0000,%2,%3,0,0" -			: "=m" (*pmdp) -			: "m" (*pmdp), "a" (sto), -			  "a" ((address & HPAGE_MASK)) -		); -	} -	pmd_val(*pmdp) = _SEGMENT_ENTRY_INV | _SEGMENT_ENTRY;  }  static inline void huge_ptep_invalidate(struct mm_struct *mm, @@ -105,6 +89,7 @@ static inline void huge_ptep_invalidate(struct mm_struct *mm,  		__pmd_idte(address, pmdp);  	else  		__pmd_csp(pmdp); +	pmd_val(*pmdp) = _SEGMENT_ENTRY_INV | _SEGMENT_ENTRY;  }  static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm,  |