Commit 67bac792 authored by venkatesh.pallipadi@intel.com's avatar venkatesh.pallipadi@intel.com Committed by H. Peter Anvin

x86: PAT: pfnmap documentation update changes

Impact: Documentation only.

Documentation updates as per Randy Dunlap's comments.
Signed-off-by: default avatarVenkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
parent 34801ba9
...@@ -82,23 +82,23 @@ pci proc | -- | -- | WC | ...@@ -82,23 +82,23 @@ pci proc | -- | -- | WC |
Advanced APIs for drivers Advanced APIs for drivers
------------------------- -------------------------
A. Exporting pages to user with remap_pfn_range, io_remap_pfn_range, A. Exporting pages to users with remap_pfn_range, io_remap_pfn_range,
vm_insert_pfn vm_insert_pfn
Drivers wanting to export some pages to userspace, do it by using mmap Drivers wanting to export some pages to userspace do it by using mmap
interface and a combination of interface and a combination of
1) pgprot_noncached() 1) pgprot_noncached()
2) io_remap_pfn_range() or remap_pfn_range() or vm_insert_pfn() 2) io_remap_pfn_range() or remap_pfn_range() or vm_insert_pfn()
With pat support, a new API pgprot_writecombine is being added. So, driver can With PAT support, a new API pgprot_writecombine is being added. So, drivers can
continue to use the above sequence, with either pgprot_noncached() or continue to use the above sequence, with either pgprot_noncached() or
pgprot_writecombine() in step 1, followed by step 2. pgprot_writecombine() in step 1, followed by step 2.
In addition, step 2 internally tracks the region as UC or WC in memtype In addition, step 2 internally tracks the region as UC or WC in memtype
list in order to ensure no conflicting mapping. list in order to ensure no conflicting mapping.
Note that this set of APIs only work with IO (non RAM) regions. If driver Note that this set of APIs only works with IO (non RAM) regions. If driver
wants to export RAM region, it has to do set_memory_uc() or set_memory_wc() wants to export a RAM region, it has to do set_memory_uc() or set_memory_wc()
as step 0 above and also track the usage of those pages and use set_memory_wb() as step 0 above and also track the usage of those pages and use set_memory_wb()
before the page is freed to free pool. before the page is freed to free pool.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment