lkml.org 
[lkml]   [2008]   [Jan]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] [4/9] Add pgtable accessor functions for GB pages
    Date

    Signed-off-by: Andi Kleen <ak@suse.de>

    ---
    include/asm-x86/pgtable_32.h | 2 ++
    include/asm-x86/pgtable_64.h | 6 ++++++
    2 files changed, 8 insertions(+)

    Index: linux/include/asm-x86/pgtable_64.h
    ===================================================================
    --- linux.orig/include/asm-x86/pgtable_64.h
    +++ linux/include/asm-x86/pgtable_64.h
    @@ -199,6 +199,12 @@ static inline unsigned long pmd_bad(pmd_
    #define pud_offset(pgd, address) ((pud_t *) pgd_page_vaddr(*(pgd)) + pud_index(address))
    #define pud_present(pud) (pud_val(pud) & _PAGE_PRESENT)

    +static inline int pud_large(pud_t pte)
    +{
    + return (pud_val(pte) & (_PAGE_PSE|_PAGE_PRESENT)) ==
    + (_PAGE_PSE|_PAGE_PRESENT);
    +}
    +
    /* PMD - Level 2 access */
    #define pmd_page_vaddr(pmd) ((unsigned long) __va(pmd_val(pmd) & PTE_MASK))
    #define pmd_page(pmd) (pfn_to_page(pmd_val(pmd) >> PAGE_SHIFT))
    Index: linux/include/asm-x86/pgtable_32.h
    ===================================================================
    --- linux.orig/include/asm-x86/pgtable_32.h
    +++ linux/include/asm-x86/pgtable_32.h
    @@ -148,6 +148,8 @@ static inline void clone_pgd_range(pgd_t
    */
    #define pgd_offset_k(address) pgd_offset(&init_mm, address)

    +static inline int pud_large(pud_t pud) { return 0; }
    +
    /*
    * the pmd page can be thought of an array like this: pmd_t[PTRS_PER_PMD]
    *

    \
     
     \ /
      Last update: 2008-01-29 06:11    [W:6.491 / U:0.340 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site