All of lore.kernel.org
 help / color / mirror / Atom feed
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
> 

  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.