Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Based on arch/arm/include/asm/page.h
0004  *
0005  * Copyright (C) 1995-2003 Russell King
0006  * Copyright (C) 2012 ARM Ltd.
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 /* !__ASSEMBLY__ */
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