aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Slaby <jirislaby@gmail.com>2008-06-12 07:56:40 -0400
committerIngo Molnar <mingo@elte.hu>2008-06-19 07:32:22 -0400
commita1bf9631be7332ce0641e299ddafad2d8223100f (patch)
tree546bd807a5b4ad5adb406f2abc346171ccccace2
parent59ea746337c69f6a5f1bc4d5e8544b3cbf12f801 (diff)
x86, MM: virtual address debug, v2
I've removed the test from phys_to_nid and made a function from __phys_addr only when the debugging is enabled (on x86_32). Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Cc: tglx@linutronix.de Cc: hpa@zytor.com Cc: Mike Travis <travis@sgi.com> Cc: Nick Piggin <nickpiggin@yahoo.com.au> Cc: <x86@kernel.org> Cc: linux-mm@kvack.org Cc: Jiri Slaby <jirislaby@gmail.com> Cc: Andi Kleen <andi@firstfloor.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/x86/mm/ioremap.c2
-rw-r--r--include/asm-x86/mmzone_64.h1
-rw-r--r--include/asm-x86/page_32.h4
3 files changed, 6 insertions, 1 deletions
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
index a78ffef62a2b..9dd3cb905971 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -51,6 +51,7 @@ static inline int phys_addr_valid(unsigned long addr)
51 return 1; 51 return 1;
52} 52}
53 53
54#ifdef CONFIG_DEBUG_VIRTUAL
54unsigned long __phys_addr(unsigned long x) 55unsigned long __phys_addr(unsigned long x)
55{ 56{
56 /* VMALLOC_* aren't constants; not available at the boot time */ 57 /* VMALLOC_* aren't constants; not available at the boot time */
@@ -59,6 +60,7 @@ unsigned long __phys_addr(unsigned long x)
59 return x - PAGE_OFFSET; 60 return x - PAGE_OFFSET;
60} 61}
61EXPORT_SYMBOL(__phys_addr); 62EXPORT_SYMBOL(__phys_addr);
63#endif
62 64
63#endif 65#endif
64 66
diff --git a/include/asm-x86/mmzone_64.h b/include/asm-x86/mmzone_64.h
index facde3e5314f..5e3a6cbddb49 100644
--- a/include/asm-x86/mmzone_64.h
+++ b/include/asm-x86/mmzone_64.h
@@ -29,7 +29,6 @@ static inline __attribute__((pure)) int phys_to_nid(unsigned long addr)
29{ 29{
30 unsigned nid; 30 unsigned nid;
31 VIRTUAL_BUG_ON(!memnodemap); 31 VIRTUAL_BUG_ON(!memnodemap);
32 VIRTUAL_BUG_ON((addr >> memnode_shift) >= memnodemapsize);
33 nid = memnodemap[addr >> memnode_shift]; 32 nid = memnodemap[addr >> memnode_shift];
34 VIRTUAL_BUG_ON(nid >= MAX_NUMNODES || !node_data[nid]); 33 VIRTUAL_BUG_ON(nid >= MAX_NUMNODES || !node_data[nid]);
35 return nid; 34 return nid;
diff --git a/include/asm-x86/page_32.h b/include/asm-x86/page_32.h
index 9159bfb9dcf9..71a2e424e584 100644
--- a/include/asm-x86/page_32.h
+++ b/include/asm-x86/page_32.h
@@ -65,7 +65,11 @@ typedef struct page *pgtable_t;
65 65
66#ifndef __ASSEMBLY__ 66#ifndef __ASSEMBLY__
67#define __phys_addr_const(x) ((x) - PAGE_OFFSET) 67#define __phys_addr_const(x) ((x) - PAGE_OFFSET)
68#ifdef CONFIG_DEBUG_VIRTUAL
68extern unsigned long __phys_addr(unsigned long); 69extern unsigned long __phys_addr(unsigned long);
70#else
71#define __phys_addr(x) ((x) - PAGE_OFFSET)
72#endif
69#define __phys_reloc_hide(x) RELOC_HIDE((x), 0) 73#define __phys_reloc_hide(x) RELOC_HIDE((x), 0)
70 74
71#ifdef CONFIG_FLATMEM 75#ifdef CONFIG_FLATMEM