diff options
author | Christoph Lameter <clameter@sgi.com> | 2008-02-04 22:28:31 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-05 09:44:13 -0800 |
commit | 48667e7a43c1a1e0ba743f93ae946f8cb34ff2f9 (patch) | |
tree | b2fb79d16fbac46a859f8332cf95852b73839e07 /mm/memory.c | |
parent | eebd2aa355692afaf9906f62118620f1a1c19dbb (diff) | |
download | kernel-common-48667e7a43c1a1e0ba743f93ae946f8cb34ff2f9.tar.gz kernel-common-48667e7a43c1a1e0ba743f93ae946f8cb34ff2f9.tar.bz2 kernel-common-48667e7a43c1a1e0ba743f93ae946f8cb34ff2f9.zip |
Move vmalloc_to_page() to mm/vmalloc.
We already have page table manipulation for vmalloc in vmalloc.c. Move the
vmalloc_to_page() function there as well.
Move the definitions for vmalloc related functions in mm.h to a newly created
section. A better place would be vmalloc.h but mm.h is basic and may depend
on these functions. An alternative would be to include vmalloc.h in mm.h
(like done for vmstat.h).
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/memory.c')
-rw-r--r-- | mm/memory.c | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/mm/memory.c b/mm/memory.c index d902d0e25edc..1b8ca160f1d0 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -2618,46 +2618,6 @@ int make_pages_present(unsigned long addr, unsigned long end) return ret == len ? 0 : -1; } -/* - * Map a vmalloc()-space virtual address to the physical page. - */ -struct page * vmalloc_to_page(void * vmalloc_addr) -{ - unsigned long addr = (unsigned long) vmalloc_addr; - struct page *page = NULL; - pgd_t *pgd = pgd_offset_k(addr); - pud_t *pud; - pmd_t *pmd; - pte_t *ptep, pte; - - if (!pgd_none(*pgd)) { - pud = pud_offset(pgd, addr); - if (!pud_none(*pud)) { - pmd = pmd_offset(pud, addr); - if (!pmd_none(*pmd)) { - ptep = pte_offset_map(pmd, addr); - pte = *ptep; - if (pte_present(pte)) - page = pte_page(pte); - pte_unmap(ptep); - } - } - } - return page; -} - -EXPORT_SYMBOL(vmalloc_to_page); - -/* - * Map a vmalloc()-space virtual address to the physical page frame number. - */ -unsigned long vmalloc_to_pfn(void * vmalloc_addr) -{ - return page_to_pfn(vmalloc_to_page(vmalloc_addr)); -} - -EXPORT_SYMBOL(vmalloc_to_pfn); - #if !defined(__HAVE_ARCH_GATE_AREA) #if defined(AT_SYSINFO_EHDR) |