Skip to content

Commit

Permalink
powerpc/ptdump: drop non vital #ifdefs
Browse files Browse the repository at this point in the history
hashpagetable.c is only compiled when CONFIG_PPC_BOOK3S_64 is
defined, so drop the test and its 'else' branch.

Use IS_ENABLED(CONFIG_PPC_PSERIES) instead of #ifdef, this allows the
code to be checked at any build. It is still optimised out by GCC.

Use IS_ENABLED(CONFIG_PPC_64K_PAGES) instead of #ifdef.

Use IS_ENABLED(CONFIG_SPARSEMEN_VMEMMAP) instead of #ifdef.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/c8998ed32e4e3954b56a8dacecfe43319a2a0483.1565786091.git.christophe.leroy@c-s.fr
  • Loading branch information
Christophe Leroy authored and Michael Ellerman committed Aug 20, 2019
1 parent f3a2ac0 commit 65e701b
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 15 deletions.
6 changes: 6 additions & 0 deletions arch/powerpc/include/asm/plpar_wrappers.h
Original file line number Diff line number Diff line change
Expand Up @@ -340,6 +340,12 @@ static inline long plpar_set_ciabr(unsigned long ciabr)
{
return 0;
}

static inline long plpar_pte_read_4(unsigned long flags, unsigned long ptex,
unsigned long *ptes)
{
return 0;
}
#endif /* CONFIG_PPC_PSERIES */

#endif /* _ASM_POWERPC_PLPAR_WRAPPERS_H */
24 changes: 9 additions & 15 deletions arch/powerpc/mm/ptdump/hashpagetable.c
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,6 @@ static int native_find(unsigned long ea, int psize, bool primary, u64 *v, u64
return -1;
}

#ifdef CONFIG_PPC_PSERIES
static int pseries_find(unsigned long ea, int psize, bool primary, u64 *v, u64 *r)
{
struct hash_pte ptes[4];
Expand Down Expand Up @@ -274,7 +273,6 @@ static int pseries_find(unsigned long ea, int psize, bool primary, u64 *v, u64 *
}
return -1;
}
#endif

static void decode_r(int bps, unsigned long r, unsigned long *rpn, int *aps,
unsigned long *lp_bits)
Expand Down Expand Up @@ -316,10 +314,9 @@ static void decode_r(int bps, unsigned long r, unsigned long *rpn, int *aps,
static int base_hpte_find(unsigned long ea, int psize, bool primary, u64 *v,
u64 *r)
{
#ifdef CONFIG_PPC_PSERIES
if (firmware_has_feature(FW_FEATURE_LPAR))
if (IS_ENABLED(CONFIG_PPC_PSERIES) && firmware_has_feature(FW_FEATURE_LPAR))
return pseries_find(ea, psize, primary, v, r);
#endif

return native_find(ea, psize, primary, v, r);
}

Expand Down Expand Up @@ -386,12 +383,13 @@ static void walk_pte(struct pg_state *st, pmd_t *pmd, unsigned long start)
psize = mmu_vmalloc_psize;
else
psize = mmu_io_psize;
#ifdef CONFIG_PPC_64K_PAGES

/* check for secret 4K mappings */
if (((pteval & H_PAGE_COMBO) == H_PAGE_COMBO) ||
((pteval & H_PAGE_4K_PFN) == H_PAGE_4K_PFN))
if (IS_ENABLED(CONFIG_PPC_64K_PAGES) &&
((pteval & H_PAGE_COMBO) == H_PAGE_COMBO ||
(pteval & H_PAGE_4K_PFN) == H_PAGE_4K_PFN))
psize = mmu_io_psize;
#endif

/* check for hashpte */
status = hpte_find(st, addr, psize);

Expand Down Expand Up @@ -469,9 +467,10 @@ static void walk_linearmapping(struct pg_state *st)

static void walk_vmemmap(struct pg_state *st)
{
#ifdef CONFIG_SPARSEMEM_VMEMMAP
struct vmemmap_backing *ptr = vmemmap_list;

if (!IS_ENABLED(CONFIG_SPARSEMEM_VMEMMAP))
return;
/*
* Traverse the vmemmaped memory and dump pages that are in the hash
* pagetable.
Expand All @@ -481,7 +480,6 @@ static void walk_vmemmap(struct pg_state *st)
ptr = ptr->list;
}
seq_puts(st->seq, "---[ vmemmap end ]---\n");
#endif
}

static void populate_markers(void)
Expand All @@ -495,11 +493,7 @@ static void populate_markers(void)
address_markers[6].start_address = PHB_IO_END;
address_markers[7].start_address = IOREMAP_BASE;
address_markers[8].start_address = IOREMAP_END;
#ifdef CONFIG_PPC_BOOK3S_64
address_markers[9].start_address = H_VMEMMAP_START;
#else
address_markers[9].start_address = VMEMMAP_BASE;
#endif
}

static int ptdump_show(struct seq_file *m, void *v)
Expand Down

0 comments on commit 65e701b

Please sign in to comment.