diff options
author | David S. Miller <davem@davemloft.net> | 2008-05-12 20:21:55 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-05-12 20:21:55 -0400 |
commit | faa6cfde747ba6d37a0889cbe85881c80806d355 (patch) | |
tree | 1236334ba2f343f790d338fc0c19c2b195d08eba /lib/lmb.c | |
parent | 4978db5bd964d90265f957f980ab2b0771ca2b9f (diff) |
lmb: Make lmb debugging more useful.
Having to muck with the build and set DEBUG just to
get lmb_dump_all() to print things isn't very useful.
So use pr_info() and use an early boot param
"lmb=debug" so we can simply ask users to reboot
with this option when we need some debugging from
them.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'lib/lmb.c')
-rw-r--r-- | lib/lmb.c | 33 |
1 files changed, 22 insertions, 11 deletions
@@ -19,31 +19,42 @@ | |||
19 | 19 | ||
20 | struct lmb lmb; | 20 | struct lmb lmb; |
21 | 21 | ||
22 | static int lmb_debug; | ||
23 | |||
24 | static int __init early_lmb(char *p) | ||
25 | { | ||
26 | if (p && strstr(p, "debug")) | ||
27 | lmb_debug = 1; | ||
28 | return 0; | ||
29 | } | ||
30 | early_param("lmb", early_lmb); | ||
31 | |||
22 | void lmb_dump_all(void) | 32 | void lmb_dump_all(void) |
23 | { | 33 | { |
24 | #ifdef DEBUG | ||
25 | unsigned long i; | 34 | unsigned long i; |
26 | 35 | ||
27 | pr_debug("lmb_dump_all:\n"); | 36 | if (!lmb_debug) |
28 | pr_debug(" memory.cnt = 0x%lx\n", lmb.memory.cnt); | 37 | return; |
29 | pr_debug(" memory.size = 0x%llx\n", | 38 | |
39 | pr_info("lmb_dump_all:\n"); | ||
40 | pr_info(" memory.cnt = 0x%lx\n", lmb.memory.cnt); | ||
41 | pr_info(" memory.size = 0x%llx\n", | ||
30 | (unsigned long long)lmb.memory.size); | 42 | (unsigned long long)lmb.memory.size); |
31 | for (i=0; i < lmb.memory.cnt ;i++) { | 43 | for (i=0; i < lmb.memory.cnt ;i++) { |
32 | pr_debug(" memory.region[0x%x].base = 0x%llx\n", | 44 | pr_info(" memory.region[0x%lx].base = 0x%llx\n", |
33 | i, (unsigned long long)lmb.memory.region[i].base); | 45 | i, (unsigned long long)lmb.memory.region[i].base); |
34 | pr_debug(" .size = 0x%llx\n", | 46 | pr_info(" .size = 0x%llx\n", |
35 | (unsigned long long)lmb.memory.region[i].size); | 47 | (unsigned long long)lmb.memory.region[i].size); |
36 | } | 48 | } |
37 | 49 | ||
38 | pr_debug(" reserved.cnt = 0x%lx\n", lmb.reserved.cnt); | 50 | pr_info(" reserved.cnt = 0x%lx\n", lmb.reserved.cnt); |
39 | pr_debug(" reserved.size = 0x%lx\n", lmb.reserved.size); | 51 | pr_info(" reserved.size = 0x%lx\n", lmb.reserved.size); |
40 | for (i=0; i < lmb.reserved.cnt ;i++) { | 52 | for (i=0; i < lmb.reserved.cnt ;i++) { |
41 | pr_debug(" reserved.region[0x%x].base = 0x%llx\n", | 53 | pr_info(" reserved.region[0x%lx].base = 0x%llx\n", |
42 | i, (unsigned long long)lmb.reserved.region[i].base); | 54 | i, (unsigned long long)lmb.reserved.region[i].base); |
43 | pr_debug(" .size = 0x%llx\n", | 55 | pr_info(" .size = 0x%llx\n", |
44 | (unsigned long long)lmb.reserved.region[i].size); | 56 | (unsigned long long)lmb.reserved.region[i].size); |
45 | } | 57 | } |
46 | #endif /* DEBUG */ | ||
47 | } | 58 | } |
48 | 59 | ||
49 | static unsigned long lmb_addrs_overlap(u64 base1, u64 size1, u64 base2, | 60 | static unsigned long lmb_addrs_overlap(u64 base1, u64 size1, u64 base2, |