Lines Matching defs:page

5  * Guest page hinting for unused pages.
18 #include <asm/page-states.h>
60 static inline unsigned char get_page_state(struct page *page)
66 : "a" (page_to_phys(page)),
71 static inline void set_page_unused(struct page *page, int order)
78 : "a" (page_to_phys(page + i)),
82 static inline void set_page_stable_dat(struct page *page, int order)
89 : "a" (page_to_phys(page + i)),
93 static inline void set_page_stable_nodat(struct page *page, int order)
100 : "a" (page_to_phys(page + i)),
107 struct page *page;
115 page = phys_to_page(pmd_val(*pmd));
116 set_bit(PG_arch_1, &page->flags);
123 struct page *page;
133 page = phys_to_page(pud_val(*pud));
135 set_bit(PG_arch_1, &page[i].flags);
144 struct page *page;
154 page = phys_to_page(p4d_val(*p4d));
156 set_bit(PG_arch_1, &page[i].flags);
165 struct page *page;
176 page = phys_to_page(pgd_val(*pgd));
178 set_bit(PG_arch_1, &page[i].flags);
186 struct page *page;
192 /* Mark pages used in kernel page tables */
195 /* Set all kernel pages not used for page tables to stable/no-dat */
197 page = pfn_to_page(start);
198 for (ix = start; ix < end; ix++, page++) {
199 if (__test_and_clear_bit(PG_arch_1, &page->flags))
200 continue; /* skip page table pages */
201 if (!list_empty(&page->lru))
203 set_page_stable_nodat(page, 0);
208 void arch_free_page(struct page *page, int order)
212 set_page_unused(page, order);
215 void arch_alloc_page(struct page *page, int order)
220 set_page_stable_dat(page, order);
222 set_page_stable_nodat(page, order);
225 void arch_set_page_dat(struct page *page, int order)
229 set_page_stable_dat(page, order);
232 void arch_set_page_nodat(struct page *page, int order)
236 set_page_stable_nodat(page, order);
239 int arch_test_page_nodat(struct page *page)
245 state = get_page_state(page);
253 struct page *page;
264 page = list_entry(l, struct page, lru);
266 set_page_stable_dat(page, order);
268 set_page_unused(page, order);