|
@@ -19,31 +19,42 @@
|
|
|
|
|
|
struct lmb lmb;
|
|
|
|
|
|
+static int lmb_debug;
|
|
|
+
|
|
|
+static int __init early_lmb(char *p)
|
|
|
+{
|
|
|
+ if (p && strstr(p, "debug"))
|
|
|
+ lmb_debug = 1;
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+early_param("lmb", early_lmb);
|
|
|
+
|
|
|
void lmb_dump_all(void)
|
|
|
{
|
|
|
-#ifdef DEBUG
|
|
|
unsigned long i;
|
|
|
|
|
|
- pr_debug("lmb_dump_all:\n");
|
|
|
- pr_debug(" memory.cnt = 0x%lx\n", lmb.memory.cnt);
|
|
|
- pr_debug(" memory.size = 0x%llx\n",
|
|
|
+ if (!lmb_debug)
|
|
|
+ return;
|
|
|
+
|
|
|
+ pr_info("lmb_dump_all:\n");
|
|
|
+ pr_info(" memory.cnt = 0x%lx\n", lmb.memory.cnt);
|
|
|
+ pr_info(" memory.size = 0x%llx\n",
|
|
|
(unsigned long long)lmb.memory.size);
|
|
|
for (i=0; i < lmb.memory.cnt ;i++) {
|
|
|
- pr_debug(" memory.region[0x%x].base = 0x%llx\n",
|
|
|
+ pr_info(" memory.region[0x%lx].base = 0x%llx\n",
|
|
|
i, (unsigned long long)lmb.memory.region[i].base);
|
|
|
- pr_debug(" .size = 0x%llx\n",
|
|
|
+ pr_info(" .size = 0x%llx\n",
|
|
|
(unsigned long long)lmb.memory.region[i].size);
|
|
|
}
|
|
|
|
|
|
- pr_debug(" reserved.cnt = 0x%lx\n", lmb.reserved.cnt);
|
|
|
- pr_debug(" reserved.size = 0x%lx\n", lmb.reserved.size);
|
|
|
+ pr_info(" reserved.cnt = 0x%lx\n", lmb.reserved.cnt);
|
|
|
+ pr_info(" reserved.size = 0x%lx\n", lmb.reserved.size);
|
|
|
for (i=0; i < lmb.reserved.cnt ;i++) {
|
|
|
- pr_debug(" reserved.region[0x%x].base = 0x%llx\n",
|
|
|
+ pr_info(" reserved.region[0x%lx].base = 0x%llx\n",
|
|
|
i, (unsigned long long)lmb.reserved.region[i].base);
|
|
|
- pr_debug(" .size = 0x%llx\n",
|
|
|
+ pr_info(" .size = 0x%llx\n",
|
|
|
(unsigned long long)lmb.reserved.region[i].size);
|
|
|
}
|
|
|
-#endif /* DEBUG */
|
|
|
}
|
|
|
|
|
|
static unsigned long lmb_addrs_overlap(u64 base1, u64 size1, u64 base2,
|