X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fasm-x86%2Fpage.h;h=b381f4a5a0bd90fc0e75268f5ee743b56ff1d3dd;hb=cf867ac375cea7c7a834eaddaf373e2662d9e260;hp=a6495eb5c6053d23752149e1adc8936e013421de;hpb=c8e5393ab38564d2f45b560a2f95bc8f9ff6f823;p=linux-2.6 diff --git a/include/asm-x86/page.h b/include/asm-x86/page.h index a6495eb5c6..b381f4a5a0 100644 --- a/include/asm-x86/page.h +++ b/include/asm-x86/page.h @@ -13,8 +13,8 @@ #define PHYSICAL_PAGE_MASK (PAGE_MASK & __PHYSICAL_MASK) #define PTE_MASK (_AT(long, PHYSICAL_PAGE_MASK)) -#define LARGE_PAGE_SIZE (_AC(1,UL) << PMD_SHIFT) -#define LARGE_PAGE_MASK (~(LARGE_PAGE_SIZE-1)) +#define PMD_PAGE_SIZE (_AC(1, UL) << PMD_SHIFT) +#define PMD_PAGE_MASK (~(PMD_PAGE_SIZE-1)) #define HPAGE_SHIFT PMD_SHIFT #define HPAGE_SIZE (_AC(1,UL) << HPAGE_SHIFT) @@ -45,15 +45,21 @@ #ifndef __ASSEMBLY__ + +extern int page_is_ram(unsigned long pagenr); +extern int devmem_is_allowed(unsigned long pagenr); + +extern unsigned long max_pfn_mapped; + struct page; -static void inline clear_user_page(void *page, unsigned long vaddr, +static inline void clear_user_page(void *page, unsigned long vaddr, struct page *pg) { clear_page(page); } -static void inline copy_user_page(void *to, void *from, unsigned long vaddr, +static inline void copy_user_page(void *to, void *from, unsigned long vaddr, struct page *topage) { copy_page(to, from); @@ -91,6 +97,11 @@ static inline pudval_t native_pud_val(pud_t pud) } #else /* PAGETABLE_LEVELS == 3 */ #include + +static inline pudval_t native_pud_val(pud_t pud) +{ + return native_pgd_val(pud.pgd); +} #endif /* PAGETABLE_LEVELS == 4 */ typedef struct { pmdval_t pmd; } pmd_t; @@ -106,6 +117,11 @@ static inline pmdval_t native_pmd_val(pmd_t pmd) } #else /* PAGETABLE_LEVELS == 2 */ #include + +static inline pmdval_t native_pmd_val(pmd_t pmd) +{ + return native_pgd_val(pmd.pud.pgd); +} #endif /* PAGETABLE_LEVELS >= 3 */ static inline pte_t native_make_pte(pteval_t val)