ARM: 9246/1: dump: show page table level name
authorWang Kefeng <wangkefeng.wang@huawei.com>
Tue, 13 Sep 2022 04:25:52 +0000 (05:25 +0100)
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Tue, 4 Oct 2022 10:09:48 +0000 (11:09 +0100)
ARM could have 3 page table level if ARM_LPAE enabled, or only 2 page
table level, let's show the page table level name when dump.

Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
arch/arm/mm/dump.c

index d139392..7ab5652 100644 (file)
@@ -200,6 +200,7 @@ static const struct prot_bits section_bits[] = {
 };
 
 struct pg_level {
+       const char *name;
        const struct prot_bits *bits;
        size_t num;
        u64 mask;
@@ -213,9 +214,11 @@ static struct pg_level pg_level[] = {
        }, { /* p4d */
        }, { /* pud */
        }, { /* pmd */
+               .name   = (CONFIG_PGTABLE_LEVELS > 2) ? "PMD" : "PGD",
                .bits   = section_bits,
                .num    = ARRAY_SIZE(section_bits),
        }, { /* pte */
+               .name   = "PTE",
                .bits   = pte_bits,
                .num    = ARRAY_SIZE(pte_bits),
        },
@@ -282,7 +285,8 @@ static void note_page(struct pg_state *st, unsigned long addr,
                                delta >>= 10;
                                unit++;
                        }
-                       pt_dump_seq_printf(st->seq, "%9lu%c", delta, *unit);
+                       pt_dump_seq_printf(st->seq, "%9lu%c %s", delta, *unit,
+                                          pg_level[st->level].name);
                        if (st->current_domain)
                                pt_dump_seq_printf(st->seq, " %s",
                                                        st->current_domain);