[PATCH v5 17/22] powerpc/mm: Move pgtable_t into platform headers
Aneesh Kumar K.V
aneesh.kumar at linux.ibm.com
Wed Sep 26 12:44:34 AEST 2018
Christophe Leroy <christophe.leroy at c-s.fr> writes:
> This patch move pgtable_t into platform headers.
>
> It gets rid of the CONFIG_PPC_64K_PAGES case for PPC64
> as nohash/64 doesn't support CONFIG_PPC_64K_PAGES.
>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar at linux.ibm.com>
> Signed-off-by: Christophe Leroy <christophe.leroy at c-s.fr>
> ---
> arch/powerpc/include/asm/book3s/32/mmu-hash.h | 2 ++
> arch/powerpc/include/asm/book3s/64/mmu.h | 9 +++++++++
> arch/powerpc/include/asm/nohash/32/mmu.h | 4 ++++
> arch/powerpc/include/asm/nohash/64/mmu.h | 4 ++++
> arch/powerpc/include/asm/page.h | 14 --------------
> 5 files changed, 19 insertions(+), 14 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/book3s/32/mmu-hash.h b/arch/powerpc/include/asm/book3s/32/mmu-hash.h
> index e38c91388c40..5bd26c218b94 100644
> --- a/arch/powerpc/include/asm/book3s/32/mmu-hash.h
> +++ b/arch/powerpc/include/asm/book3s/32/mmu-hash.h
> @@ -42,6 +42,8 @@ struct ppc_bat {
> u32 batu;
> u32 batl;
> };
> +
> +typedef struct page *pgtable_t;
> #endif /* !__ASSEMBLY__ */
>
> /*
> diff --git a/arch/powerpc/include/asm/book3s/64/mmu.h b/arch/powerpc/include/asm/book3s/64/mmu.h
> index 9c8c669a6b6a..488e7ed07e96 100644
> --- a/arch/powerpc/include/asm/book3s/64/mmu.h
> +++ b/arch/powerpc/include/asm/book3s/64/mmu.h
> @@ -2,6 +2,8 @@
> #ifndef _ASM_POWERPC_BOOK3S_64_MMU_H_
> #define _ASM_POWERPC_BOOK3S_64_MMU_H_
>
> +#include <asm/page.h>
> +
> #ifndef __ASSEMBLY__
> /*
> * Page size definition
> @@ -24,6 +26,13 @@ struct mmu_psize_def {
> };
> extern struct mmu_psize_def mmu_psize_defs[MMU_PAGE_COUNT];
>
> +/*
> + * For BOOK3s 64 with 4k and 64K linux page size
> + * we want to use pointers, because the page table
> + * actually store pfn
> + */
> +typedef pte_t *pgtable_t;
> +
> #endif /* __ASSEMBLY__ */
>
> /* 64-bit classic hash table MMU */
> diff --git a/arch/powerpc/include/asm/nohash/32/mmu.h b/arch/powerpc/include/asm/nohash/32/mmu.h
> index af0e8b54876a..f61f933a4cd8 100644
> --- a/arch/powerpc/include/asm/nohash/32/mmu.h
> +++ b/arch/powerpc/include/asm/nohash/32/mmu.h
> @@ -16,4 +16,8 @@
> #include <asm/nohash/32/mmu-8xx.h>
> #endif
>
> +#ifndef __ASSEMBLY__
> +typedef struct page *pgtable_t;
> +#endif
> +
> #endif /* _ASM_POWERPC_NOHASH_32_MMU_H_ */
> diff --git a/arch/powerpc/include/asm/nohash/64/mmu.h b/arch/powerpc/include/asm/nohash/64/mmu.h
> index 87871d027b75..e6585480dfc4 100644
> --- a/arch/powerpc/include/asm/nohash/64/mmu.h
> +++ b/arch/powerpc/include/asm/nohash/64/mmu.h
> @@ -5,4 +5,8 @@
> /* Freescale Book-E software loaded TLB or Book-3e (ISA 2.06+) MMU */
> #include <asm/nohash/mmu-book3e.h>
>
> +#ifndef __ASSEMBLY__
> +typedef struct page *pgtable_t;
> +#endif
> +
> #endif /* _ASM_POWERPC_NOHASH_64_MMU_H_ */
> diff --git a/arch/powerpc/include/asm/page.h b/arch/powerpc/include/asm/page.h
> index f6a1265face2..ddfb4b965e5b 100644
> --- a/arch/powerpc/include/asm/page.h
> +++ b/arch/powerpc/include/asm/page.h
> @@ -335,20 +335,6 @@ void arch_free_page(struct page *page, int order);
> #endif
>
> struct vm_area_struct;
> -#ifdef CONFIG_PPC_BOOK3S_64
> -/*
> - * For BOOK3s 64 with 4k and 64K linux page size
> - * we want to use pointers, because the page table
> - * actually store pfn
> - */
> -typedef pte_t *pgtable_t;
> -#else
> -#if defined(CONFIG_PPC_64K_PAGES) && defined(CONFIG_PPC64)
> -typedef pte_t *pgtable_t;
> -#else
> -typedef struct page *pgtable_t;
> -#endif
> -#endif
>
> #include <asm-generic/memory_model.h>
> #endif /* __ASSEMBLY__ */
> --
> 2.13.3
More information about the Linuxppc-dev
mailing list