x86: make pgd/pud/pmd/pte_none consistent
authorJeremy Fitzhardinge <jeremy@goop.org>
Thu, 5 Feb 2009 19:31:17 +0000 (11:31 -0800)
committerJeremy Fitzhardinge <jeremy@goop.org>
Fri, 6 Feb 2009 20:31:51 +0000 (12:31 -0800)
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>
arch/x86/include/asm/pgtable.h

index c811d76d6fd0a30cffd76f9fc40bfe0e65e8f6cc..a80a956ae655963728fa5e54f1551b7b8fc077b5 100644 (file)
@@ -465,7 +465,7 @@ static inline int pmd_none(pmd_t pmd)
 {
        /* Only check low word on 32-bit platforms, since it might be
           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)
@@ -530,7 +530,7 @@ static inline unsigned long pages_to_mb(unsigned long npg)
 #if PAGETABLE_LEVELS > 2
 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)
@@ -605,7 +605,7 @@ static inline int pgd_bad(pgd_t pgd)
 
 static inline int pgd_none(pgd_t pgd)
 {
-       return !pgd_val(pgd);
+       return !native_pgd_val(pgd);
 }
 #endif /* PAGETABLE_LEVELS > 3 */