vm_insert_pfn_prot — insert single pfn into user vma with specified pgprot
|struct vm_area_struct * vma,|
|unsigned long addr,|
|unsigned long pfn,|
struct vm_area_struct * vma
user vma to map to
unsigned long addr
target user address of this page
unsigned long pfn
source kernel pfn
pgprot flags for the inserted page
This is exactly like vm_insert_pfn, except that it allows drivers to to override pgprot on a per-page basis.
This only makes sense for IO mappings, and it makes no sense for cow mappings. In general, using multiple vmas is preferable; vm_insert_pfn_prot should only be used if using multiple VMAs is impractical.