Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c37682d9 authored by Michael Ellerman's avatar Michael Ellerman Committed by Benjamin Herrenschmidt
Browse files

lmb: Rework lmb_dump_all() output



The lmb_dump_all() output didn't include the RMO size, which is
interesting on powerpc. The output was also a bit spacey and not well
aligned, and didn't show you the end addresses.

Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 059f134f
Loading
Loading
Loading
Loading
+21 −21
Original line number Diff line number Diff line
@@ -29,33 +29,33 @@ static int __init early_lmb(char *p)
}
early_param("lmb", early_lmb);

void lmb_dump_all(void)
static void lmb_dump(struct lmb_region *region, char *name)
{
	unsigned long i;
	unsigned long long base, size;
	int i;

	pr_info(" %s.cnt  = 0x%lx\n", name, region->cnt);

	for (i = 0; i < region->cnt; i++) {
		base = region->region[i].base;
		size = region->region[i].size;

		pr_info(" %s[0x%x]\t0x%016llx - 0x%016llx, 0x%llx bytes\n",
		    name, i, base, base + size - 1, size);
	}
}

void lmb_dump_all(void)
{
	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_info("    memory.region[0x%lx].base       = 0x%llx\n",
		    i, (unsigned long long)lmb.memory.region[i].base);
		pr_info("		      .size     = 0x%llx\n",
		    (unsigned long long)lmb.memory.region[i].size);
	}
	pr_info("LMB configuration:\n");
	pr_info(" rmo_size    = 0x%llx\n", (unsigned long long)lmb.rmo_size);
	pr_info(" memory.size = 0x%llx\n", (unsigned long long)lmb.memory.size);

	pr_info("    reserved.cnt	  = 0x%lx\n", lmb.reserved.cnt);
	pr_info("    reserved.size	  = 0x%llx\n",
	    (unsigned long long)lmb.memory.size);
	for (i=0; i < lmb.reserved.cnt ;i++) {
		pr_info("    reserved.region[0x%lx].base       = 0x%llx\n",
		    i, (unsigned long long)lmb.reserved.region[i].base);
		pr_info("		      .size     = 0x%llx\n",
		    (unsigned long long)lmb.reserved.region[i].size);
	}
	lmb_dump(&lmb.memory, "memory");
	lmb_dump(&lmb.reserved, "reserved");
}

static unsigned long lmb_addrs_overlap(u64 base1, u64 size1, u64 base2,