1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Based on arch/arm/include/asm/page.h 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (C) 1995-2003 Russell King 6*4882a593Smuzhiyun * Copyright (C) 2012 ARM Ltd. 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun #ifndef __ASM_PAGE_H 9*4882a593Smuzhiyun #define __ASM_PAGE_H 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #include <asm/page-def.h> 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #ifndef __ASSEMBLY__ 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun #include <linux/personality.h> /* for READ_IMPLIES_EXEC */ 16*4882a593Smuzhiyun #include <linux/types.h> /* for gfp_t */ 17*4882a593Smuzhiyun #include <asm/pgtable-types.h> 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun struct page; 20*4882a593Smuzhiyun struct vm_area_struct; 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun extern void copy_page(void *to, const void *from); 23*4882a593Smuzhiyun extern void clear_page(void *to); 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun void copy_user_highpage(struct page *to, struct page *from, 26*4882a593Smuzhiyun unsigned long vaddr, struct vm_area_struct *vma); 27*4882a593Smuzhiyun #define __HAVE_ARCH_COPY_USER_HIGHPAGE 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun void copy_highpage(struct page *to, struct page *from); 30*4882a593Smuzhiyun #define __HAVE_ARCH_COPY_HIGHPAGE 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun struct page *alloc_zeroed_user_highpage_movable(struct vm_area_struct *vma, 33*4882a593Smuzhiyun unsigned long vaddr); 34*4882a593Smuzhiyun #define __HAVE_ARCH_ALLOC_ZEROED_USER_HIGHPAGE_MOVABLE 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun void tag_clear_highpage(struct page *to); 37*4882a593Smuzhiyun #define __HAVE_ARCH_TAG_CLEAR_HIGHPAGE 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun #define clear_user_page(page, vaddr, pg) clear_page(page) 40*4882a593Smuzhiyun #define copy_user_page(to, from, vaddr, pg) copy_page(to, from) 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun typedef struct page *pgtable_t; 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun extern int pfn_valid(unsigned long); 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun #include <asm/memory.h> 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun #endif /* !__ASSEMBLY__ */ 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun #define VM_DATA_DEFAULT_FLAGS (VM_DATA_FLAGS_TSK_EXEC | VM_MTE_ALLOWED) 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun #include <asm-generic/getorder.h> 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun #endif 55