Lines Matching refs:numpages
37 unsigned long numpages; member
208 static void cpa_flush_range(unsigned long start, int numpages, int cache) in cpa_flush_range() argument
227 for (i = 0, addr = start; i < numpages; i++, addr += PAGE_SIZE) { in cpa_flush_range()
238 static void cpa_flush_array(unsigned long *start, int numpages, int cache, in cpa_flush_array() argument
254 unsigned long do_wbinvd = cache && numpages >= 1024; /* 4M threshold */ in cpa_flush_array()
270 for (i = 0; i < numpages; i++) { in cpa_flush_array()
556 unsigned long nextpage_addr, numpages, pmask, psize, addr, pfn, old_pfn; in try_preserve_large_page() local
596 numpages = (nextpage_addr - address) >> PAGE_SHIFT; in try_preserve_large_page()
597 if (numpages < cpa->numpages) in try_preserve_large_page()
598 cpa->numpages = numpages; in try_preserve_large_page()
662 if (address == (address & pmask) && cpa->numpages == (psize >> PAGE_SHIFT)) { in try_preserve_large_page()
1049 end = start + (cpa->numpages << PAGE_SHIFT); in populate_pud()
1061 cur_pages = min_t(int, (int)cpa->numpages, cur_pages); in populate_pud()
1081 if (cpa->numpages == cur_pages) in populate_pud()
1109 tmp = populate_pmd(cpa, start, end, cpa->numpages - cur_pages, in populate_pud()
1164 addr + (cpa->numpages << PAGE_SHIFT)); in populate_pgd()
1168 cpa->numpages = ret; in populate_pgd()
1188 cpa->numpages = 1; in __cpa_process_fault()
1201 cpa->numpages = 1; in __cpa_process_fault()
1268 cpa->numpages = 1; in __change_page_attr()
1380 unsigned long numpages = cpa->numpages; in __change_page_attr_set_clr() local
1383 while (numpages) { in __change_page_attr_set_clr()
1388 cpa->numpages = numpages; in __change_page_attr_set_clr()
1391 cpa->numpages = 1; in __change_page_attr_set_clr()
1412 BUG_ON(cpa->numpages > numpages || !cpa->numpages); in __change_page_attr_set_clr()
1413 numpages -= cpa->numpages; in __change_page_attr_set_clr()
1417 *cpa->vaddr += cpa->numpages * PAGE_SIZE; in __change_page_attr_set_clr()
1446 static int change_page_attr_set_clr(unsigned long *addr, int numpages, in change_page_attr_set_clr() argument
1469 for (i = 0; i < numpages; i++) { in change_page_attr_set_clr()
1501 cpa.numpages = numpages; in change_page_attr_set_clr()
1539 cpa_flush_array(addr, numpages, cache, in change_page_attr_set_clr()
1542 cpa_flush_range(baddr, numpages, cache); in change_page_attr_set_clr()
1550 static inline int change_page_attr_set(unsigned long *addr, int numpages, in change_page_attr_set() argument
1553 return change_page_attr_set_clr(addr, numpages, mask, __pgprot(0), 0, in change_page_attr_set()
1557 static inline int change_page_attr_clear(unsigned long *addr, int numpages, in change_page_attr_clear() argument
1560 return change_page_attr_set_clr(addr, numpages, __pgprot(0), mask, 0, in change_page_attr_clear()
1564 static inline int cpa_set_pages_array(struct page **pages, int numpages, in cpa_set_pages_array() argument
1567 return change_page_attr_set_clr(NULL, numpages, mask, __pgprot(0), 0, in cpa_set_pages_array()
1571 static inline int cpa_clear_pages_array(struct page **pages, int numpages, in cpa_clear_pages_array() argument
1574 return change_page_attr_set_clr(NULL, numpages, __pgprot(0), mask, 0, in cpa_clear_pages_array()
1578 int _set_memory_uc(unsigned long addr, int numpages) in _set_memory_uc() argument
1586 return change_page_attr_set(&addr, numpages, in _set_memory_uc()
1591 int set_memory_uc(unsigned long addr, int numpages) in set_memory_uc() argument
1598 ret = reserve_memtype(__pa(addr), __pa(addr) + numpages * PAGE_SIZE, in set_memory_uc()
1603 ret = _set_memory_uc(addr, numpages); in set_memory_uc()
1610 free_memtype(__pa(addr), __pa(addr) + numpages * PAGE_SIZE); in set_memory_uc()
1673 int _set_memory_wc(unsigned long addr, int numpages) in _set_memory_wc() argument
1678 ret = change_page_attr_set(&addr, numpages, in _set_memory_wc()
1682 ret = change_page_attr_set_clr(&addr_copy, numpages, in _set_memory_wc()
1691 int set_memory_wc(unsigned long addr, int numpages) in set_memory_wc() argument
1695 ret = reserve_memtype(__pa(addr), __pa(addr) + numpages * PAGE_SIZE, in set_memory_wc()
1700 ret = _set_memory_wc(addr, numpages); in set_memory_wc()
1702 free_memtype(__pa(addr), __pa(addr) + numpages * PAGE_SIZE); in set_memory_wc()
1708 int _set_memory_wt(unsigned long addr, int numpages) in _set_memory_wt() argument
1710 return change_page_attr_set(&addr, numpages, in _set_memory_wt()
1714 int set_memory_wt(unsigned long addr, int numpages) in set_memory_wt() argument
1718 ret = reserve_memtype(__pa(addr), __pa(addr) + numpages * PAGE_SIZE, in set_memory_wt()
1723 ret = _set_memory_wt(addr, numpages); in set_memory_wt()
1725 free_memtype(__pa(addr), __pa(addr) + numpages * PAGE_SIZE); in set_memory_wt()
1731 int _set_memory_wb(unsigned long addr, int numpages) in _set_memory_wb() argument
1734 return change_page_attr_clear(&addr, numpages, in _set_memory_wb()
1738 int set_memory_wb(unsigned long addr, int numpages) in set_memory_wb() argument
1742 ret = _set_memory_wb(addr, numpages); in set_memory_wb()
1746 free_memtype(__pa(addr), __pa(addr) + numpages * PAGE_SIZE); in set_memory_wb()
1769 int set_memory_x(unsigned long addr, int numpages) in set_memory_x() argument
1774 return change_page_attr_clear(&addr, numpages, __pgprot(_PAGE_NX), 0); in set_memory_x()
1778 int set_memory_nx(unsigned long addr, int numpages) in set_memory_nx() argument
1783 return change_page_attr_set(&addr, numpages, __pgprot(_PAGE_NX), 0); in set_memory_nx()
1787 int set_memory_ro(unsigned long addr, int numpages) in set_memory_ro() argument
1789 return change_page_attr_clear(&addr, numpages, __pgprot(_PAGE_RW), 0); in set_memory_ro()
1792 int set_memory_rw(unsigned long addr, int numpages) in set_memory_rw() argument
1794 return change_page_attr_set(&addr, numpages, __pgprot(_PAGE_RW), 0); in set_memory_rw()
1797 int set_memory_np(unsigned long addr, int numpages) in set_memory_np() argument
1799 return change_page_attr_clear(&addr, numpages, __pgprot(_PAGE_PRESENT), 0); in set_memory_np()
1802 int set_memory_np_noalias(unsigned long addr, int numpages) in set_memory_np_noalias() argument
1806 return change_page_attr_set_clr(&addr, numpages, __pgprot(0), in set_memory_np_noalias()
1811 int set_memory_4k(unsigned long addr, int numpages) in set_memory_4k() argument
1813 return change_page_attr_set_clr(&addr, numpages, __pgprot(0), in set_memory_4k()
1817 int set_memory_nonglobal(unsigned long addr, int numpages) in set_memory_nonglobal() argument
1819 return change_page_attr_clear(&addr, numpages, in set_memory_nonglobal()
1823 int set_memory_global(unsigned long addr, int numpages) in set_memory_global() argument
1825 return change_page_attr_set(&addr, numpages, in set_memory_global()
1829 static int __set_memory_enc_dec(unsigned long addr, int numpages, bool enc) in __set_memory_enc_dec() argument
1847 cpa.numpages = numpages; in __set_memory_enc_dec()
1860 cpa_flush_range(start, numpages, 1); in __set_memory_enc_dec()
1874 cpa_flush_range(start, numpages, 0); in __set_memory_enc_dec()
1881 int set_memory_encrypted(unsigned long addr, int numpages) in set_memory_encrypted() argument
1883 return __set_memory_enc_dec(addr, numpages, true); in set_memory_encrypted()
1887 int set_memory_decrypted(unsigned long addr, int numpages) in set_memory_decrypted() argument
1889 return __set_memory_enc_dec(addr, numpages, false); in set_memory_decrypted()
1893 int set_pages_uc(struct page *page, int numpages) in set_pages_uc() argument
1897 return set_memory_uc(addr, numpages); in set_pages_uc()
1965 int set_pages_wb(struct page *page, int numpages) in set_pages_wb() argument
1969 return set_memory_wb(addr, numpages); in set_pages_wb()
1998 int set_pages_x(struct page *page, int numpages) in set_pages_x() argument
2002 return set_memory_x(addr, numpages); in set_pages_x()
2006 int set_pages_nx(struct page *page, int numpages) in set_pages_nx() argument
2010 return set_memory_nx(addr, numpages); in set_pages_nx()
2014 int set_pages_ro(struct page *page, int numpages) in set_pages_ro() argument
2018 return set_memory_ro(addr, numpages); in set_pages_ro()
2021 int set_pages_rw(struct page *page, int numpages) in set_pages_rw() argument
2025 return set_memory_rw(addr, numpages); in set_pages_rw()
2030 static int __set_pages_p(struct page *page, int numpages) in __set_pages_p() argument
2035 .numpages = numpages, in __set_pages_p()
2049 static int __set_pages_np(struct page *page, int numpages) in __set_pages_np() argument
2054 .numpages = numpages, in __set_pages_np()
2068 void __kernel_map_pages(struct page *page, int numpages, int enable) in __kernel_map_pages() argument
2074 numpages * PAGE_SIZE); in __kernel_map_pages()
2083 __set_pages_p(page, numpages); in __kernel_map_pages()
2085 __set_pages_np(page, numpages); in __kernel_map_pages()
2115 unsigned numpages, unsigned long page_flags) in kernel_map_pages_in_pgd() argument
2123 .numpages = numpages, in kernel_map_pages_in_pgd()