aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/include/asm/hugetlb.h
diff options
context:
space:
mode:
authorGerald Schaefer <gerald.schaefer@de.ibm.com>2016-07-04 14:47:01 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2016-07-06 08:46:43 +0200
commitd08de8e2d86744f91d9d5d57c56ca2b6e33bf6ec (patch)
tree2bcf0bcb5ec30e48eb82fbc7e3a216cab8671f04 /arch/s390/include/asm/hugetlb.h
parents390: have unique symbol for __switch_to address (diff)
downloadlinux-dev-d08de8e2d86744f91d9d5d57c56ca2b6e33bf6ec.tar.xz
linux-dev-d08de8e2d86744f91d9d5d57c56ca2b6e33bf6ec.zip
s390/mm: add support for 2GB hugepages
This adds support for 2GB hugetlbfs pages on s390. Reviewed-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/hugetlb.h')
-rw-r--r--arch/s390/include/asm/hugetlb.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/s390/include/asm/hugetlb.h b/arch/s390/include/asm/hugetlb.h
index d9be7c0c1291..4c7fac75090e 100644
--- a/arch/s390/include/asm/hugetlb.h
+++ b/arch/s390/include/asm/hugetlb.h
@@ -41,7 +41,10 @@ static inline int prepare_hugepage_range(struct file *file,
static inline void huge_pte_clear(struct mm_struct *mm, unsigned long addr,
pte_t *ptep)
{
- pte_val(*ptep) = _SEGMENT_ENTRY_EMPTY;
+ if ((pte_val(*ptep) & _REGION_ENTRY_TYPE_MASK) == _REGION_ENTRY_TYPE_R3)
+ pte_val(*ptep) = _REGION3_ENTRY_EMPTY;
+ else
+ pte_val(*ptep) = _SEGMENT_ENTRY_EMPTY;
}
static inline void huge_ptep_clear_flush(struct vm_area_struct *vma,