pgtable.h (c900529f3d9161bfde5cca0754f83b4d3c3e0220) pgtable.h (907835e6dee6f77ac30ae50bb3f88bd92055c86e)
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * S390 version
4 * Copyright IBM Corp. 1999, 2000
5 * Author(s): Hartmut Penner (hp@de.ibm.com)
6 * Ulrich Weigand (weigand@de.ibm.com)
7 * Martin Schwidefsky (schwidefsky@de.ibm.com)
8 *

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

724 return 1;
725 return (pmd_val(pmd) & ~_SEGMENT_ENTRY_BITS) != 0;
726}
727
728static inline int pud_bad(pud_t pud)
729{
730 unsigned long type = pud_val(pud) & _REGION_ENTRY_TYPE_MASK;
731
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * S390 version
4 * Copyright IBM Corp. 1999, 2000
5 * Author(s): Hartmut Penner (hp@de.ibm.com)
6 * Ulrich Weigand (weigand@de.ibm.com)
7 * Martin Schwidefsky (schwidefsky@de.ibm.com)
8 *

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

724 return 1;
725 return (pmd_val(pmd) & ~_SEGMENT_ENTRY_BITS) != 0;
726}
727
728static inline int pud_bad(pud_t pud)
729{
730 unsigned long type = pud_val(pud) & _REGION_ENTRY_TYPE_MASK;
731
732 if (type > _REGION_ENTRY_TYPE_R3 || pud_large(pud))
732 if (type > _REGION_ENTRY_TYPE_R3 || pud_leaf(pud))
733 return 1;
734 if (type < _REGION_ENTRY_TYPE_R3)
735 return 0;
736 return (pud_val(pud) & ~_REGION_ENTRY_BITS) != 0;
737}
738
739static inline int p4d_bad(p4d_t p4d)
740{

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

1391 return __pa(pmd_deref(pmd)) >> PAGE_SHIFT;
1392}
1393
1394static inline unsigned long pud_deref(pud_t pud)
1395{
1396 unsigned long origin_mask;
1397
1398 origin_mask = _REGION_ENTRY_ORIGIN;
733 return 1;
734 if (type < _REGION_ENTRY_TYPE_R3)
735 return 0;
736 return (pud_val(pud) & ~_REGION_ENTRY_BITS) != 0;
737}
738
739static inline int p4d_bad(p4d_t p4d)
740{

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

1391 return __pa(pmd_deref(pmd)) >> PAGE_SHIFT;
1392}
1393
1394static inline unsigned long pud_deref(pud_t pud)
1395{
1396 unsigned long origin_mask;
1397
1398 origin_mask = _REGION_ENTRY_ORIGIN;
1399 if (pud_large(pud))
1399 if (pud_leaf(pud))
1400 origin_mask = _REGION3_ENTRY_ORIGIN_LARGE;
1401 return (unsigned long)__va(pud_val(pud) & origin_mask);
1402}
1403
1404static inline unsigned long pud_pfn(pud_t pud)
1405{
1406 return __pa(pud_deref(pud)) >> PAGE_SHIFT;
1407}

--- 465 unchanged lines hidden ---
1400 origin_mask = _REGION3_ENTRY_ORIGIN_LARGE;
1401 return (unsigned long)__va(pud_val(pud) & origin_mask);
1402}
1403
1404static inline unsigned long pud_pfn(pud_t pud)
1405{
1406 return __pa(pud_deref(pud)) >> PAGE_SHIFT;
1407}

--- 465 unchanged lines hidden ---