Lines Matching refs:page

89  * Requests the Ultravisor to pin the page in the shared state. This will
90 * cause an intercept when the guest attempts to unshare the pinned page.
107 * Requests the Ultravisor to destroy a guest page and make it
108 * accessible to the host. The destroy clears the page instead of
111 * @paddr: Absolute host address of page to be destroyed
124 * page. Let us emulate the newer variant (no-op).
134 * The caller must already hold a reference to the page
138 struct page *page = phys_to_page(paddr);
141 get_page(page);
144 clear_bit(PG_arch_1, &page->flags);
145 put_page(page);
150 * Requests the Ultravisor to encrypt a guest page and make it
153 * @paddr: Absolute host address of page to be exported
169 * The caller must already hold a reference to the page
173 struct page *page = phys_to_page(paddr);
176 get_page(page);
179 clear_bit(PG_arch_1, &page->flags);
180 put_page(page);
250 * page cannot belong to the wrong VM in that case (there is no "other VM"
259 * shared page from a different protected VM will automatically also
270 * Requests the Ultravisor to make a page accessible to a guest.
338 * the page are on a different CPU.
379 * gmap_destroy_page - Destroy a guest page.
383 * An attempt will be made to destroy the given guest page. If the attempt
384 * fails, an attempt is made to export the page. If both attempts fail, an
391 struct page *page;
411 page = follow_page(vma, uaddr, FOLL_WRITE | FOLL_GET);
412 if (IS_ERR_OR_NULL(page))
414 rc = uv_destroy_owned_page(page_to_phys(page));
417 * on the same secure page. One CPU can destroy the page, reboot,
421 * the page. In that case we do not want to terminate the process,
422 * we instead try to export the page.
425 rc = uv_convert_owned_from_secure(page_to_phys(page));
426 put_page(page);
434 * To be called with the page locked or with an extra reference! This will
435 * prevent gmap_make_secure from touching the page concurrently. Having 2
437 * no-op if the page is already exported.
439 int arch_make_page_accessible(struct page *page)
444 if (PageHuge(page))
449 * 1. for kernel page tables during early boot
451 * 3. As an indication that this page might be secure. This can
456 if (!test_bit(PG_arch_1, &page->flags))
459 rc = uv_pin_shared(page_to_phys(page));
461 clear_bit(PG_arch_1, &page->flags);
465 rc = uv_convert_from_secure(page_to_phys(page));
467 clear_bit(PG_arch_1, &page->flags);