powerpc/ptdump: Fix display a BAT's size unit
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Fri, 26 Nov 2021 10:30:03 +0000 (11:30 +0100)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 29 Nov 2021 11:49:29 +0000 (22:49 +1100)
We have wrong units on BAT's sizes (G instead of M, M instead of ...)

---[ Instruction Block Address Translation ]---
0: 0xc0000000-0xc03fffff 0x00000000         4G Kernel   x     m
1: 0xc0400000-0xc05fffff 0x00400000         2G Kernel   x     m
2: 0xc0600000-0xc06fffff 0x00600000         1G Kernel   x     m
3: 0xc0700000-0xc077ffff 0x00700000       512M Kernel   x     m
4: 0xc0780000-0xc079ffff 0x00780000       128M Kernel   x     m
5: 0xc07a0000-0xc07bffff 0x007a0000       128M Kernel   x     m
6:         -
7:         -

This is because pt_dump_size() expects a size in Kbytes but
bat_show_603() gives the size in bytes.

To avoid risk of confusion, change pt_dump_size() to take bytes.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/f16c30f5c9185a63335322cf1a8b22f189d335ef.1637922595.git.christophe.leroy@csgroup.eu
arch/powerpc/mm/ptdump/ptdump.c

index bf25119..031956d 100644 (file)
@@ -123,7 +123,7 @@ static struct ptdump_range ptdump_range[] __ro_after_init = {
 
 void pt_dump_size(struct seq_file *m, unsigned long size)
 {
-       static const char units[] = "KMGTPE";
+       static const char units[] = " KMGTPE";
        const char *unit = units;
 
        /* Work out what appropriate unit to use */
@@ -176,7 +176,7 @@ static void dump_addr(struct pg_state *st, unsigned long addr)
 
        pt_dump_seq_printf(st->seq, REG "-" REG " ", st->start_address, addr - 1);
        pt_dump_seq_printf(st->seq, " " REG " ", st->start_pa);
-       pt_dump_size(st->seq, (addr - st->start_address) >> 10);
+       pt_dump_size(st->seq, addr - st->start_address);
 }
 
 static void note_prot_wx(struct pg_state *st, unsigned long addr)