From: Christophe Leroy <christophe.leroy@csgroup.eu>
To: Nicholas Piggin <npiggin@gmail.com>, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH v3 15/18] powerpc/64s: Make hash MMU support configurable
Date: Fri, 22 Oct 2021 09:02:54 +0200 [thread overview]
Message-ID: <7e10f779-e968-e723-cdbc-4510acdf64a8@csgroup.eu> (raw)
In-Reply-To: <20211021223013.2641952-16-npiggin@gmail.com>
Le 22/10/2021 à 00:30, Nicholas Piggin a écrit :
> This adds Kconfig selection which allows 64s hash MMU support to be
> disabled. It can be disabled if radix support is enabled, the minimum
> supported CPU type is POWER9 (or higher), and KVM is not selected.
>
> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
> ---
> arch/powerpc/Kconfig | 3 ++-
> arch/powerpc/include/asm/mmu.h | 16 ++++++++++---
> arch/powerpc/kernel/dt_cpu_ftrs.c | 14 ++++++++----
> arch/powerpc/kvm/Kconfig | 1 +
> arch/powerpc/mm/init_64.c | 15 +++++++++---
> arch/powerpc/platforms/Kconfig.cputype | 29 ++++++++++++++++++++++--
> arch/powerpc/platforms/cell/Kconfig | 1 +
> arch/powerpc/platforms/maple/Kconfig | 1 +
> arch/powerpc/platforms/microwatt/Kconfig | 2 +-
> arch/powerpc/platforms/pasemi/Kconfig | 1 +
> arch/powerpc/platforms/powermac/Kconfig | 1 +
> arch/powerpc/platforms/powernv/Kconfig | 2 +-
> 12 files changed, 71 insertions(+), 15 deletions(-)
>
> diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
> index a208997ade88..1cf254a5d5d4 100644
> --- a/arch/powerpc/platforms/Kconfig.cputype
> +++ b/arch/powerpc/platforms/Kconfig.cputype
> @@ -364,6 +371,17 @@ config SPE
>
> If in doubt, say Y here.
>
> +config PPC_64S_HASH_MMU
> + bool "Hash MMU Support"
> + depends on PPC_BOOK3S_64
> + select PPC_MM_SLICES
> + default y
> + help
> + Enable support for the Power ISA Hash style MMU. This is implemented
> + by all IBM Power and other Book3S CPUs.
> +
> + If you're unsure, say Y.
> +
> config PPC_RADIX_MMU
> bool "Radix MMU Support"
> depends on PPC_BOOK3S_64
> @@ -374,9 +392,10 @@ config PPC_RADIX_MMU
> is only implemented by IBM Power9 CPUs, if you don't have one of them
> you can probably disable this.
>
> -config PPC_RADIX_MMU_DEFAULT
> +config PPC_RADIX_MMU_DEFAULT_OPTION
> bool "Default to using the Radix MMU when possible"
> depends on PPC_RADIX_MMU
> + depends on PPC_64S_HASH_MMU
> default y
> help
> When the hardware supports the Radix MMU, default to using it unless
> @@ -387,6 +406,12 @@ config PPC_RADIX_MMU_DEFAULT
>
> If you're unsure, say Y.
>
> +config PPC_RADIX_MMU_DEFAULT
> + bool
> + depends on PPC_BOOK3S_64
> + depends on PPC_RADIX_MMU_DEFAULT_OPTION || !PPC_64S_HASH_MMU
> + default y
> +
Why do you need that PPC_RADIX_MMU_DEFAULT_OPTION ?
What about
config PPC_RADIX_MMU_DEFAULT
bool "Default to using the Radix MMU when possible" if PPC_64S_HASH_MMU
depends on PPC_RADIX_MMU
depends on PPC_BOOK3S_64
default y
> config PPC_HAVE_KUEP
> bool
>
> diff --git a/arch/powerpc/platforms/cell/Kconfig b/arch/powerpc/platforms/cell/Kconfig
> index db4465c51b56..faa894714a2a 100644
> --- a/arch/powerpc/platforms/cell/Kconfig
> +++ b/arch/powerpc/platforms/cell/Kconfig
> @@ -8,6 +8,7 @@ config PPC_CELL_COMMON
> select PPC_DCR_MMIO
> select PPC_INDIRECT_PIO
> select PPC_INDIRECT_MMIO
> + select PPC_64S_HASH_MMU
Is this one (and the others) needed ?
Because it PPC_64S_HASH_MMU is 'default y', selection shouldn't be
needed I think.
Did you check with savedefconfig ?
> select PPC_HASH_MMU_NATIVE
> select PPC_RTAS
> select IRQ_EDGE_EOI_HANDLER
> diff --git a/arch/powerpc/platforms/maple/Kconfig b/arch/powerpc/platforms/maple/Kconfig
> index 7fd84311ade5..4c058cc57c90 100644
> --- a/arch/powerpc/platforms/maple/Kconfig
> +++ b/arch/powerpc/platforms/maple/Kconfig
> @@ -9,6 +9,7 @@ config PPC_MAPLE
> select GENERIC_TBSYNC
> select PPC_UDBG_16550
> select PPC_970_NAP
> + select PPC_64S_HASH_MMU
> select PPC_HASH_MMU_NATIVE
> select PPC_RTAS
> select MMIO_NVRAM
> diff --git a/arch/powerpc/platforms/microwatt/Kconfig b/arch/powerpc/platforms/microwatt/Kconfig
> index 62b51e37fc05..823192e9d38a 100644
> --- a/arch/powerpc/platforms/microwatt/Kconfig
> +++ b/arch/powerpc/platforms/microwatt/Kconfig
> @@ -5,7 +5,7 @@ config PPC_MICROWATT
> select PPC_XICS
> select PPC_ICS_NATIVE
> select PPC_ICP_NATIVE
> - select PPC_HASH_MMU_NATIVE
> + select PPC_HASH_MMU_NATIVE if PPC_64S_HASH_MMU
> select PPC_UDBG_16550
> select ARCH_RANDOM
> help
> diff --git a/arch/powerpc/platforms/pasemi/Kconfig b/arch/powerpc/platforms/pasemi/Kconfig
> index bc7137353a7f..85ae18ddd911 100644
> --- a/arch/powerpc/platforms/pasemi/Kconfig
> +++ b/arch/powerpc/platforms/pasemi/Kconfig
> @@ -5,6 +5,7 @@ config PPC_PASEMI
> select MPIC
> select FORCE_PCI
> select PPC_UDBG_16550
> + select PPC_64S_HASH_MMU
> select PPC_HASH_MMU_NATIVE
> select MPIC_BROKEN_REGREAD
> help
> diff --git a/arch/powerpc/platforms/powermac/Kconfig b/arch/powerpc/platforms/powermac/Kconfig
> index 2b56df145b82..130707ec9f99 100644
> --- a/arch/powerpc/platforms/powermac/Kconfig
> +++ b/arch/powerpc/platforms/powermac/Kconfig
> @@ -6,6 +6,7 @@ config PPC_PMAC
> select FORCE_PCI
> select PPC_INDIRECT_PCI if PPC32
> select PPC_MPC106 if PPC32
> + select PPC_64S_HASH_MMU if PPC64
> select PPC_HASH_MMU_NATIVE
> select ZONE_DMA if PPC32
> default y
> diff --git a/arch/powerpc/platforms/powernv/Kconfig b/arch/powerpc/platforms/powernv/Kconfig
> index cd754e116184..161dfe024085 100644
> --- a/arch/powerpc/platforms/powernv/Kconfig
> +++ b/arch/powerpc/platforms/powernv/Kconfig
> @@ -2,7 +2,7 @@
> config PPC_POWERNV
> depends on PPC64 && PPC_BOOK3S
> bool "IBM PowerNV (Non-Virtualized) platform support"
> - select PPC_HASH_MMU_NATIVE
> + select PPC_HASH_MMU_NATIVE if PPC_64S_HASH_MMU
> select PPC_XICS
> select PPC_ICP_NATIVE
> select PPC_XIVE_NATIVE
>
next prev parent reply other threads:[~2021-10-22 7:03 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-21 22:29 [PATCH v3 00/18] powerpc: Make hash MMU code build configurable Nicholas Piggin
2021-10-21 22:29 ` [PATCH v3 01/18] powerpc: Remove unused FW_FEATURE_NATIVE references Nicholas Piggin
2021-10-21 22:29 ` [PATCH v3 02/18] powerpc: Rename PPC_NATIVE to PPC_HASH_MMU_NATIVE Nicholas Piggin
2021-10-21 22:29 ` [PATCH v3 03/18] powerpc/pseries: Stop selecting PPC_HASH_MMU_NATIVE Nicholas Piggin
2021-10-21 22:29 ` [PATCH v3 04/18] powerpc/64s: Move and rename do_bad_slb_fault as it is not hash specific Nicholas Piggin
2021-10-21 22:30 ` [PATCH v3 05/18] powerpc/pseries: move pseries_lpar_register_process_table() out from hash specific code Nicholas Piggin
2021-10-21 22:30 ` [PATCH v3 06/18] powerpc/pseries: lparcfg don't include slb_size line in radix mode Nicholas Piggin
2021-10-21 22:30 ` [PATCH v3 07/18] powerpc/64s: move THP trace point creation out of hash specific file Nicholas Piggin
2021-10-21 22:30 ` [PATCH v3 08/18] powerpc/64s: Make flush_and_reload_slb a no-op when radix is enabled Nicholas Piggin
2021-10-21 22:30 ` [PATCH v3 09/18] powerpc/64s: move page size definitions from hash specific file Nicholas Piggin
2021-10-21 22:30 ` [PATCH v3 10/18] powerpc/64s: Rename hash_hugetlbpage.c to hugetlbpage.c Nicholas Piggin
2021-10-21 22:30 ` [PATCH v3 11/18] powerpc/64: pcpu setup avoid reading mmu_linear_psize on 64e or radix Nicholas Piggin
2021-10-21 22:30 ` [PATCH v3 12/18] powerpc: make memremap_compat_align 64s-only Nicholas Piggin
2021-10-21 22:30 ` [PATCH v3 13/18] powerpc/64e: remove mmu_linear_psize Nicholas Piggin
2021-10-22 6:49 ` Christophe Leroy
2021-10-22 9:21 ` Nicholas Piggin
2021-10-21 22:30 ` [PATCH v3 14/18] powerpc/64s: Clear MMU_FTR_HPTE_TABLE when booting in radix Nicholas Piggin
2021-10-21 22:30 ` [PATCH v3 15/18] powerpc/64s: Make hash MMU support configurable Nicholas Piggin
2021-10-22 7:02 ` Christophe Leroy [this message]
2021-10-22 9:30 ` Nicholas Piggin
2021-10-21 22:30 ` [PATCH v3 16/18] powerpc/64s: Move hash MMU support code under CONFIG_PPC_64S_HASH_MMU Nicholas Piggin
2021-10-22 7:18 ` Christophe Leroy
2021-10-22 9:34 ` Nicholas Piggin
2021-10-22 9:39 ` Christophe Leroy
2021-10-22 9:44 ` Nicholas Piggin
2021-10-21 22:30 ` [PATCH v3 17/18] powerpc/configs/microwatt: add POWER9_CPU Nicholas Piggin
2021-10-21 22:30 ` [PATCH v3 18/18] powerpc/microwatt: Don't select the hash MMU code Nicholas Piggin
2021-10-22 7:18 ` Christophe Leroy
2021-10-22 9:34 ` Nicholas Piggin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7e10f779-e968-e723-cdbc-4510acdf64a8@csgroup.eu \
--to=christophe.leroy@csgroup.eu \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=npiggin@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).