Commit 6deb6b47 authored by Michael Ellerman's avatar Michael Ellerman

powerpc/mm/radix: Prettify mapped memory range print out

When we map memory at boot we print out the ranges of real addresses
that we mapped and the page size that was used.

Currently it's a bit ugly:

  Mapped range 0x0 - 0x2000000000 with 0x40000000
  Mapped range 0x200000000000 - 0x202000000000 with 0x40000000

Pad the addresses so they line up, and print the page size using
actual units, eg:

  Mapped 0x0000000000000000-0x0000000001200000 with 64.0 KiB pages
  Mapped 0x0000000001200000-0x0000000040000000 with 2.00 MiB pages
  Mapped 0x0000000040000000-0x0000000100000000 with 1.00 GiB pages
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent bd350f71
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include <linux/memblock.h> #include <linux/memblock.h>
#include <linux/of_fdt.h> #include <linux/of_fdt.h>
#include <linux/mm.h> #include <linux/mm.h>
#include <linux/string_helpers.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
#include <asm/pgalloc.h> #include <asm/pgalloc.h>
...@@ -187,10 +188,14 @@ static inline void __meminit print_mapping(unsigned long start, ...@@ -187,10 +188,14 @@ static inline void __meminit print_mapping(unsigned long start,
unsigned long end, unsigned long end,
unsigned long size) unsigned long size)
{ {
char buf[10];
if (end <= start) if (end <= start)
return; return;
pr_info("Mapped range 0x%lx - 0x%lx with 0x%lx\n", start, end, size); string_get_size(size, 1, STRING_UNITS_2, buf, sizeof(buf));
pr_info("Mapped 0x%016lx-0x%016lx with %s pages\n", start, end, buf);
} }
static int __meminit create_physical_mapping(unsigned long start, static int __meminit create_physical_mapping(unsigned long start,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment