forked from Minki/linux
x86: make pgd/pud/pmd/pte_none consistent
The _none test is done differently for every level of the pagetable. Standardize them by: 1: Use the native_X_val to extract the raw entry, with no need to go via paravirt_ops, diff -r 1d0646d0d319 arch/x86/include/asm/pgtable.h, and 2: Compare with 0 rather than using a boolean !, since they are actually values and not booleans. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
This commit is contained in:
parent
18a7a199f9
commit
26c8e31799
@ -465,7 +465,7 @@ static inline int pmd_none(pmd_t pmd)
|
|||||||
{
|
{
|
||||||
/* Only check low word on 32-bit platforms, since it might be
|
/* Only check low word on 32-bit platforms, since it might be
|
||||||
out of sync with upper half. */
|
out of sync with upper half. */
|
||||||
return !(unsigned long)native_pmd_val(pmd);
|
return (unsigned long)native_pmd_val(pmd) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline unsigned long pmd_page_vaddr(pmd_t pmd)
|
static inline unsigned long pmd_page_vaddr(pmd_t pmd)
|
||||||
@ -530,7 +530,7 @@ static inline unsigned long pages_to_mb(unsigned long npg)
|
|||||||
#if PAGETABLE_LEVELS > 2
|
#if PAGETABLE_LEVELS > 2
|
||||||
static inline int pud_none(pud_t pud)
|
static inline int pud_none(pud_t pud)
|
||||||
{
|
{
|
||||||
return pud_val(pud) == 0;
|
return native_pud_val(pud) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int pud_present(pud_t pud)
|
static inline int pud_present(pud_t pud)
|
||||||
@ -605,7 +605,7 @@ static inline int pgd_bad(pgd_t pgd)
|
|||||||
|
|
||||||
static inline int pgd_none(pgd_t pgd)
|
static inline int pgd_none(pgd_t pgd)
|
||||||
{
|
{
|
||||||
return !pgd_val(pgd);
|
return !native_pgd_val(pgd);
|
||||||
}
|
}
|
||||||
#endif /* PAGETABLE_LEVELS > 3 */
|
#endif /* PAGETABLE_LEVELS > 3 */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user