|
@@ -231,6 +231,10 @@ static inline int get_page_unless_zero(struct page *page)
|
|
return atomic_inc_not_zero(&page->_count);
|
|
return atomic_inc_not_zero(&page->_count);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/* Support for virtually mapped pages */
|
|
|
|
+struct page *vmalloc_to_page(void *addr);
|
|
|
|
+unsigned long vmalloc_to_pfn(void *addr);
|
|
|
|
+
|
|
static inline struct page *compound_head(struct page *page)
|
|
static inline struct page *compound_head(struct page *page)
|
|
{
|
|
{
|
|
if (unlikely(PageTail(page)))
|
|
if (unlikely(PageTail(page)))
|
|
@@ -1089,8 +1093,6 @@ static inline unsigned long vma_pages(struct vm_area_struct *vma)
|
|
|
|
|
|
pgprot_t vm_get_page_prot(unsigned long vm_flags);
|
|
pgprot_t vm_get_page_prot(unsigned long vm_flags);
|
|
struct vm_area_struct *find_extend_vma(struct mm_struct *, unsigned long addr);
|
|
struct vm_area_struct *find_extend_vma(struct mm_struct *, unsigned long addr);
|
|
-struct page *vmalloc_to_page(void *addr);
|
|
|
|
-unsigned long vmalloc_to_pfn(void *addr);
|
|
|
|
int remap_pfn_range(struct vm_area_struct *, unsigned long addr,
|
|
int remap_pfn_range(struct vm_area_struct *, unsigned long addr,
|
|
unsigned long pfn, unsigned long size, pgprot_t);
|
|
unsigned long pfn, unsigned long size, pgprot_t);
|
|
int vm_insert_page(struct vm_area_struct *, unsigned long addr, struct page *);
|
|
int vm_insert_page(struct vm_area_struct *, unsigned long addr, struct page *);
|