[PATCH] unify pfn_to_page take3 [19/23] sparc64 pfn_to_page

From: KAMEZAWA Hiroyuki
Date: Tue Feb 14 2006 - 05:54:29 EST


sparc64 can use generic funcs.
CONFIG_OUT_OF_LINE_PFN_TO_PAGE is selected.

Signed-Off-By: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>


Index: testtree/arch/sparc64/Kconfig
===================================================================
--- testtree.orig/arch/sparc64/Kconfig
+++ testtree/arch/sparc64/Kconfig
@@ -34,6 +34,10 @@ config ARCH_MAY_HAVE_PC_FDC
bool
default y

+config OUT_OF_LINE_PFN_TO_PAGE
+ bool
+ default y
+
choice
prompt "Kernel page size"
default SPARC64_PAGE_SIZE_8KB
Index: testtree/arch/sparc64/mm/init.c
===================================================================
--- testtree.orig/arch/sparc64/mm/init.c
+++ testtree/arch/sparc64/mm/init.c
@@ -320,16 +320,6 @@ void __kprobes flush_icache_range(unsign
}
}

-unsigned long page_to_pfn(struct page *page)
-{
- return (unsigned long) ((page - mem_map) + pfn_base);
-}
-
-struct page *pfn_to_page(unsigned long pfn)
-{
- return (mem_map + (pfn - pfn_base));
-}
-
void show_mem(void)
{
printk("Mem-info:\n");
Index: testtree/include/asm-sparc64/page.h
===================================================================
--- testtree.orig/include/asm-sparc64/page.h
+++ testtree/include/asm-sparc64/page.h
@@ -129,8 +129,8 @@ typedef unsigned long pgprot_t;
* the first physical page in the machine is at some huge physical address,
* such as 4GB. This is common on a partitioned E10000, for example.
*/
-extern struct page *pfn_to_page(unsigned long pfn);
-extern unsigned long page_to_pfn(struct page *);
+/* pfn_base is declared in pgtable.h */
+#define ARCH_PFN_OFFSET (pfn_base)

#define virt_to_page(kaddr) pfn_to_page(__pa(kaddr)>>PAGE_SHIFT)

@@ -147,6 +147,7 @@ extern unsigned long page_to_pfn(struct

#endif /* !(__KERNEL__) */

+#include <asm-generic/memory_model.h>
#include <asm-generic/page.h>

#endif /* !(_SPARC64_PAGE_H) */

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/