Lines Matching refs:page
64 static inline unsigned int get_pkmap_color(const struct page *page) in get_pkmap_color() argument
165 struct page *__kmap_to_page(void *vaddr) in __kmap_to_page()
204 struct page *page; in flush_all_zero_pkmaps() local
228 page = pte_page(ptent); in flush_all_zero_pkmaps()
231 set_page_address(page, NULL); in flush_all_zero_pkmaps()
245 static inline unsigned long map_new_virtual(struct page *page) in map_new_virtual() argument
250 unsigned int color = get_pkmap_color(page); in map_new_virtual()
282 if (page_address(page)) in map_new_virtual()
283 return (unsigned long)page_address(page); in map_new_virtual()
291 &(pkmap_page_table[last_pkmap_nr]), mk_pte(page, kmap_prot)); in map_new_virtual()
294 set_page_address(page, (void *)vaddr); in map_new_virtual()
307 void *kmap_high(struct page *page) in kmap_high() argument
316 vaddr = (unsigned long)page_address(page); in kmap_high()
318 vaddr = map_new_virtual(page); in kmap_high()
337 void *kmap_high_get(const struct page *page) in kmap_high_get() argument
342 vaddr = (unsigned long)page_address(page); in kmap_high_get()
359 void kunmap_high(const struct page *page) in kunmap_high() argument
365 unsigned int color = get_pkmap_color(page); in kunmap_high()
369 vaddr = (unsigned long)page_address(page); in kunmap_high()
403 void zero_user_segments(struct page *page, unsigned start1, unsigned end1, in zero_user_segments() argument
408 BUG_ON(end1 > page_size(page) || end2 > page_size(page)); in zero_user_segments()
415 for (i = 0; i < compound_nr(page); i++) { in zero_user_segments()
425 kaddr = kmap_local_page(page + i); in zero_user_segments()
440 kaddr = kmap_local_page(page + i); in zero_user_segments()
449 flush_dcache_page(page + i); in zero_user_segments()
511 static inline void *arch_kmap_local_high_get(const struct page *page) in arch_kmap_local_high_get() argument
575 void *__kmap_local_page_prot(const struct page *page, pgprot_t prot) in __kmap_local_page_prot() argument
584 if (!IS_ENABLED(CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP) && !PageHighMem(page)) in __kmap_local_page_prot()
585 return page_address(page); in __kmap_local_page_prot()
588 kmap = arch_kmap_local_high_get(page); in __kmap_local_page_prot()
592 return __kmap_local_pfn_prot(page_to_pfn(page), prot); in __kmap_local_page_prot()
727 struct page *page; member
742 static struct page_address_slot *page_slot(const struct page *page) in page_slot() argument
744 return &page_address_htable[hash_ptr(page, PA_HASH_ORDER)]; in page_slot()
753 void *page_address(const struct page *page) in page_address() argument
759 if (!PageHighMem(page)) in page_address()
760 return lowmem_page_address(page); in page_address()
762 pas = page_slot(page); in page_address()
769 if (pam->page == page) { in page_address()
786 void set_page_address(struct page *page, void *virtual) in set_page_address() argument
792 BUG_ON(!PageHighMem(page)); in set_page_address()
794 pas = page_slot(page); in set_page_address()
797 pam->page = page; in set_page_address()
806 if (pam->page == page) { in set_page_address()