Commit 26c8e317 authored by Jeremy Fitzhardinge's avatar Jeremy Fitzhardinge

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: default avatarJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
parent 18a7a199
...@@ -465,7 +465,7 @@ static inline int pmd_none(pmd_t pmd) ...@@ -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) ...@@ -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) ...@@ -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 */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment