Re: [PATCH] powerpc/mm: dump block address translation on book3s/32

From: Christophe LEROY
Date: Mon Dec 03 2018 - 12:44:02 EST




Le 16/11/2018 Ã 11:20, Michael Ellerman a ÃcritÂ:
Christophe LEROY <christophe.leroy@xxxxxx> writes:

Le 15/11/2018 Ã 12:46, Michael Ellerman a ÃcritÂ:
Christophe Leroy <christophe.leroy@xxxxxx> writes:

This patch adds a debugfs file to dump block address translation:

~# cat /sys/kernel/debug/block_address_translation

My instinct is it should be in /sys/kernel/debug/powerpc. But I guess
the other page table dump files are not.

Lol.

Looks like we have the same instinct ...

But you rejected my patch https://patchwork.ozlabs.org/patch/750426/ :)

Haha. My argument was that the kernel page table dump is not powerpc
specific, but this file *is* powerpc specific. Though I guess it's in
the same are as the page table / hash table dump, so it may as well live
next to them.

I see you took the first version in next-test. It doesn't handle the case of 64bits phys addresses. v3 does.

I just sent v4 which does to v3 the changes you did (__init and powerpc/ subdir)

Christophe


diff --git a/arch/powerpc/mm/Makefile b/arch/powerpc/mm/Makefile
index ca96e7be4d0e..2adad10b5856 100644
--- a/arch/powerpc/mm/Makefile
+++ b/arch/powerpc/mm/Makefile
@@ -47,7 +47,7 @@ ifdef CONFIG_PPC_PTDUMP
obj-$(CONFIG_4xx) += dump_linuxpagetables-generic.o
obj-$(CONFIG_PPC_8xx) += dump_linuxpagetables-8xx.o
obj-$(CONFIG_PPC_BOOK3E_MMU) += dump_linuxpagetables-generic.o
-obj-$(CONFIG_PPC_BOOK3S_32) += dump_linuxpagetables-generic.o
+obj-$(CONFIG_PPC_BOOK3S_32) += dump_linuxpagetables-generic.o dump_bats.o

BOOK3S_32 covers quite a lot of CPUs.

But below the only check is that you're on 601 or 603.

So is the 603 code going to work on all other BOOK3S_32 CPUs?

If I understand function setbat() correctly, it should.

See
https://elixir.bootlin.com/linux/v4.20-rc1/source/arch/powerpc/mm/ppc_mmu_32.c#L115
Tell me if you see something I missed.

I don't know those 32-bit CPUs at all, so as long as you've thought
about it that's good enough for me. We can catch bugs in testing anyway.

cheers