powerpc/mm: Fix page table dump build on non-Book3S
authorMichael Ellerman <mpe@ellerman.id.au>
Wed, 30 Nov 2016 08:41:02 +0000 (19:41 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 1 Dec 2016 05:20:18 +0000 (16:20 +1100)
In the recent commit 1515ab932156 ("powerpc/mm: Dump hash table") we
added code to dump the hage page table. Currently this can be selected
to build on any platform. However it breaks the build if we're building
for a non-Book3S platform, because none of the hash page table related
defines and so on exist. So restrict it to building only on Book3S.

Similarly in commit 8eb07b187000 ("powerpc/mm: Dump linux pagetables")
we added code to dump the Linux page tables, which uses some constants
which are only defined on Book3S - so guard those with an #ifdef.

Fixes: 1515ab932156 ("powerpc/mm: Dump hash table")
Fixes: 8eb07b187000 ("powerpc/mm: Dump linux pagetables")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/Kconfig.debug
arch/powerpc/mm/Makefile
arch/powerpc/mm/dump_linuxpagetables.c

index 20cf770611ec4a9b136a5ccf4eced60b04f48224..949258d412d07193d72bcdc0c253fc500c3bd086 100644 (file)
@@ -366,4 +366,8 @@ config PPC_PTDUMP
 
          If you are unsure, say N.
 
+config PPC_HTDUMP
+       def_bool y
+       depends on PPC_PTDUMP && PPC_BOOK3S
+
 endmenu
index f4ffe1f68ce9b667127fcbf7a71433bbf5d3d06b..5784682d7b63bfb1d15c7d3213646360775e5b28 100644 (file)
@@ -42,5 +42,5 @@ obj-$(CONFIG_NOT_COHERENT_CACHE) += dma-noncoherent.o
 obj-$(CONFIG_HIGHMEM)          += highmem.o
 obj-$(CONFIG_PPC_COPRO_BASE)   += copro_fault.o
 obj-$(CONFIG_SPAPR_TCE_IOMMU)  += mmu_context_iommu.o
-obj-$(CONFIG_PPC_PTDUMP)       += dump_linuxpagetables.o \
-                                  dump_hashpagetable.o
+obj-$(CONFIG_PPC_PTDUMP)       += dump_linuxpagetables.o
+obj-$(CONFIG_PPC_HTDUMP)       += dump_hashpagetable.o
index d242bc79ae642c7dd9435a5f9b1c91b24826bb5a..49abaf4dc8e3a602ba6ea565cf940fbfddfb770a 100644 (file)
@@ -159,6 +159,7 @@ static const struct flag_info flag_array[] = {
                .set    = "no cache",
                .clear  = "        ",
        }, {
+#ifdef CONFIG_PPC_BOOK3S_64
                .mask   = H_PAGE_BUSY,
                .val    = H_PAGE_BUSY,
                .set    = "busy",
@@ -183,6 +184,7 @@ static const struct flag_info flag_array[] = {
                .val    = H_PAGE_F_SECOND,
                .set    = "f_second",
        }, {
+#endif
                .mask   = _PAGE_SPECIAL,
                .val    = _PAGE_SPECIAL,
                .set    = "special",