Lines Matching refs:home
160 static void homecache_finv_page_va(void* va, int home) in homecache_finv_page_va() argument
163 if (home == cpu) { in homecache_finv_page_va()
165 } else if (home == PAGE_HOME_HASH) { in homecache_finv_page_va()
168 BUG_ON(home < 0 || home >= NR_CPUS); in homecache_finv_page_va()
174 void homecache_finv_map_page(struct page *page, int home) in homecache_finv_map_page() argument
181 if (home == PAGE_HOME_UNCACHED) in homecache_finv_map_page()
192 __set_pte(ptep, pte_set_home(pte, home)); in homecache_finv_map_page()
193 homecache_finv_page_va((void *)va, home); in homecache_finv_map_page()
202 static void homecache_finv_page_home(struct page *page, int home) in homecache_finv_page_home() argument
204 if (!PageHighMem(page) && home == page_home(page)) in homecache_finv_page_home()
205 homecache_finv_page_va(page_address(page), home); in homecache_finv_page_home()
207 homecache_finv_map_page(page, home); in homecache_finv_page_home()
210 static inline bool incoherent_home(int home) in incoherent_home() argument
212 return home == PAGE_HOME_IMMUTABLE || home == PAGE_HOME_INCOHERENT; in incoherent_home()
217 int home = page_home(page); in homecache_finv_page_internal() local
218 if (home == PAGE_HOME_UNCACHED) in homecache_finv_page_internal()
220 if (incoherent_home(home)) { in homecache_finv_page_internal()
226 homecache_finv_map_page(page, home); in homecache_finv_page_internal()
228 homecache_finv_page_home(page, home); in homecache_finv_page_internal()
262 pte_t pte_set_home(pte_t pte, int home) in pte_set_home() argument
279 if (hv_pte_get_nc(pte) && home != PAGE_HOME_IMMUTABLE) { in pte_set_home()
285 switch (home) { in pte_set_home()
321 BUG_ON(home < 0 || home >= NR_CPUS || in pte_set_home()
322 !cpu_is_valid_lotar(home)); in pte_set_home()
324 pte = set_remote_cache_cpu(pte, home); in pte_set_home()
362 void homecache_change_page_home(struct page *page, int order, int home) in homecache_change_page_home() argument
379 __set_pte(ptep, pte_set_home(pteval, home)); in homecache_change_page_home()
385 unsigned int order, int home) in homecache_alloc_pages() argument
391 homecache_change_page_home(page, order, home); in homecache_alloc_pages()
397 unsigned int order, int home) in homecache_alloc_pages_node() argument
403 homecache_change_page_home(page, order, home); in homecache_alloc_pages_node()