class PhysicalPageProvider

Defined at line 30 of file ../../zircon/kernel/vm/include/vm/physical_page_provider.h

Page provider implementation that provides requested loaned physical pages.

This is used by contiguous VMOs which have had pages decommitted, when the pages are again

committed. The reason we use a PageProvider for this is it lines up well with the pager model in

the sense that a page request can be processed while not holding the contiguous VMO's lock.

PhysicalPageProvider always operates async (similar to PagerProxy), because we'd like to (in

typical non-overlapping commit/decommit usage) have one batch that covers the entire commit,

regardless of the fact that some of the pages may already be free and therefore could be

immediately obtained. Quite often at least one page will be presently owned by a different

VMO, so we may as well always do one big async batch that deals with all the presently

non-FREE pages.

Public Methods

void PhysicalPageProvider (uint64_t size)

Defined at line 24 of file ../../zircon/kernel/vm/physical_page_provider.cc

void ~PhysicalPageProvider ()

Defined at line 26 of file ../../zircon/kernel/vm/physical_page_provider.cc

void Init (VmCowPages * cow_pages, PageSource * page_source, paddr_t phys_base)

Called shortly after construction, before any use.

Defined at line 60 of file ../../zircon/kernel/vm/physical_page_provider.cc