diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2007-06-04 15:15:35 +1000 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-06-14 22:29:56 +1000 |
commit | c19c03fc749147f565e807fa65f1729066800571 (patch) | |
tree | d5ba2eb6d43b5001c93c42523fc5b2431ef61664 /include/linux | |
parent | 3c8c90ab8810a8ebb38a5f1dde2595b750d5adff (diff) | |
download | linux-stable-c19c03fc749147f565e807fa65f1729066800571.tar.gz linux-stable-c19c03fc749147f565e807fa65f1729066800571.tar.bz2 linux-stable-c19c03fc749147f565e807fa65f1729066800571.zip |
[POWERPC] unmap_vm_area becomes unmap_kernel_range for the public
This makes unmap_vm_area static and a wrapper around a new
exported unmap_kernel_range that takes an explicit range instead
of a vm_area struct.
This makes it more versatile for code that wants to play with kernel
page tables outside of the standard vmalloc area.
(One example is some rework of the PowerPC PCI IO space mapping
code that depends on that patch and removes some code duplication
and horrible abuse of forged struct vm_struct).
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/vmalloc.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h index 4b7ee83787c1..132b260aef1e 100644 --- a/include/linux/vmalloc.h +++ b/include/linux/vmalloc.h @@ -65,9 +65,10 @@ extern struct vm_struct *get_vm_area_node(unsigned long size, unsigned long flags, int node, gfp_t gfp_mask); extern struct vm_struct *remove_vm_area(void *addr); + extern int map_vm_area(struct vm_struct *area, pgprot_t prot, struct page ***pages); -extern void unmap_vm_area(struct vm_struct *area); +extern void unmap_kernel_range(unsigned long addr, unsigned long size); /* * Internals. Dont't use.. |