hugetlbpage.c (d2c5231581d636af8d5af888ee13048dfbb438c7) hugetlbpage.c (907835e6dee6f77ac30ae50bb3f88bd92055c86e)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * IBM System z Huge TLB Page Support for Kernel.
4 *
5 * Copyright IBM Corp. 2007,2020
6 * Author(s): Gerald Schaefer <gerald.schaefer@de.ibm.com>
7 */
8

--- 210 unchanged lines hidden (view full) ---

219 pmd_t *pmdp = NULL;
220
221 pgdp = pgd_offset(mm, addr);
222 if (pgd_present(*pgdp)) {
223 p4dp = p4d_offset(pgdp, addr);
224 if (p4d_present(*p4dp)) {
225 pudp = pud_offset(p4dp, addr);
226 if (pud_present(*pudp)) {
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * IBM System z Huge TLB Page Support for Kernel.
4 *
5 * Copyright IBM Corp. 2007,2020
6 * Author(s): Gerald Schaefer <gerald.schaefer@de.ibm.com>
7 */
8

--- 210 unchanged lines hidden (view full) ---

219 pmd_t *pmdp = NULL;
220
221 pgdp = pgd_offset(mm, addr);
222 if (pgd_present(*pgdp)) {
223 p4dp = p4d_offset(pgdp, addr);
224 if (p4d_present(*p4dp)) {
225 pudp = pud_offset(p4dp, addr);
226 if (pud_present(*pudp)) {
227 if (pud_large(*pudp))
227 if (pud_leaf(*pudp))
228 return (pte_t *) pudp;
229 pmdp = pmd_offset(pudp, addr);
230 }
231 }
232 }
233 return (pte_t *) pmdp;
234}
235
236int pmd_huge(pmd_t pmd)
237{
238 return pmd_large(pmd);
239}
240
241int pud_huge(pud_t pud)
242{
228 return (pte_t *) pudp;
229 pmdp = pmd_offset(pudp, addr);
230 }
231 }
232 }
233 return (pte_t *) pmdp;
234}
235
236int pmd_huge(pmd_t pmd)
237{
238 return pmd_large(pmd);
239}
240
241int pud_huge(pud_t pud)
242{
243 return pud_large(pud);
243 return pud_leaf(pud);
244}
245
246bool __init arch_hugetlb_valid_size(unsigned long size)
247{
248 if (MACHINE_HAS_EDAT1 && size == PMD_SIZE)
249 return true;
250 else if (MACHINE_HAS_EDAT2 && size == PUD_SIZE)
251 return true;

--- 91 unchanged lines hidden ---
244}
245
246bool __init arch_hugetlb_valid_size(unsigned long size)
247{
248 if (MACHINE_HAS_EDAT1 && size == PMD_SIZE)
249 return true;
250 else if (MACHINE_HAS_EDAT2 && size == PUD_SIZE)
251 return true;

--- 91 unchanged lines hidden ---