Lines Matching defs:numpages

48 	unsigned long	numpages;
395 for (i = 0; i < cpa->numpages; i++)
411 if (cpa->force_flush_all || cpa->numpages > tlb_single_page_flush_ceiling)
420 for (i = 0; i < cpa->numpages; i++) {
848 unsigned long numpages, pmask, psize, lpaddr, pfn, old_pfn;
884 numpages = (lpaddr - address) >> PAGE_SHIFT;
885 if (numpages < cpa->numpages)
886 cpa->numpages = numpages;
922 numpages = psize >> PAGE_SHIFT;
929 chk_prot = static_protections(old_prot, lpaddr, old_pfn, numpages,
958 if (address != lpaddr || cpa->numpages != numpages)
965 new_prot = static_protections(req_prot, lpaddr, old_pfn, numpages,
968 new_prot = verify_rwx(old_prot, new_prot, lpaddr, old_pfn, numpages);
1423 end = start + (cpa->numpages << PAGE_SHIFT);
1435 cur_pages = min_t(int, (int)cpa->numpages, cur_pages);
1455 if (cpa->numpages == cur_pages)
1483 tmp = populate_pmd(cpa, start, end, cpa->numpages - cur_pages,
1538 addr + (cpa->numpages << PAGE_SHIFT));
1542 cpa->numpages = ret;
1562 cpa->numpages = 1;
1569 * Also set numpages to '1' indicating that we processed cpa req for
1570 * one virtual address page and its pfn. TBD: numpages can be set based
1575 cpa->numpages = 1;
1640 cpa->numpages = 1;
1651 * return. cp->numpages and cpa->tlbflush have been updated in
1746 unsigned long numpages = cpa->numpages;
1747 unsigned long rempages = numpages;
1762 cpa->numpages = rempages;
1765 cpa->numpages = 1;
1786 BUG_ON(cpa->numpages > rempages || !cpa->numpages);
1787 rempages -= cpa->numpages;
1788 cpa->curpage += cpa->numpages;
1792 /* Restore the original numpages */
1793 cpa->numpages = numpages;
1797 static int change_page_attr_set_clr(unsigned long *addr, int numpages,
1819 for (i = 0; i < numpages; i++) {
1846 cpa.numpages = numpages;
1880 static inline int change_page_attr_set(unsigned long *addr, int numpages,
1883 return change_page_attr_set_clr(addr, numpages, mask, __pgprot(0), 0,
1887 static inline int change_page_attr_clear(unsigned long *addr, int numpages,
1890 return change_page_attr_set_clr(addr, numpages, __pgprot(0), mask, 0,
1894 static inline int cpa_set_pages_array(struct page **pages, int numpages,
1897 return change_page_attr_set_clr(NULL, numpages, mask, __pgprot(0), 0,
1901 static inline int cpa_clear_pages_array(struct page **pages, int numpages,
1904 return change_page_attr_set_clr(NULL, numpages, __pgprot(0), mask, 0,
1914 int __set_memory_prot(unsigned long addr, int numpages, pgprot_t prot)
1916 return change_page_attr_set_clr(&addr, numpages, prot,
1921 int _set_memory_uc(unsigned long addr, int numpages)
1929 return change_page_attr_set(&addr, numpages,
1934 int set_memory_uc(unsigned long addr, int numpages)
1941 ret = memtype_reserve(__pa(addr), __pa(addr) + numpages * PAGE_SIZE,
1946 ret = _set_memory_uc(addr, numpages);
1953 memtype_free(__pa(addr), __pa(addr) + numpages * PAGE_SIZE);
1959 int _set_memory_wc(unsigned long addr, int numpages)
1963 ret = change_page_attr_set(&addr, numpages,
1967 ret = change_page_attr_set_clr(&addr, numpages,
1975 int set_memory_wc(unsigned long addr, int numpages)
1979 ret = memtype_reserve(__pa(addr), __pa(addr) + numpages * PAGE_SIZE,
1984 ret = _set_memory_wc(addr, numpages);
1986 memtype_free(__pa(addr), __pa(addr) + numpages * PAGE_SIZE);
1992 int _set_memory_wt(unsigned long addr, int numpages)
1994 return change_page_attr_set(&addr, numpages,
1998 int _set_memory_wb(unsigned long addr, int numpages)
2001 return change_page_attr_clear(&addr, numpages,
2005 int set_memory_wb(unsigned long addr, int numpages)
2009 ret = _set_memory_wb(addr, numpages);
2013 memtype_free(__pa(addr), __pa(addr) + numpages * PAGE_SIZE);
2058 int set_memory_x(unsigned long addr, int numpages)
2063 return change_page_attr_clear(&addr, numpages, __pgprot(_PAGE_NX), 0);
2066 int set_memory_nx(unsigned long addr, int numpages)
2071 return change_page_attr_set(&addr, numpages, __pgprot(_PAGE_NX), 0);
2074 int set_memory_ro(unsigned long addr, int numpages)
2076 return change_page_attr_clear(&addr, numpages, __pgprot(_PAGE_RW | _PAGE_DIRTY), 0);
2079 int set_memory_rox(unsigned long addr, int numpages)
2086 return change_page_attr_clear(&addr, numpages, clr, 0);
2089 int set_memory_rw(unsigned long addr, int numpages)
2091 return change_page_attr_set(&addr, numpages, __pgprot(_PAGE_RW), 0);
2094 int set_memory_np(unsigned long addr, int numpages)
2096 return change_page_attr_clear(&addr, numpages, __pgprot(_PAGE_PRESENT), 0);
2099 int set_memory_np_noalias(unsigned long addr, int numpages)
2101 return change_page_attr_set_clr(&addr, numpages, __pgprot(0),
2106 int set_memory_p(unsigned long addr, int numpages)
2108 return change_page_attr_set(&addr, numpages, __pgprot(_PAGE_PRESENT), 0);
2111 int set_memory_4k(unsigned long addr, int numpages)
2113 return change_page_attr_set_clr(&addr, numpages, __pgprot(0),
2117 int set_memory_nonglobal(unsigned long addr, int numpages)
2119 return change_page_attr_clear(&addr, numpages,
2123 int set_memory_global(unsigned long addr, int numpages)
2125 return change_page_attr_set(&addr, numpages,
2133 static int __set_memory_enc_pgtable(unsigned long addr, int numpages, bool enc)
2145 cpa.numpages = numpages;
2159 if (!x86_platform.guest.enc_status_change_prepare(addr, numpages, enc))
2177 if (!x86_platform.guest.enc_status_change_finish(addr, numpages, enc))
2183 WARN_ONCE(1, "CPA VMM failure to convert memory (addr=%p, numpages=%d) to %s.\n",
2184 (void *)addr, numpages, enc ? "private" : "shared");
2189 static int __set_memory_enc_dec(unsigned long addr, int numpages, bool enc)
2192 return __set_memory_enc_pgtable(addr, numpages, enc);
2197 int set_memory_encrypted(unsigned long addr, int numpages)
2199 return __set_memory_enc_dec(addr, numpages, true);
2203 int set_memory_decrypted(unsigned long addr, int numpages)
2205 return __set_memory_enc_dec(addr, numpages, false);
2209 int set_pages_uc(struct page *page, int numpages)
2213 return set_memory_uc(addr, numpages);
2217 static int _set_pages_array(struct page **pages, int numpages,
2227 for (i = 0; i < numpages; i++) {
2240 ret = cpa_set_pages_array(pages, numpages,
2243 ret = change_page_attr_set_clr(NULL, numpages,
2263 int set_pages_array_uc(struct page **pages, int numpages)
2265 return _set_pages_array(pages, numpages, _PAGE_CACHE_MODE_UC_MINUS);
2269 int set_pages_array_wc(struct page **pages, int numpages)
2271 return _set_pages_array(pages, numpages, _PAGE_CACHE_MODE_WC);
2275 int set_pages_wb(struct page *page, int numpages)
2279 return set_memory_wb(addr, numpages);
2283 int set_pages_array_wb(struct page **pages, int numpages)
2291 retval = cpa_clear_pages_array(pages, numpages,
2296 for (i = 0; i < numpages; i++) {
2308 int set_pages_ro(struct page *page, int numpages)
2312 return set_memory_ro(addr, numpages);
2315 int set_pages_rw(struct page *page, int numpages)
2319 return set_memory_rw(addr, numpages);
2322 static int __set_pages_p(struct page *page, int numpages)
2327 .numpages = numpages,
2341 static int __set_pages_np(struct page *page, int numpages)
2346 .numpages = numpages,
2371 void __kernel_map_pages(struct page *page, int numpages, int enable)
2377 numpages * PAGE_SIZE);
2386 __set_pages_p(page, numpages);
2388 __set_pages_np(page, numpages);
2417 unsigned numpages, unsigned long page_flags)
2425 .numpages = numpages,
2454 unsigned long numpages)
2468 .numpages = numpages,