lkml.org 
[lkml]   [2009]   [Feb]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 09 of 36] x86: unify pmd_none
    Date
    From
    Impact: cleanup

    Unify and demacro pmd_none.

    Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
    ---
    arch/x86/include/asm/pgtable.h | 7 +++++++
    arch/x86/include/asm/pgtable_32.h | 2 --
    arch/x86/include/asm/pgtable_64.h | 1 -
    3 files changed, 7 insertions(+), 3 deletions(-)

    diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h
    --- a/arch/x86/include/asm/pgtable.h
    +++ b/arch/x86/include/asm/pgtable.h
    @@ -488,6 +488,13 @@
    return pmd_val(pmd) & _PAGE_PRESENT;
    }

    +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);
    +}
    +
    #if PAGETABLE_LEVELS > 2
    static inline int pud_present(pud_t pud)
    {
    diff --git a/arch/x86/include/asm/pgtable_32.h b/arch/x86/include/asm/pgtable_32.h
    --- a/arch/x86/include/asm/pgtable_32.h
    +++ b/arch/x86/include/asm/pgtable_32.h
    @@ -85,8 +85,6 @@
    /* The boot page tables (all created as a single array) */
    extern unsigned long pg0[];

    -/* To avoid harmful races, pmd_none(x) should check only the lower when PAE */
    -#define pmd_none(x) (!(unsigned long)pmd_val((x)))
    #define pmd_bad(x) ((pmd_val(x) & (PTE_FLAGS_MASK & ~_PAGE_USER)) != _KERNPG_TABLE)

    #define pages_to_mb(x) ((x) >> (20-PAGE_SHIFT))
    diff --git a/arch/x86/include/asm/pgtable_64.h b/arch/x86/include/asm/pgtable_64.h
    --- a/arch/x86/include/asm/pgtable_64.h
    +++ b/arch/x86/include/asm/pgtable_64.h
    @@ -206,7 +206,6 @@
    #define pmd_index(address) (((address) >> PMD_SHIFT) & (PTRS_PER_PMD - 1))
    #define pmd_offset(dir, address) ((pmd_t *)pud_page_vaddr(*(dir)) + \
    pmd_index(address))
    -#define pmd_none(x) (!pmd_val((x)))
    #define pfn_pmd(nr, prot) (__pmd(((nr) << PAGE_SHIFT) | pgprot_val((prot))))
    #define pmd_pfn(x) ((pmd_val((x)) & __PHYSICAL_MASK) >> PAGE_SHIFT)




    \
     
     \ /
      Last update: 2009-02-05 20:37    [W:0.021 / U:31.972 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site