Commit 4a567582 authored by WANG Cong's avatar WANG Cong Committed by Linus Torvalds

arch/um/kernel/mem.c: remove arch_validate()

- Remove arch_validate(), because no one uses it.

- Remove useless macro HAVE_ARCH_VALIDATE.

- Make the variable 'empty_bad_page' static.

Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: default avatarWANG Cong <wangcong@zeuux.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 4c182ae7
...@@ -18,7 +18,6 @@ EXPORT_SYMBOL(get_signals); ...@@ -18,7 +18,6 @@ EXPORT_SYMBOL(get_signals);
EXPORT_SYMBOL(kernel_thread); EXPORT_SYMBOL(kernel_thread);
EXPORT_SYMBOL(sys_waitpid); EXPORT_SYMBOL(sys_waitpid);
EXPORT_SYMBOL(flush_tlb_range); EXPORT_SYMBOL(flush_tlb_range);
EXPORT_SYMBOL(arch_validate);
EXPORT_SYMBOL(high_physmem); EXPORT_SYMBOL(high_physmem);
EXPORT_SYMBOL(empty_zero_page); EXPORT_SYMBOL(empty_zero_page);
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
/* allocated in paging_init, zeroed in mem_init, and unchanged thereafter */ /* allocated in paging_init, zeroed in mem_init, and unchanged thereafter */
unsigned long *empty_zero_page = NULL; unsigned long *empty_zero_page = NULL;
/* allocated in paging_init and unchanged thereafter */ /* allocated in paging_init and unchanged thereafter */
unsigned long *empty_bad_page = NULL; static unsigned long *empty_bad_page = NULL;
/* /*
* Initialized during boot, and readonly for initializing page tables * Initialized during boot, and readonly for initializing page tables
...@@ -240,37 +240,6 @@ void __init paging_init(void) ...@@ -240,37 +240,6 @@ void __init paging_init(void)
#endif #endif
} }
struct page *arch_validate(struct page *page, gfp_t mask, int order)
{
unsigned long addr, zero = 0;
int i;
again:
if (page == NULL)
return page;
if (PageHighMem(page))
return page;
addr = (unsigned long) page_address(page);
for (i = 0; i < (1 << order); i++) {
current->thread.fault_addr = (void *) addr;
if (__do_copy_to_user((void __user *) addr, &zero,
sizeof(zero),
&current->thread.fault_addr,
&current->thread.fault_catcher)) {
if (!(mask & __GFP_WAIT))
return NULL;
else break;
}
addr += PAGE_SIZE;
}
if (i == (1 << order))
return page;
page = alloc_pages(mask, order);
goto again;
}
/* /*
* This can't do anything because nothing in the kernel image can be freed * This can't do anything because nothing in the kernel image can be freed
* since it's not in kernel physical memory. * since it's not in kernel physical memory.
......
...@@ -115,9 +115,6 @@ extern unsigned long uml_physmem; ...@@ -115,9 +115,6 @@ extern unsigned long uml_physmem;
#define pfn_valid(pfn) ((pfn) < max_mapnr) #define pfn_valid(pfn) ((pfn) < max_mapnr)
#define virt_addr_valid(v) pfn_valid(phys_to_pfn(__pa(v))) #define virt_addr_valid(v) pfn_valid(phys_to_pfn(__pa(v)))
extern struct page *arch_validate(struct page *page, gfp_t mask, int order);
#define HAVE_ARCH_VALIDATE
#include <asm-generic/memory_model.h> #include <asm-generic/memory_model.h>
#include <asm-generic/page.h> #include <asm-generic/page.h>
......
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