0001
0002
0003
0004
0005
0006
0007
0008 #ifndef __ASM_PAGE_H
0009 #define __ASM_PAGE_H
0010
0011 #include <asm/page-def.h>
0012
0013 #ifndef __ASSEMBLY__
0014
0015 #include <linux/personality.h> /* for READ_IMPLIES_EXEC */
0016 #include <linux/types.h> /* for gfp_t */
0017 #include <asm/pgtable-types.h>
0018
0019 struct page;
0020 struct vm_area_struct;
0021
0022 extern void copy_page(void *to, const void *from);
0023 extern void clear_page(void *to);
0024
0025 void copy_user_highpage(struct page *to, struct page *from,
0026 unsigned long vaddr, struct vm_area_struct *vma);
0027 #define __HAVE_ARCH_COPY_USER_HIGHPAGE
0028
0029 void copy_highpage(struct page *to, struct page *from);
0030 #define __HAVE_ARCH_COPY_HIGHPAGE
0031
0032 struct page *alloc_zeroed_user_highpage_movable(struct vm_area_struct *vma,
0033 unsigned long vaddr);
0034 #define __HAVE_ARCH_ALLOC_ZEROED_USER_HIGHPAGE_MOVABLE
0035
0036 void tag_clear_highpage(struct page *to);
0037 #define __HAVE_ARCH_TAG_CLEAR_HIGHPAGE
0038
0039 #define clear_user_page(page, vaddr, pg) clear_page(page)
0040 #define copy_user_page(to, from, vaddr, pg) copy_page(to, from)
0041
0042 typedef struct page *pgtable_t;
0043
0044 int pfn_is_map_memory(unsigned long pfn);
0045
0046 #include <asm/memory.h>
0047
0048 #endif
0049
0050 #define VM_DATA_DEFAULT_FLAGS (VM_DATA_FLAGS_TSK_EXEC | VM_MTE_ALLOWED)
0051
0052 #include <asm-generic/getorder.h>
0053
0054 #endif