s390/mm: make pXd_deref() macros return a pointer
This update fixes semantics of pXd_deref macros which are expected to return a CPU-addressable pointer. Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com> Reviewed-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:
parent
d5b2c4cd0b
commit
86c827b39e
|
@ -1219,8 +1219,8 @@ static inline pte_t mk_pte(struct page *page, pgprot_t pgprot)
|
|||
#define pud_index(address) (((address) >> PUD_SHIFT) & (PTRS_PER_PUD-1))
|
||||
#define pmd_index(address) (((address) >> PMD_SHIFT) & (PTRS_PER_PMD-1))
|
||||
|
||||
#define p4d_deref(pud) (p4d_val(pud) & _REGION_ENTRY_ORIGIN)
|
||||
#define pgd_deref(pgd) (pgd_val(pgd) & _REGION_ENTRY_ORIGIN)
|
||||
#define p4d_deref(pud) ((unsigned long)__va(p4d_val(pud) & _REGION_ENTRY_ORIGIN))
|
||||
#define pgd_deref(pgd) ((unsigned long)__va(pgd_val(pgd) & _REGION_ENTRY_ORIGIN))
|
||||
|
||||
static inline unsigned long pmd_deref(pmd_t pmd)
|
||||
{
|
||||
|
@ -1229,12 +1229,12 @@ static inline unsigned long pmd_deref(pmd_t pmd)
|
|||
origin_mask = _SEGMENT_ENTRY_ORIGIN;
|
||||
if (pmd_large(pmd))
|
||||
origin_mask = _SEGMENT_ENTRY_ORIGIN_LARGE;
|
||||
return pmd_val(pmd) & origin_mask;
|
||||
return (unsigned long)__va(pmd_val(pmd) & origin_mask);
|
||||
}
|
||||
|
||||
static inline unsigned long pmd_pfn(pmd_t pmd)
|
||||
{
|
||||
return pmd_deref(pmd) >> PAGE_SHIFT;
|
||||
return __pa(pmd_deref(pmd)) >> PAGE_SHIFT;
|
||||
}
|
||||
|
||||
static inline unsigned long pud_deref(pud_t pud)
|
||||
|
@ -1244,12 +1244,12 @@ static inline unsigned long pud_deref(pud_t pud)
|
|||
origin_mask = _REGION_ENTRY_ORIGIN;
|
||||
if (pud_large(pud))
|
||||
origin_mask = _REGION3_ENTRY_ORIGIN_LARGE;
|
||||
return pud_val(pud) & origin_mask;
|
||||
return (unsigned long)__va(pud_val(pud) & origin_mask);
|
||||
}
|
||||
|
||||
static inline unsigned long pud_pfn(pud_t pud)
|
||||
{
|
||||
return pud_deref(pud) >> PAGE_SHIFT;
|
||||
return __pa(pud_deref(pud)) >> PAGE_SHIFT;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue