Lines Matching full:page

17  * kmap - Map a page for long term usage
18 * @page: Pointer to the page to be mapped
37 static inline void *kmap(struct page *page);
46 static inline void kunmap(struct page *page);
49 * kmap_to_page - Get the page for a kmap'ed address
52 * Returns: The page which is mapped to @addr.
54 static inline struct page *kmap_to_page(void *addr);
63 * kmap_local_page - Map a page for temporary usage
64 * @page: Pointer to the page to be mapped
93 * On HIGHMEM enabled systems mapping a highmem page has the side effect of
97 static inline void *kmap_local_page(struct page *page);
100 * kmap_atomic - Atomically map a page for temporary usage - Deprecated!
101 * @page: Pointer to the page to be mapped
110 static inline void *kmap_atomic(struct page *page);
128 static inline void flush_anon_page(struct vm_area_struct *vma, struct page *page, unsigned long vma… in flush_anon_page() argument
144 static inline void clear_user_highpage(struct page *page, unsigned long vaddr) in clear_user_highpage() argument
146 void *addr = kmap_atomic(page); in clear_user_highpage()
147 clear_user_page(addr, vaddr, page); in clear_user_highpage()
154 …* alloc_zeroed_user_highpage_movable - Allocate a zeroed HIGHMEM page for a VMA that the caller kn…
155 * @vma: The VMA the page is to be allocated for
156 * @vaddr: The virtual address the page will be inserted into
158 * This function will allocate a page for a VMA that the caller knows will
165 static inline struct page *
169 struct page *page = alloc_page_vma(GFP_HIGHUSER_MOVABLE, vma, vaddr); in alloc_zeroed_user_highpage_movable() local
171 if (page) in alloc_zeroed_user_highpage_movable()
172 clear_user_highpage(page, vaddr); in alloc_zeroed_user_highpage_movable()
174 return page; in alloc_zeroed_user_highpage_movable()
178 static inline void clear_highpage(struct page *page) in clear_highpage() argument
180 void *kaddr = kmap_atomic(page); in clear_highpage()
187 static inline void tag_clear_highpage(struct page *page) in tag_clear_highpage() argument
194 * If we pass in a base or tail page, we can zero up to PAGE_SIZE.
195 * If we pass in a head page, we can zero up to the size of the compound page.
198 void zero_user_segments(struct page *page, unsigned start1, unsigned end1,
201 static inline void zero_user_segments(struct page *page, in zero_user_segments() argument
205 void *kaddr = kmap_atomic(page); in zero_user_segments()
208 BUG_ON(end1 > page_size(page) || end2 > page_size(page)); in zero_user_segments()
217 for (i = 0; i < compound_nr(page); i++) in zero_user_segments()
218 flush_dcache_page(page + i); in zero_user_segments()
222 static inline void zero_user_segment(struct page *page, in zero_user_segment() argument
225 zero_user_segments(page, start, end, 0, 0); in zero_user_segment()
228 static inline void zero_user(struct page *page, in zero_user() argument
231 zero_user_segments(page, start, start + size, 0, 0); in zero_user()
236 static inline void copy_user_highpage(struct page *to, struct page *from, in copy_user_highpage()
252 static inline void copy_highpage(struct page *to, struct page *from) in copy_highpage()
265 static inline void memcpy_page(struct page *dst_page, size_t dst_off, in memcpy_page()
266 struct page *src_page, size_t src_off, in memcpy_page()
278 static inline void memmove_page(struct page *dst_page, size_t dst_off, in memmove_page()
279 struct page *src_page, size_t src_off, in memmove_page()
291 static inline void memset_page(struct page *page, size_t offset, int val, in memset_page() argument
294 char *addr = kmap_local_page(page); in memset_page()
301 static inline void memcpy_from_page(char *to, struct page *page, in memcpy_from_page() argument
304 char *from = kmap_local_page(page); in memcpy_from_page()
311 static inline void memcpy_to_page(struct page *page, size_t offset, in memcpy_to_page() argument
314 char *to = kmap_local_page(page); in memcpy_to_page()
318 flush_dcache_page(page); in memcpy_to_page()
322 static inline void memzero_page(struct page *page, size_t offset, size_t len) in memzero_page() argument
324 char *addr = kmap_local_page(page); in memzero_page()
326 flush_dcache_page(page); in memzero_page()