On 01/03/18 02:18 PM, Jerome Glisse wrote:
This is pretty easy to do with HMM:
unsigned long hmm_page_to_phys_pfn(struct page *page)
This is not useful unless you
want to go through all the kernel paths we
are using and replace page_to_phys() and friends with something else
that calls an HMM function when appropriate...
The problem isn't getting the physical address from a page, it's that we
are passing these pages through various kernel interfaces which expect
pages that work in the usual manner. (Look at the code: we quite simply
provide a way to get the PCI bus address from a page when necessary).