diff options
author | Jiri Slaby <jirislaby@gmail.com> | 2008-06-12 07:56:40 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-06-19 07:32:22 -0400 |
commit | a1bf9631be7332ce0641e299ddafad2d8223100f (patch) | |
tree | 546bd807a5b4ad5adb406f2abc346171ccccace2 | |
parent | 59ea746337c69f6a5f1bc4d5e8544b3cbf12f801 (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.c | 2 | ||||
-rw-r--r-- | include/asm-x86/mmzone_64.h | 1 | ||||
-rw-r--r-- | include/asm-x86/page_32.h | 4 |
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 | ||
54 | unsigned long __phys_addr(unsigned long x) | 55 | unsigned 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 | } |
61 | EXPORT_SYMBOL(__phys_addr); | 62 | EXPORT_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 | ||
68 | extern unsigned long __phys_addr(unsigned long); | 69 | extern 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 |