Skip to content

Commit

Permalink
x86: PAT: update documentation to cover pgprot and remap_pfn related …
Browse files Browse the repository at this point in the history
…changes - v3

Impact: Documentation only.

Add documentation related to pgprot_* change.

Signed-off-by: Venkatesh Pallipadi <[email protected]>
Signed-off-by: Suresh Siddha <[email protected]>
Signed-off-by: H. Peter Anvin <[email protected]>
  • Loading branch information
[email protected] authored and H. Peter Anvin committed Dec 18, 2008
1 parent 2520bd3 commit a2ced6e
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions Documentation/x86/pat.txt
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,30 @@ pci proc | -- | -- | WC |
| | | |
-------------------------------------------------------------------

Advanced APIs for drivers
-------------------------
A. Exporting pages to user with remap_pfn_range, io_remap_pfn_range,
vm_insert_pfn

Drivers wanting to export some pages to userspace, do it by using mmap
interface and a combination of
1) pgprot_noncached()
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
continue to use the above sequence, with either pgprot_noncached() or
pgprot_writecombine() in step 1, followed by step 2.

In addition, step 2 internally tracks the region as UC or WC in memtype
list in order to ensure no conflicting mapping.

Note that this set of APIs only work with IO (non RAM) regions. If driver
wants to export 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()
before the page is freed to free pool.



Notes:

-- in the above table mean "Not suggested usage for the API". Some of the --'s
Expand Down

0 comments on commit a2ced6e

Please sign in to comment.