diff options
Diffstat (limited to 'include/asm-generic/pgtable.h')
-rw-r--r-- | include/asm-generic/pgtable.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h index b36ce40bd1c6..284e80831d2c 100644 --- a/include/asm-generic/pgtable.h +++ b/include/asm-generic/pgtable.h | |||
@@ -449,6 +449,32 @@ extern void untrack_pfn(struct vm_area_struct *vma, unsigned long pfn, | |||
449 | unsigned long size); | 449 | unsigned long size); |
450 | #endif | 450 | #endif |
451 | 451 | ||
452 | #ifdef __HAVE_COLOR_ZERO_PAGE | ||
453 | static inline int is_zero_pfn(unsigned long pfn) | ||
454 | { | ||
455 | extern unsigned long zero_pfn; | ||
456 | unsigned long offset_from_zero_pfn = pfn - zero_pfn; | ||
457 | return offset_from_zero_pfn <= (zero_page_mask >> PAGE_SHIFT); | ||
458 | } | ||
459 | |||
460 | static inline unsigned long my_zero_pfn(unsigned long addr) | ||
461 | { | ||
462 | return page_to_pfn(ZERO_PAGE(addr)); | ||
463 | } | ||
464 | #else | ||
465 | static inline int is_zero_pfn(unsigned long pfn) | ||
466 | { | ||
467 | extern unsigned long zero_pfn; | ||
468 | return pfn == zero_pfn; | ||
469 | } | ||
470 | |||
471 | static inline unsigned long my_zero_pfn(unsigned long addr) | ||
472 | { | ||
473 | extern unsigned long zero_pfn; | ||
474 | return zero_pfn; | ||
475 | } | ||
476 | #endif | ||
477 | |||
452 | #ifdef CONFIG_MMU | 478 | #ifdef CONFIG_MMU |
453 | 479 | ||
454 | #ifndef CONFIG_TRANSPARENT_HUGEPAGE | 480 | #ifndef CONFIG_TRANSPARENT_HUGEPAGE |