LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH v8 3/5] powerpc/pseries: Consolidate different NUMA distance update code paths
From: David Gibson @ 2021-08-17  3:27 UTC (permalink / raw)
  To: Aneesh Kumar K.V; +Cc: Nathan Lynch, Daniel Henrique Barboza, linuxppc-dev
In-Reply-To: <20210812132223.225214-4-aneesh.kumar@linux.ibm.com>

[-- Attachment #1: Type: text/plain, Size: 1804 bytes --]

On Thu, Aug 12, 2021 at 06:52:21PM +0530, Aneesh Kumar K.V wrote:
> The associativity details of the newly added resourced are collected from
> the hypervisor via "ibm,configure-connector" rtas call. Update the numa
> distance details of the newly added numa node after the above call.
> 
> Instead of updating NUMA distance every time we lookup a node id
> from the associativity property, add helpers that can be used
> during boot which does this only once. Also remove the distance
> update from node id lookup helpers.
> 
> Currently, we duplicate parsing code for ibm,associativity and
> ibm,associativity-lookup-arrays in the kernel. The associativity array provided
> by these device tree properties are very similar and hence can use
> a helper to parse the node id and numa distance details.
> 
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>

Reviewed-by: David Gibson <david@gibson.dropbear.id.au>

There are a handful of nits it would be nice to clean up as followups, though:

[snip]
> +static int get_nid_and_numa_distance(struct drmem_lmb *lmb)
> +{
> +	struct assoc_arrays aa = { .arrays = NULL };
> +	int default_nid = NUMA_NO_NODE;

I don't think there's any point to the 'default_nid' variable.

> +	int nid = default_nid;
> +	int rc, index;
> +
> +	if ((primary_domain_index < 0) || !numa_enabled)
> +		return default_nid;
> +
> +	rc = of_get_assoc_arrays(&aa);
> +	if (rc)
> +		return default_nid;
> +
> +	if (primary_domain_index <= aa.array_sz &&

You don't need this test any more - it's included in __associativity_to_nid().

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply

* Re: [PATCH 2/3] powerpc: Fix undefined static key
From: Michael Ellerman @ 2021-08-17  2:52 UTC (permalink / raw)
  To: Joel Stanley, Paul Mackerras, Michael Neuling, Anton Blanchard,
	Nicholas Piggin, linuxppc-dev
  Cc: Daniel Axtens
In-Reply-To: <20210816082403.2293846-3-joel@jms.id.au>

Joel Stanley <joel@jms.id.au> writes:
> When CONFIG_PPC_BARRIER_NOSPEC=n, security.c is not built leading to a
> missing definition of uaccess_flush_key.
>
>   LD      vmlinux.o
>   MODPOST vmlinux.symvers
>   MODINFO modules.builtin.modinfo
>   GEN     modules.builtin
>   LD      .tmp_vmlinux.kallsyms1
> powerpc64le-linux-gnu-ld: arch/powerpc/kernel/align.o:(.toc+0x0): undefined reference to `uaccess_flush_key'
> powerpc64le-linux-gnu-ld: arch/powerpc/kernel/signal_64.o:(.toc+0x0): undefined reference to `uaccess_flush_key'
> powerpc64le-linux-gnu-ld: arch/powerpc/kernel/process.o:(.toc+0x0): undefined reference to `uaccess_flush_key'
> powerpc64le-linux-gnu-ld: arch/powerpc/kernel/traps.o:(.toc+0x0): undefined reference to `uaccess_flush_key'
> powerpc64le-linux-gnu-ld: arch/powerpc/kernel/hw_breakpoint_constraints.o:(.toc+0x0): undefined reference to `uaccess_flush_key'
> powerpc64le-linux-gnu-ld: arch/powerpc/kernel/ptrace/ptrace.o:(.toc+0x0): more undefined references to `uaccess_flush_key' follow
> make[1]: *** [Makefile:1176: vmlinux] Error 1
>
> Hack one in to fix the build.

Yeah sorry that is a bit of a hack :)

I think the root cause here is that we don't have a CONFIG for "want
security workaround stuff", because so far we haven't had a CPU that
wants to turn that all off.

The generic code uses CONFIG_GENERIC_CPU_VULNERABILITIES, so I guess we
should follow that example and add PPC_CPU_VULNERABILITIES.

Then we'd use that to disable all the security.c stuff, and
PPC_BARRIER_NOSPEC would depend on it also.

Then we could allow configuring that off for Microwatt, or possibly for
all platforms if people want to do that.

cheers

^ permalink raw reply

* Re: [PATCH 2/3] powerpc: Fix undefined static key
From: Joel Stanley @ 2021-08-17  2:44 UTC (permalink / raw)
  To: Christophe Leroy
  Cc: Michael Neuling, Nicholas Piggin, Paul Mackerras, linuxppc-dev,
	Daniel Axtens
In-Reply-To: <492edb10-ccef-c6f2-2fd3-71cf8ae54cfc@csgroup.eu>

On Mon, 16 Aug 2021 at 08:39, Christophe Leroy
<christophe.leroy@csgroup.eu> wrote:
>
>
>
> Le 16/08/2021 à 10:24, Joel Stanley a écrit :
> > When CONFIG_PPC_BARRIER_NOSPEC=n, security.c is not built leading to a
> > missing definition of uaccess_flush_key.
> >
> >    LD      vmlinux.o
> >    MODPOST vmlinux.symvers
> >    MODINFO modules.builtin.modinfo
> >    GEN     modules.builtin
> >    LD      .tmp_vmlinux.kallsyms1
> > powerpc64le-linux-gnu-ld: arch/powerpc/kernel/align.o:(.toc+0x0): undefined reference to `uaccess_flush_key'
> > powerpc64le-linux-gnu-ld: arch/powerpc/kernel/signal_64.o:(.toc+0x0): undefined reference to `uaccess_flush_key'
> > powerpc64le-linux-gnu-ld: arch/powerpc/kernel/process.o:(.toc+0x0): undefined reference to `uaccess_flush_key'
> > powerpc64le-linux-gnu-ld: arch/powerpc/kernel/traps.o:(.toc+0x0): undefined reference to `uaccess_flush_key'
> > powerpc64le-linux-gnu-ld: arch/powerpc/kernel/hw_breakpoint_constraints.o:(.toc+0x0): undefined reference to `uaccess_flush_key'
> > powerpc64le-linux-gnu-ld: arch/powerpc/kernel/ptrace/ptrace.o:(.toc+0x0): more undefined references to `uaccess_flush_key' follow
> > make[1]: *** [Makefile:1176: vmlinux] Error 1
> >
> > Hack one in to fix the build.
> >
> > Signed-off-by: Joel Stanley <joel@jms.id.au>
> > ---
> >   arch/powerpc/include/asm/security_features.h | 3 +++
> >   1 file changed, 3 insertions(+)
> >
> > diff --git a/arch/powerpc/include/asm/security_features.h b/arch/powerpc/include/asm/security_features.h
> > index 792eefaf230b..46ade7927a4c 100644
> > --- a/arch/powerpc/include/asm/security_features.h
> > +++ b/arch/powerpc/include/asm/security_features.h
> > @@ -39,6 +39,9 @@ static inline bool security_ftr_enabled(u64 feature)
> >       return !!(powerpc_security_features & feature);
> >   }
> >
> > +#ifndef CONFIG_PPC_BARRIER_NOSPEC
> > +DEFINE_STATIC_KEY_FALSE(uaccess_flush_key);
> > +#endif
>
> It will then be re-defined by each file that includes asm/security_features.h ....
>
> You can't use a DEFINE_ in a .h
>
> You have to fix the problem at its source.
>
> Cleanest way I see it to modify asm/book3s/64/kup.h and something like
>
> if (IS_ENABLED(CONFIG_PPC_BARRIER_NOSPEC) && static_branch_unlikely(&uaccess_flush_key)

This won't work either as there's no declaration for uaccess_flush_key:

arch/powerpc/include/asm/book3s/64/kup.h:411:78: error:
‘uaccess_flush_key’ undeclared (first use in this function)

We could add an extern for it, but that is distasteful as the static
key API suggests using the structs directly is deprecated, and the
macros we're supposed to use perform initialisation.

Could we assume microwatt-like platforms will not gain pkeys support,
and have a stubbed out set of prevent/restore_user_access for systems
that turn off either pkeys or BARRIER_NOSPEC?

Or do we get rid of PPC_BARRIER_NOSPEC as an option, and have machines
rely on disabling it at runtime?

^ permalink raw reply

* Re: [PATCH 3/7] powerpc: replace cc-option-yn uses with cc-option
From: Michael Ellerman @ 2021-08-17  2:31 UTC (permalink / raw)
  To: Nick Desaulniers, Masahiro Yamada
  Cc: linux-kbuild, Nick Desaulniers, clang-built-linux, Paul Mackerras,
	linuxppc-dev
In-Reply-To: <20210817002109.2736222-4-ndesaulniers@google.com>

Nick Desaulniers <ndesaulniers@google.com> writes:
> cc-option-yn can be replaced with cc-option. ie.
> Checking for support:
> ifeq ($(call cc-option-yn,$(FLAG)),y)
> becomes:
> ifneq ($(call cc-option,$(FLAG)),)
>
> Checking for lack of support:
> ifeq ($(call cc-option-yn,$(FLAG)),n)
> becomes:
> ifeq ($(call cc-option,$(FLAG)),)
>
> This allows us to pursue removing cc-option-yn.
>
> Cc: Michael Ellerman <mpe@ellerman.id.au>
> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: linuxppc-dev@lists.ozlabs.org
> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
> ---
>  arch/powerpc/Makefile      | 12 ++++++------
>  arch/powerpc/boot/Makefile |  5 +----
>  2 files changed, 7 insertions(+), 10 deletions(-)
>
> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> index 9aaf1abbc641..85e224536cf7 100644
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -12,12 +12,12 @@
>  # Rewritten by Cort Dougan and Paul Mackerras
>  #
>  
> -HAS_BIARCH	:= $(call cc-option-yn, -m32)
> +HAS_BIARCH	:= $(call cc-option,-m32)
>  
>  # Set default 32 bits cross compilers for vdso and boot wrapper
>  CROSS32_COMPILE ?=
>  
> -ifeq ($(HAS_BIARCH),y)
> +ifeq ($(HAS_BIARCH),-m32)

I don't love that we have to repeat "-m32" in each check.

I'm pretty sure you can use ifdef here, because HAS_BIARCH is a simple
variable (assigned with ":=").

ie, this can be:

  ifdef HAS_BIARCH


And that avoids having to spell out "-m32" everywhere.

cheers

^ permalink raw reply

* Re: [PATCH 3/7] powerpc: replace cc-option-yn uses with cc-option
From: Nathan Chancellor @ 2021-08-17  1:41 UTC (permalink / raw)
  To: Nick Desaulniers, Masahiro Yamada
  Cc: linux-kbuild, clang-built-linux, Paul Mackerras, linuxppc-dev
In-Reply-To: <20210817002109.2736222-4-ndesaulniers@google.com>



On 8/16/2021 5:21 PM, 'Nick Desaulniers' via Clang Built Linux wrote:
> cc-option-yn can be replaced with cc-option. ie.
> Checking for support:
> ifeq ($(call cc-option-yn,$(FLAG)),y)
> becomes:
> ifneq ($(call cc-option,$(FLAG)),)
> 
> Checking for lack of support:
> ifeq ($(call cc-option-yn,$(FLAG)),n)
> becomes:
> ifeq ($(call cc-option,$(FLAG)),)
> 
> This allows us to pursue removing cc-option-yn.
> 
> Cc: Michael Ellerman <mpe@ellerman.id.au>
> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> Cc: Paul Mackerras <paulus@samba.org>
> Cc: linuxppc-dev@lists.ozlabs.org
> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
> ---
>   arch/powerpc/Makefile      | 12 ++++++------
>   arch/powerpc/boot/Makefile |  5 +----
>   2 files changed, 7 insertions(+), 10 deletions(-)
> 
> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> index 9aaf1abbc641..85e224536cf7 100644
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -12,12 +12,12 @@
>   # Rewritten by Cort Dougan and Paul Mackerras
>   #
>   
> -HAS_BIARCH	:= $(call cc-option-yn, -m32)
> +HAS_BIARCH	:= $(call cc-option,-m32)
>   
>   # Set default 32 bits cross compilers for vdso and boot wrapper
>   CROSS32_COMPILE ?=
>   
> -ifeq ($(HAS_BIARCH),y)
> +ifeq ($(HAS_BIARCH),-m32)
>   ifeq ($(CROSS32_COMPILE),)
>   ifdef CONFIG_PPC32
>   # These options will be overridden by any -mcpu option that the CPU
> @@ -107,7 +107,7 @@ cflags-$(CONFIG_CPU_LITTLE_ENDIAN)	+= -mlittle-endian
>   aflags-$(CONFIG_CPU_BIG_ENDIAN)		+= $(call cc-option,-mbig-endian)
>   aflags-$(CONFIG_CPU_LITTLE_ENDIAN)	+= -mlittle-endian
>   
> -ifeq ($(HAS_BIARCH),y)
> +ifeq ($(HAS_BIARCH),-m32)
>   KBUILD_CFLAGS	+= -m$(BITS)
>   KBUILD_AFLAGS	+= -m$(BITS) -Wl,-a$(BITS)
>   KBUILD_LDFLAGS	+= -m elf$(BITS)$(LDEMULATION)
> @@ -125,7 +125,9 @@ LDFLAGS_vmlinux-$(CONFIG_RELOCATABLE) := -pie
>   LDFLAGS_vmlinux	:= $(LDFLAGS_vmlinux-y)
>   
>   ifdef CONFIG_PPC64
> -ifeq ($(call cc-option-yn,-mcmodel=medium),y)
> +ifeq ($(call cc-option,-mcmodel=medium),)
> +	export NO_MINIMAL_TOC := -mno-minimal-toc
> +else
>   	# -mcmodel=medium breaks modules because it uses 32bit offsets from
>   	# the TOC pointer to create pointers where possible. Pointers into the
>   	# percpu data area are created by this method.
> @@ -135,8 +137,6 @@ ifeq ($(call cc-option-yn,-mcmodel=medium),y)
>   	# kernel percpu data space (starting with 0xc...). We need a full
>   	# 64bit relocation for this to work, hence -mcmodel=large.
>   	KBUILD_CFLAGS_MODULE += -mcmodel=large
> -else
> -	export NO_MINIMAL_TOC := -mno-minimal-toc
>   endif
>   endif
>   
> diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
> index 10c0fb306f15..33e1de5d1c95 100644
> --- a/arch/powerpc/boot/Makefile
> +++ b/arch/powerpc/boot/Makefile
> @@ -66,10 +66,7 @@ ifdef CONFIG_DEBUG_INFO
>   BOOTCFLAGS	+= -g
>   endif
>   
> -ifeq ($(call cc-option-yn, -fstack-protector),y)
> -BOOTCFLAGS	+= -fno-stack-protector
> -endif
> -
> +BOOTCFLAGS	+= $(call cc-option,-fstack-protector)

This was previously disabling the stack protector but now it is enabling 
it. Just remove the ifeq conditional altogether as the kernel assumes 
-fno-stack-protector is always supported after commit 893ab00439a4 
("kbuild: remove cc-option test of -fno-stack-protector").

>   BOOTCFLAGS	+= -I$(objtree)/$(obj) -I$(srctree)/$(obj)
>   
>   DTC_FLAGS	?= -p 1024
> 

^ permalink raw reply

* [PATCH 3/7] powerpc: replace cc-option-yn uses with cc-option
From: Nick Desaulniers @ 2021-08-17  0:21 UTC (permalink / raw)
  To: Masahiro Yamada
  Cc: linux-kbuild, Nick Desaulniers, clang-built-linux, Paul Mackerras,
	linuxppc-dev
In-Reply-To: <20210817002109.2736222-1-ndesaulniers@google.com>

cc-option-yn can be replaced with cc-option. ie.
Checking for support:
ifeq ($(call cc-option-yn,$(FLAG)),y)
becomes:
ifneq ($(call cc-option,$(FLAG)),)

Checking for lack of support:
ifeq ($(call cc-option-yn,$(FLAG)),n)
becomes:
ifeq ($(call cc-option,$(FLAG)),)

This allows us to pursue removing cc-option-yn.

Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: linuxppc-dev@lists.ozlabs.org
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
---
 arch/powerpc/Makefile      | 12 ++++++------
 arch/powerpc/boot/Makefile |  5 +----
 2 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 9aaf1abbc641..85e224536cf7 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -12,12 +12,12 @@
 # Rewritten by Cort Dougan and Paul Mackerras
 #
 
-HAS_BIARCH	:= $(call cc-option-yn, -m32)
+HAS_BIARCH	:= $(call cc-option,-m32)
 
 # Set default 32 bits cross compilers for vdso and boot wrapper
 CROSS32_COMPILE ?=
 
-ifeq ($(HAS_BIARCH),y)
+ifeq ($(HAS_BIARCH),-m32)
 ifeq ($(CROSS32_COMPILE),)
 ifdef CONFIG_PPC32
 # These options will be overridden by any -mcpu option that the CPU
@@ -107,7 +107,7 @@ cflags-$(CONFIG_CPU_LITTLE_ENDIAN)	+= -mlittle-endian
 aflags-$(CONFIG_CPU_BIG_ENDIAN)		+= $(call cc-option,-mbig-endian)
 aflags-$(CONFIG_CPU_LITTLE_ENDIAN)	+= -mlittle-endian
 
-ifeq ($(HAS_BIARCH),y)
+ifeq ($(HAS_BIARCH),-m32)
 KBUILD_CFLAGS	+= -m$(BITS)
 KBUILD_AFLAGS	+= -m$(BITS) -Wl,-a$(BITS)
 KBUILD_LDFLAGS	+= -m elf$(BITS)$(LDEMULATION)
@@ -125,7 +125,9 @@ LDFLAGS_vmlinux-$(CONFIG_RELOCATABLE) := -pie
 LDFLAGS_vmlinux	:= $(LDFLAGS_vmlinux-y)
 
 ifdef CONFIG_PPC64
-ifeq ($(call cc-option-yn,-mcmodel=medium),y)
+ifeq ($(call cc-option,-mcmodel=medium),)
+	export NO_MINIMAL_TOC := -mno-minimal-toc
+else
 	# -mcmodel=medium breaks modules because it uses 32bit offsets from
 	# the TOC pointer to create pointers where possible. Pointers into the
 	# percpu data area are created by this method.
@@ -135,8 +137,6 @@ ifeq ($(call cc-option-yn,-mcmodel=medium),y)
 	# kernel percpu data space (starting with 0xc...). We need a full
 	# 64bit relocation for this to work, hence -mcmodel=large.
 	KBUILD_CFLAGS_MODULE += -mcmodel=large
-else
-	export NO_MINIMAL_TOC := -mno-minimal-toc
 endif
 endif
 
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 10c0fb306f15..33e1de5d1c95 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -66,10 +66,7 @@ ifdef CONFIG_DEBUG_INFO
 BOOTCFLAGS	+= -g
 endif
 
-ifeq ($(call cc-option-yn, -fstack-protector),y)
-BOOTCFLAGS	+= -fno-stack-protector
-endif
-
+BOOTCFLAGS	+= $(call cc-option,-fstack-protector)
 BOOTCFLAGS	+= -I$(objtree)/$(obj) -I$(srctree)/$(obj)
 
 DTC_FLAGS	?= -p 1024
-- 
2.33.0.rc1.237.g0d66db33f3-goog


^ permalink raw reply related

* Re: [PATCH v2 1/2] sched/topology: Skip updating masks for non-online nodes
From: Valentin Schneider @ 2021-08-17  0:01 UTC (permalink / raw)
  To: Srikar Dronamraju, Peter Zijlstra
  Cc: Nathan Lynch, Gautham R Shenoy, Vincent Guittot, Rik van Riel,
	linuxppc-dev, Geetika Moolchandani, LKML, Dietmar Eggemann,
	Thomas Gleixner, Laurent Dufour, Mel Gorman, Ingo Molnar
In-Reply-To: <20210816103347.GC21942@linux.vnet.ibm.com>

On 16/08/21 16:03, Srikar Dronamraju wrote:
>>
>> Your version is much much better than mine.
>> And I have verified that it works as expected.
>>
>>
>
> Hey Peter/Valentin
>
> Are we waiting for any more feedback/testing for this?
>

I'm not overly fond of that last one, but AFAICT the only alternative is
doing a full-fledged NUMA topology rebuild on new-node onlining (i.e. make
calling sched_init_numa() more than once work). It's a lot more work for a
very particular usecase.

>
> --
> Thanks and Regards
> Srikar Dronamraju

^ permalink raw reply

* Re: [PATCH] powerpc/xive: Do not mark xive_request_ipi() as __init
From: Nick Desaulniers @ 2021-08-16 22:04 UTC (permalink / raw)
  To: Nathan Chancellor
  Cc: linux-kernel, clang-built-linux, Paul Mackerras, linuxppc-dev
In-Reply-To: <20210816185711.21563-1-nathan@kernel.org>

On Mon, Aug 16, 2021 at 12:06 PM Nathan Chancellor <nathan@kernel.org> wrote:
>
> Compiling ppc64le_defconfig with clang-14 shows a modpost warning:
>
> WARNING: modpost: vmlinux.o(.text+0xa74e0): Section mismatch in
> reference from the function xive_setup_cpu_ipi() to the function
> .init.text:xive_request_ipi()
> The function xive_setup_cpu_ipi() references
> the function __init xive_request_ipi().
> This is often because xive_setup_cpu_ipi lacks a __init
> annotation or the annotation of xive_request_ipi is wrong.
>
> xive_request_ipi() is called from xive_setup_cpu_ipi(), which is not
> __init, so xive_request_ipi() should not be marked __init. Remove the
> attribute so there is no more warning.
>
> Fixes: cbc06f051c52 ("powerpc/xive: Do not skip CPU-less nodes when creating the IPIs")
> Signed-off-by: Nathan Chancellor <nathan@kernel.org>

Thanks for the patch!
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>

> ---
>  arch/powerpc/sysdev/xive/common.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/sysdev/xive/common.c b/arch/powerpc/sysdev/xive/common.c
> index 943fd30095af..8183ca343675 100644
> --- a/arch/powerpc/sysdev/xive/common.c
> +++ b/arch/powerpc/sysdev/xive/common.c
> @@ -1170,7 +1170,7 @@ static int __init xive_init_ipis(void)
>         return ret;
>  }
>
> -static int __init xive_request_ipi(unsigned int cpu)
> +static int xive_request_ipi(unsigned int cpu)
>  {
>         struct xive_ipi_desc *xid = &xive_ipis[early_cpu_to_node(cpu)];
>         int ret;
>
> base-commit: a2824f19e6065a0d3735acd9fe7155b104e7edf5
> --
> 2.33.0.rc2
>


-- 
Thanks,
~Nick Desaulniers

^ permalink raw reply

* [PATCH] powerpc/xive: Do not mark xive_request_ipi() as __init
From: Nathan Chancellor @ 2021-08-16 18:57 UTC (permalink / raw)
  To: Michael Ellerman
  Cc: Nick Desaulniers, linux-kernel, Nathan Chancellor,
	clang-built-linux, Paul Mackerras, linuxppc-dev

Compiling ppc64le_defconfig with clang-14 shows a modpost warning:

WARNING: modpost: vmlinux.o(.text+0xa74e0): Section mismatch in
reference from the function xive_setup_cpu_ipi() to the function
.init.text:xive_request_ipi()
The function xive_setup_cpu_ipi() references
the function __init xive_request_ipi().
This is often because xive_setup_cpu_ipi lacks a __init
annotation or the annotation of xive_request_ipi is wrong.

xive_request_ipi() is called from xive_setup_cpu_ipi(), which is not
__init, so xive_request_ipi() should not be marked __init. Remove the
attribute so there is no more warning.

Fixes: cbc06f051c52 ("powerpc/xive: Do not skip CPU-less nodes when creating the IPIs")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
---
 arch/powerpc/sysdev/xive/common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/sysdev/xive/common.c b/arch/powerpc/sysdev/xive/common.c
index 943fd30095af..8183ca343675 100644
--- a/arch/powerpc/sysdev/xive/common.c
+++ b/arch/powerpc/sysdev/xive/common.c
@@ -1170,7 +1170,7 @@ static int __init xive_init_ipis(void)
 	return ret;
 }
 
-static int __init xive_request_ipi(unsigned int cpu)
+static int xive_request_ipi(unsigned int cpu)
 {
 	struct xive_ipi_desc *xid = &xive_ipis[early_cpu_to_node(cpu)];
 	int ret;

base-commit: a2824f19e6065a0d3735acd9fe7155b104e7edf5
-- 
2.33.0.rc2


^ permalink raw reply related

* Re: [PATCH v1 2/4] powerpc/64s/perf: add power_pmu_running to query whether perf is being used
From: kernel test robot @ 2021-08-16 18:19 UTC (permalink / raw)
  To: Nicholas Piggin, linuxppc-dev
  Cc: Athira Rajeev, kbuild-all, Madhavan Srinivasan, Nicholas Piggin
In-Reply-To: <20210816072953.1165964-3-npiggin@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2185 bytes --]

Hi Nicholas,

I love your patch! Yet something to improve:

[auto build test ERROR on powerpc/next]
[also build test ERROR on v5.14-rc6 next-20210816]
[cannot apply to scottwood/next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Nicholas-Piggin/powerpc-64s-interrupt-speedups/20210816-153424
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-wii_defconfig (attached as .config)
compiler: powerpc-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/98b8a35aa718c93ace9df66df6274fe392633f80
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Nicholas-Piggin/powerpc-64s-interrupt-speedups/20210816-153424
        git checkout 98b8a35aa718c93ace9df66df6274fe392633f80
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> arch/powerpc/perf/core-book3s.c:2392:6: error: no previous prototype for 'power_pmu_running' [-Werror=missing-prototypes]
    2392 | bool power_pmu_running(void)
         |      ^~~~~~~~~~~~~~~~~
   cc1: all warnings being treated as errors


vim +/power_pmu_running +2392 arch/powerpc/perf/core-book3s.c

  2391	
> 2392	bool power_pmu_running(void)
  2393	{
  2394		struct cpu_hw_events *cpuhw;
  2395	
  2396		/* Could this simply test local_paca->pmcregs_in_use? */
  2397	
  2398		if (!ppmu)
  2399			return false;
  2400	
  2401		cpuhw = this_cpu_ptr(&cpu_hw_events);
  2402		return cpuhw->n_events;
  2403	}
  2404	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 16544 bytes --]

^ permalink raw reply

* Re: [PATCH] powerpc/pseries/cpuhp: fix non-NUMA build
From: Nathan Lynch @ 2021-08-16 15:25 UTC (permalink / raw)
  To: Christophe Leroy, linuxppc-dev; +Cc: ldufour
In-Reply-To: <e9935336-43e3-228d-57f9-40cec438a23f@csgroup.eu>

Christophe Leroy <christophe.leroy@csgroup.eu> writes:

> Le 16/08/2021 à 17:17, Nathan Lynch a écrit :
>> With CONFIG_NUMA unset, direct references to node_to_cpumask_map don't
>> work:
>> 
>>     arch/powerpc/platforms/pseries/hotplug-cpu.c: In function 'pseries_cpu_hotplug_init':
>>>> arch/powerpc/platforms/pseries/hotplug-cpu.c:1022:8: error: 'node_to_cpumask_map' undeclared (first use in this
>>>> function)
>>      1022 |        node_to_cpumask_map[node]);
>> 	 |        ^~~~~~~~~~~~~~~~~~~
>> 
>> Use cpumask_of_node() here instead.
>
>
> Isn't it the same as 
> https://patchwork.ozlabs.org/project/linuxppc-dev/patch/20210816041032.2839343-1-mpe@ellerman.id.au/ ?

Yes, thanks.

^ permalink raw reply

* Re: [PATCH] powerpc/pseries/cpuhp: fix non-NUMA build
From: Christophe Leroy @ 2021-08-16 15:19 UTC (permalink / raw)
  To: Nathan Lynch, linuxppc-dev; +Cc: ldufour
In-Reply-To: <20210816151705.2786296-1-nathanl@linux.ibm.com>

Le 16/08/2021 à 17:17, Nathan Lynch a écrit :
> With CONFIG_NUMA unset, direct references to node_to_cpumask_map don't
> work:
> 
>     arch/powerpc/platforms/pseries/hotplug-cpu.c: In function 'pseries_cpu_hotplug_init':
>>> arch/powerpc/platforms/pseries/hotplug-cpu.c:1022:8: error: 'node_to_cpumask_map' undeclared (first use in this
>>> function)
>      1022 |        node_to_cpumask_map[node]);
> 	 |        ^~~~~~~~~~~~~~~~~~~
> 
> Use cpumask_of_node() here instead.


Isn't it the same as 
https://patchwork.ozlabs.org/project/linuxppc-dev/patch/20210816041032.2839343-1-mpe@ellerman.id.au/ ?

Christophe

> 
> Fixes: bd1dd4c5f528 ("powerpc/pseries: Prevent free CPU ids being reused on another node")
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
> ---
>   arch/powerpc/platforms/pseries/hotplug-cpu.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/powerpc/platforms/pseries/hotplug-cpu.c b/arch/powerpc/platforms/pseries/hotplug-cpu.c
> index 1ef40ef699a6..d646c22e94ab 100644
> --- a/arch/powerpc/platforms/pseries/hotplug-cpu.c
> +++ b/arch/powerpc/platforms/pseries/hotplug-cpu.c
> @@ -1021,7 +1021,7 @@ static int __init pseries_cpu_hotplug_init(void)
>   			/* Record ids of CPU added at boot time */
>   			cpumask_or(node_recorded_ids_map[node],
>   				   node_recorded_ids_map[node],
> -				   node_to_cpumask_map[node]);
> +				   cpumask_of_node(node));
>   		}
>   
>   		of_reconfig_notifier_register(&pseries_smp_nb);
> 

^ permalink raw reply

* [PATCH] powerpc/pseries/cpuhp: fix non-NUMA build
From: Nathan Lynch @ 2021-08-16 15:17 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: ldufour

With CONFIG_NUMA unset, direct references to node_to_cpumask_map don't
work:

   arch/powerpc/platforms/pseries/hotplug-cpu.c: In function 'pseries_cpu_hotplug_init':
>> arch/powerpc/platforms/pseries/hotplug-cpu.c:1022:8: error: 'node_to_cpumask_map' undeclared (first use in this
>> function)
    1022 |        node_to_cpumask_map[node]);
	 |        ^~~~~~~~~~~~~~~~~~~

Use cpumask_of_node() here instead.

Fixes: bd1dd4c5f528 ("powerpc/pseries: Prevent free CPU ids being reused on another node")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
---
 arch/powerpc/platforms/pseries/hotplug-cpu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/platforms/pseries/hotplug-cpu.c b/arch/powerpc/platforms/pseries/hotplug-cpu.c
index 1ef40ef699a6..d646c22e94ab 100644
--- a/arch/powerpc/platforms/pseries/hotplug-cpu.c
+++ b/arch/powerpc/platforms/pseries/hotplug-cpu.c
@@ -1021,7 +1021,7 @@ static int __init pseries_cpu_hotplug_init(void)
 			/* Record ids of CPU added at boot time */
 			cpumask_or(node_recorded_ids_map[node],
 				   node_recorded_ids_map[node],
-				   node_to_cpumask_map[node]);
+				   cpumask_of_node(node));
 		}
 
 		of_reconfig_notifier_register(&pseries_smp_nb);
-- 
2.31.1


^ permalink raw reply related

* Re: [FSL P50x0] lscpu reports wrong values since the RC1 of kernel 5.13
From: Christian Zigotzky @ 2021-08-16 12:29 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: mad skateman, Darren Stevens, qemu-devel, R.T.Dickinson
In-Reply-To: <a7098505-2162-d3cc-b8f9-ef8c8a7d441f@xenosoft.de>

Hi All,

I tested the RC6 of kernel 5.14 today and unfortunately the issue still 
exists. We have figured out that only P5040 SoCs are affected. [1]
P5020 SoCs display the correct values.
Please check the CPU changes in the PowerPC updates 5.13-1 and 5.13-2.

Thanks,
Christian

[1] https://forum.hyperion-entertainment.com/viewtopic.php?p=53775#p53775


On 09 August 2021 um 02:37 pm, Christian Zigotzky wrote:
> Hi All,
>
> Lscpu reports wrong values [1] since the RC1 of kernel 5.13 on my FSL 
> P5040 Cyrus+ board (A-EON AmigaOne X5000). [2]
> The differences are:
>
> Since the RC1 of kernel 5.13 (wrong values):
>
> Core(s) per socket: 1
> Socket(s): 3
>
> Before (correct values):
>
> Core(s) per socket: 4
> Socket(s): 1
>
> Through the wrong values, I can't use "-smp 4" with a virtual e5500 
> QEMU machine with KVM HV anymore.  [3]
> "-smp 3" works with KVM HV.
>
> Maybe the file_load_64 commit from the PowerPC updates 5.13-2 is the 
> problem ( powerpc/kexec_file: Use current CPU info while setting up 
> FDT). [4]
>
> Or maybe this change (PowerPC updates 5.13-1):
>
> -#ifdef CONFIG_PPC_BOOK3E_64
> -    state->ctx_state = exception_enter();
> -    if (user_mode(regs))
> -        account_cpu_user_entry();
> -#endif
>
> ---
>
> Or maybe this change (PowerPC updates 5.13-1):
>
> diff --git a/arch/powerpc/include/asm/smp.h 
> b/arch/powerpc/include/asm/smp.h
> index 7a13bc20f0a0c..03b3d010cbab6 100644
> --- a/arch/powerpc/include/asm/smp.h
> +++ b/arch/powerpc/include/asm/smp.h
> @@ -31,6 +31,7 @@ extern u32 *cpu_to_phys_id;
>  extern bool coregroup_enabled;
>
>  extern int cpu_to_chip_id(int cpu);
> +extern int *chip_id_lookup_table;
>
>  #ifdef CONFIG_SMP
>
> @@ -121,6 +122,11 @@ static inline struct cpumask 
> *cpu_sibling_mask(int cpu)
>      return per_cpu(cpu_sibling_map, cpu);
>  }
>
> +static inline struct cpumask *cpu_core_mask(int cpu)
> +{
> +    return per_cpu(cpu_core_map, cpu);
> +}
> +
>  static inline struct cpumask *cpu_l2_cache_mask(int cpu)
>  {
>      return per_cpu(cpu_l2_cache_map, cpu);
>
> ---
>
> I have found a lot of other changes in the PowerPC updates 5.13-1 
> regarding the CPU.
>
> Could you please check the CPU changes in the PowerPC updates 5.13-1 
> and 5.13-2?
>
> Please find attached the kernel 5.14-rc5 config.
>
> Thanks,
> Christian
>
>
> [1]
>
> lscpu with the correct values before the RC1 of kernel 5.13:
>
> Architecture: ppc64
> CPU op-mode(s): 32-bit, 64-bit
> Byte Order: Big Endian
> CPU(s): 4
> On-line CPU(s) list: 0-3
> Thread(s) per core: 1
> Core(s) per socket: 4
> Socket(s): 1
> Model: 1.2 (pvr 8024 0012)
> Model name: e5500
> L1d cache: 128 KiB
> L1i cache: 128 KiB
> L2 cache: 2 MiB
> L3 cache: 2 MiB
> Vulnerability Itlb multihit: Not affected
> Vulnerability L1tf: Not affected
> Vulnerability Mds: Not affected
> Vulnerability Meltdown: Not affected
> Vulnerability Spec store bypass: Not affected
> Vulnerability Spectre v1: Mitigation; __user pointer sanitization
> Vulnerability Spectre v2: Mitigation; Branch predictor state flush
> Vulnerability Srbds: Not affected
> Vulnerability Tsx async abort: Not affected
>
> ---
>
> lscpu with the wrong values since the RC1 of kernel 5.13:
>
> Architecture: ppc64
> CPU op-mode(s): 32-bit, 64-bit
> Byte Order: Big Endian
> CPU(s): 4
> On-line CPU(s) list: 0-3
> Thread(s) per core: 1
> Core(s) per socket: 1
> Socket(s): 3
> Model: 1.2 (pvr 8024 0012)
> Model name: e5500
> L1d cache: 128 KiB
> L1i cache: 128 KiB
> L2 cache: 2 MiB
> L3 cache: 2 MiB
> Vulnerability Itlb multihit: Not affected
> Vulnerability L1tf: Not affected
> Vulnerability Mds: Not affected
> Vulnerability Meltdown: Not affected
> Vulnerability Spec store bypass: Not affected
> Vulnerability Spectre v1: Mitigation; __user pointer sanitization
> Vulnerability Spectre v2: Mitigation; Branch predictor state flush
> Vulnerability Srbds: Not affected
> Vulnerability Tsx async abort: Not affected
>
> ---
>
> [2] http://wiki.amiga.org/index.php?title=X5000
>
> [3] https://lists.ozlabs.org/pipermail/linuxppc-dev/2021-May/229103.html
>
> [4] 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/diff/arch/powerpc/kexec/file_load_64.c?id=ab159ac569fddf812c0a217d6dbffaa5d93ef88f


^ permalink raw reply

* Re: [PATCH linux-next] module: remove duplicate include in interrupt.c
From: Christophe Leroy @ 2021-08-16 11:57 UTC (permalink / raw)
  To: cgel.zte, mpe
  Cc: Lv Ruyi, linux-kernel, npiggin, paulus, linuxppc-dev, Zeal Robot
In-Reply-To: <20210816113453.126939-1-lv.ruyi@zte.com.cn>



Le 16/08/2021 à 13:34, cgel.zte@gmail.com a écrit :
> From: Lv Ruyi <lv.ruyi@zte.com.cn>
> 
> 'asm/interrupt.h' included in 'interrupt.c' is duplicated.

This patch has been submitted at least half a dozen of times already.

You should maintain alphabetic order in the include list.

But please don't post it again, we have it in the pipe already, see 
https://patchwork.ozlabs.org/project/linuxppc-dev/patch/1624329437-84730-1-git-send-email-jiapeng.chong@linux.alibaba.com/

Next time please check at https://patchwork.ozlabs.org/project/linuxppc-dev/list/ before submitting 
a new patch.

Thanks
Christophe

> 
> Reported-by: Zeal Robot <zealci@zte.com.cn>
> Signed-off-by: Lv Ruyi <lv.ruyi@zte.com.cn>
> ---
>   arch/powerpc/kernel/interrupt.c | 1 -
>   1 file changed, 1 deletion(-)
> 
> diff --git a/arch/powerpc/kernel/interrupt.c b/arch/powerpc/kernel/interrupt.c
> index 21bbd615ca41..8a936515e4e4 100644
> --- a/arch/powerpc/kernel/interrupt.c
> +++ b/arch/powerpc/kernel/interrupt.c
> @@ -10,7 +10,6 @@
>   #include <asm/cputime.h>
>   #include <asm/interrupt.h>
>   #include <asm/hw_irq.h>
> -#include <asm/interrupt.h>
>   #include <asm/kprobes.h>
>   #include <asm/paca.h>
>   #include <asm/ptrace.h>
> 

^ permalink raw reply

* [PATCH linux-next] module: remove duplicate include in interrupt.c
From: cgel.zte @ 2021-08-16 11:34 UTC (permalink / raw)
  To: mpe; +Cc: Lv Ruyi, linux-kernel, paulus, npiggin, linuxppc-dev, Zeal Robot

From: Lv Ruyi <lv.ruyi@zte.com.cn>

'asm/interrupt.h' included in 'interrupt.c' is duplicated.

Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Lv Ruyi <lv.ruyi@zte.com.cn>
---
 arch/powerpc/kernel/interrupt.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/powerpc/kernel/interrupt.c b/arch/powerpc/kernel/interrupt.c
index 21bbd615ca41..8a936515e4e4 100644
--- a/arch/powerpc/kernel/interrupt.c
+++ b/arch/powerpc/kernel/interrupt.c
@@ -10,7 +10,6 @@
 #include <asm/cputime.h>
 #include <asm/interrupt.h>
 #include <asm/hw_irq.h>
-#include <asm/interrupt.h>
 #include <asm/kprobes.h>
 #include <asm/paca.h>
 #include <asm/ptrace.h>
-- 
2.25.1


^ permalink raw reply related

* Re: [PATCH v2 1/2] sched/topology: Skip updating masks for non-online nodes
From: Srikar Dronamraju @ 2021-08-16 10:33 UTC (permalink / raw)
  To: Valentin Schneider, Peter Zijlstra
  Cc: Nathan Lynch, Gautham R Shenoy, Vincent Guittot, Rik van Riel,
	linuxppc-dev, Geetika Moolchandani, LKML, Dietmar Eggemann,
	Thomas Gleixner, Laurent Dufour, Mel Gorman, Ingo Molnar
In-Reply-To: <20210810114727.GB21942@linux.vnet.ibm.com>

> 
> Your version is much much better than mine.
> And I have verified that it works as expected.
> 
> 

Hey Peter/Valentin

Are we waiting for any more feedback/testing for this?


-- 
Thanks and Regards
Srikar Dronamraju

^ permalink raw reply

* Re: [PATCH 0/2] powerpc: mpc855_ads defconfig fixes
From: Christophe Leroy @ 2021-08-16  8:50 UTC (permalink / raw)
  To: Joel Stanley, Michael Ellerman, linuxppc-dev
In-Reply-To: <20210816083126.2294522-1-joel@jms.id.au>



Le 16/08/2021 à 10:31, Joel Stanley a écrit :
> The first was a build warning I noticed when testing something
> unrelated.
> 
> I took a moment to look into it, and came up with the second patch which
> updates the defconfig to make it easier to maintain in the future
> 
> It also fixes a regression where the MTD partition support dropped out
> of the config. Given noone noticed the regression since v4.20 was
> released, perhaps it could be left disabled?

Most likely nobody is using this board anymore. But that's a good to have it to perform CI builds. 
So we should leave that kind of config.


> 
> Joel Stanley (2):
>    powerpc/config: Fix IPV6 warning in mpc855_ads
>    powerpc/configs: Regenerate mpc885_ads_defconfig
> 
>   arch/powerpc/configs/mpc885_ads_defconfig | 49 +++++++++++------------
>   1 file changed, 23 insertions(+), 26 deletions(-)
> 

^ permalink raw reply

* Re: [PATCH 2/2] powerpc/configs: Regenerate mpc885_ads_defconfig
From: Christophe Leroy @ 2021-08-16  8:49 UTC (permalink / raw)
  To: Joel Stanley, Michael Ellerman, linuxppc-dev
In-Reply-To: <20210816083126.2294522-3-joel@jms.id.au>



Le 16/08/2021 à 10:31, Joel Stanley a écrit :
> Regenrate atop v5.14-rc6.

Typos.

You mean you did redo a "make savedefconfig" ?

> 
> The chagnes are mostly re-ordering, except for the following which fall
> out due to dependenacies:
> 
>   - CONFIG_DEBUG_KERNEL=y selected by EXPERT
> 
>   - CONFIG_PPC_EARLY_DEBUG_CPM_ADDR=0xff002008 which is the default
>     setting
> 
> CONFIG_MTD_PHYSMAP_OF is not longer enabled, as it depends on
> MTD_PHYSMAP which is not enabled. This is a regression from commit
> 642b1e8dbed7 ("mtd: maps: Merge physmap_of.c into physmap-core.c"),
> which added the extra dependency. Add CONFIG_MTD_PHYSMAP=y so this stays
> in the config.
> 
> Signed-off-by: Joel Stanley <joel@jms.id.au>
> ---
>   arch/powerpc/configs/mpc885_ads_defconfig | 47 +++++++++++------------
>   1 file changed, 23 insertions(+), 24 deletions(-)
> 
> diff --git a/arch/powerpc/configs/mpc885_ads_defconfig b/arch/powerpc/configs/mpc885_ads_defconfig
> index 5cd17adf903f..c74dc76b1d0d 100644
> --- a/arch/powerpc/configs/mpc885_ads_defconfig
> +++ b/arch/powerpc/configs/mpc885_ads_defconfig
> @@ -1,19 +1,30 @@
> -CONFIG_PPC_8xx=y
>   # CONFIG_SWAP is not set
>   CONFIG_SYSVIPC=y
>   CONFIG_NO_HZ=y
>   CONFIG_HIGH_RES_TIMERS=y
> +CONFIG_BPF_JIT=y
> +CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y
>   CONFIG_LOG_BUF_SHIFT=14
>   CONFIG_EXPERT=y
>   # CONFIG_ELF_CORE is not set
>   # CONFIG_BASE_FULL is not set
>   # CONFIG_FUTEX is not set
> +CONFIG_PERF_EVENTS=y
>   # CONFIG_VM_EVENT_COUNTERS is not set
> -# CONFIG_BLK_DEV_BSG is not set
> -CONFIG_PARTITION_ADVANCED=y
> +CONFIG_PPC_8xx=y
> +CONFIG_8xx_GPIO=y
> +CONFIG_SMC_UCODE_PATCH=y
> +CONFIG_PIN_TLB=y
>   CONFIG_GEN_RTC=y
>   CONFIG_HZ_100=y
> +CONFIG_MATH_EMULATION=y
> +CONFIG_PPC_16K_PAGES=y
> +CONFIG_ADVANCED_OPTIONS=y
>   # CONFIG_SECCOMP is not set
> +CONFIG_STRICT_KERNEL_RWX=y
> +CONFIG_MODULES=y
> +# CONFIG_BLK_DEV_BSG is not set
> +CONFIG_PARTITION_ADVANCED=y
>   CONFIG_NET=y
>   CONFIG_PACKET=y
>   CONFIG_UNIX=y
> @@ -33,6 +44,7 @@ CONFIG_MTD_CFI_GEOMETRY=y
>   # CONFIG_MTD_CFI_I2 is not set
>   CONFIG_MTD_CFI_I4=y
>   CONFIG_MTD_CFI_AMDSTD=y
> +CONFIG_MTD_PHYSMAP=y
>   CONFIG_MTD_PHYSMAP_OF=y
>   # CONFIG_BLK_DEV is not set
>   CONFIG_NETDEVICES=y
> @@ -45,38 +57,25 @@ CONFIG_DAVICOM_PHY=y
>   # CONFIG_LEGACY_PTYS is not set
>   CONFIG_SERIAL_CPM=y
>   CONFIG_SERIAL_CPM_CONSOLE=y
> +CONFIG_SPI=y
> +CONFIG_SPI_FSL_SPI=y
>   # CONFIG_HWMON is not set
> +CONFIG_WATCHDOG=y
> +CONFIG_8xxx_WDT=y
>   # CONFIG_USB_SUPPORT is not set
>   # CONFIG_DNOTIFY is not set
>   CONFIG_TMPFS=y
>   CONFIG_CRAMFS=y
>   CONFIG_NFS_FS=y
>   CONFIG_ROOT_NFS=y
> +CONFIG_CRYPTO=y
> +CONFIG_CRYPTO_DEV_TALITOS=y
>   CONFIG_CRC32_SLICEBY4=y
>   CONFIG_DEBUG_INFO=y
>   CONFIG_MAGIC_SYSRQ=y
> -CONFIG_DETECT_HUNG_TASK=y
> -CONFIG_PPC_16K_PAGES=y
> -CONFIG_DEBUG_KERNEL=y
>   CONFIG_DEBUG_FS=y
> -CONFIG_PPC_PTDUMP=y
> -CONFIG_MODULES=y
> -CONFIG_SPI=y
> -CONFIG_SPI_FSL_SPI=y
> -CONFIG_CRYPTO=y
> -CONFIG_CRYPTO_DEV_TALITOS=y
> -CONFIG_8xx_GPIO=y
> -CONFIG_WATCHDOG=y
> -CONFIG_8xxx_WDT=y
> -CONFIG_SMC_UCODE_PATCH=y
> -CONFIG_ADVANCED_OPTIONS=y
> -CONFIG_PIN_TLB=y
> -CONFIG_PERF_EVENTS=y
> -CONFIG_MATH_EMULATION=y
> -CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y
> -CONFIG_STRICT_KERNEL_RWX=y
> -CONFIG_BPF_JIT=y
>   CONFIG_DEBUG_VM_PGTABLE=y
> +CONFIG_DETECT_HUNG_TASK=y
>   CONFIG_BDI_SWITCH=y
>   CONFIG_PPC_EARLY_DEBUG=y
> -CONFIG_PPC_EARLY_DEBUG_CPM_ADDR=0xff002008
> +CONFIG_PPC_PTDUMP=y
> 

^ permalink raw reply

* Re: [PATCH 1/2] powerpc/config: Fix IPV6 warning in mpc855_ads
From: Christophe Leroy @ 2021-08-16  8:45 UTC (permalink / raw)
  To: Joel Stanley, Michael Ellerman, linuxppc-dev
In-Reply-To: <20210816083126.2294522-2-joel@jms.id.au>



Le 16/08/2021 à 10:31, Joel Stanley a écrit :
> When building this config there's a warning:
> 
>    79:warning: override: reassigning to symbol IPV6
> 
> Commit 9a1762a4a4ff ("powerpc/8xx: Update mpc885_ads_defconfig to
> improve CI") added CONFIG_IPV6=y, but left '# CONFIG_IPV6 is not set'
> in.
> 
> IPV6 is default y, so remove both to clean up the build.
> 
> Signed-off-by: Joel Stanley <joel@jms.id.au>

Acked-by: Christophe Leroy <christophe.leroy@csgroup.eu>

> ---
>   arch/powerpc/configs/mpc885_ads_defconfig | 2 --
>   1 file changed, 2 deletions(-)
> 
> diff --git a/arch/powerpc/configs/mpc885_ads_defconfig b/arch/powerpc/configs/mpc885_ads_defconfig
> index d21f266cea9a..5cd17adf903f 100644
> --- a/arch/powerpc/configs/mpc885_ads_defconfig
> +++ b/arch/powerpc/configs/mpc885_ads_defconfig
> @@ -21,7 +21,6 @@ CONFIG_INET=y
>   CONFIG_IP_MULTICAST=y
>   CONFIG_IP_PNP=y
>   CONFIG_SYN_COOKIES=y
> -# CONFIG_IPV6 is not set
>   # CONFIG_FW_LOADER is not set
>   CONFIG_MTD=y
>   CONFIG_MTD_BLOCK=y
> @@ -76,7 +75,6 @@ CONFIG_PERF_EVENTS=y
>   CONFIG_MATH_EMULATION=y
>   CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y
>   CONFIG_STRICT_KERNEL_RWX=y
> -CONFIG_IPV6=y
>   CONFIG_BPF_JIT=y
>   CONFIG_DEBUG_VM_PGTABLE=y
>   CONFIG_BDI_SWITCH=y
> 

^ permalink raw reply

* Re: [PATCH 3/3] powerpc/microwatt: CPU doesn't (yet) have speculation bugs
From: Christophe Leroy @ 2021-08-16  8:42 UTC (permalink / raw)
  To: Joel Stanley, Paul Mackerras, Michael Neuling, Anton Blanchard,
	Michael Ellerman, Nicholas Piggin, linuxppc-dev
  Cc: Daniel Axtens
In-Reply-To: <20210816082403.2293846-4-joel@jms.id.au>



Le 16/08/2021 à 10:24, Joel Stanley a écrit :
> Signed-off-by: Joel Stanley <joel@jms.id.au>
> ---
>   arch/powerpc/Kconfig | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 663766fbf505..d5af6667c206 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -279,6 +279,7 @@ config PPC_BARRIER_NOSPEC
>   	bool
>   	default y
>   	depends on PPC_BOOK3S_64 || PPC_FSL_BOOK3E
> +	depends on !PPC_MICROWATT

Not sure it is a good idea to disable it completely when PPC_MICROWATT is selected. Don't we want to 
be able to build generic kernels that can run on any book3s/64 ?

Maybe you should change the default instead, something like:

	bool
	default y if !PPC_MICROWATT
	depends on PPC_BOOK3S_64 || PPC_FSL_BOOK3E

>   
>   config EARLY_PRINTK
>   	bool
> 

^ permalink raw reply

* Re: [PATCH v2 00/60] KVM: PPC: Book3S HV P9: entry/exit optimisations
From: Athira Rajeev @ 2021-08-16  8:41 UTC (permalink / raw)
  To: Nicholas Piggin; +Cc: linuxppc-dev, kvm-ppc
In-Reply-To: <20210811160134.904987-1-npiggin@gmail.com>



> On 11-Aug-2021, at 9:30 PM, Nicholas Piggin <npiggin@gmail.com> wrote:
> 
> This reduces radix guest full entry/exit latency on POWER9 and POWER10
> by 2x.
> 
> Nested HV guests should see smaller improvements in their L1 entry/exit,
> but this is also combined with most L0 speedups also applying to nested
> entry. nginx localhost throughput test in a SMP nested guest is improved
> about 10% (in a direct guest it doesn't change much because it uses XIVE
> for IPIs) when L0 and L1 are patched.
> 
> It does this in several main ways:
> 
> - Rearrange code to optimise SPR accesses. Mainly, avoid scoreboard
>  stalls.
> 
> - Test SPR values to avoid mtSPRs where possible. mtSPRs are expensive.
> 
> - Reduce mftb. mftb is expensive.
> 
> - Demand fault certain facilities to avoid saving and/or restoring them
>  (at the cost of fault when they are used, but this is mitigated over
>  a number of entries, like the facilities when context switching 
>  processes). PM, TM, and EBB so far.
> 
> - Defer some sequences that are made just in case a guest is interrupted
>  in the middle of a critical section to the case where the guest is
>  scheduled on a different CPU, rather than every time (at the cost of
>  an extra IPI in this case). Namely the tlbsync sequence for radix with
>  GTSE, which is very expensive.
> 
> - Reduce locking, barriers, atomics related to the vcpus-per-vcore > 1
>  handling that the P9 path does not require.
> 
> Changes since v1:
> - Verified DPDES changes still work with msgsndp SMT emulation.
> - Fixed HMI handling bug.
> - Split softpatch handling fixes into smaller pieces.
> - Rebased with Fabiano's latest HV sanitising patches.
> - Fix TM demand faulting bug causing nested guest TM tests to TM Bad
>  Thing the host in rare cases.
> - Re-name new "pmu=" command line option to "pmu_override=" and update
>  documentation wording.

Hi Nick,

For the PMU related changes,

Reviewed-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>

Thanks
Athira
> - Add default=y config option rather than unconditionally removing the
>  L0 nested PMU workaround.
> - Remove unnecessary MSR[RI] updates in entry/exit. Down to about 4700
>  cycles now.
> - Another bugfix from Alexey's testing.
> 
> Changes since RFC:
> - Rebased with Fabiano's HV sanitising patches at the front.
> - Several demand faulting bug fixes mostly relating to nested guests.
> - Removed facility demand-faulting from L0 nested entry/exit handler.
>  Demand faulting is still done in the L1, but not the L0. The reason
>  is to reduce complexity (although it's only a small amount of
>  complexity), reduce demand faulting overhead that may require several
> 
> Fabiano Rosas (3):
>  KVM: PPC: Book3S HV Nested: Sanitise vcpu registers
>  KVM: PPC: Book3S HV Nested: Stop forwarding all HFUs to L1
>  KVM: PPC: Book3S HV Nested: save_hv_return_state does not require trap
>    argument
> 
> Nicholas Piggin (57):
>  KVM: PPC: Book3S HV: Initialise vcpu MSR with MSR_ME
>  KVM: PPC: Book3S HV: Remove TM emulation from POWER7/8 path
>  KVM: PPC: Book3S HV P9: Fixes for TM softpatch interrupt NIP
>  KVM: PPC: Book3S HV Nested: Fix TM softpatch HFAC interrupt emulation
>  KVM: PPC: Book3S HV Nested: Make nested HFSCR state accessible
>  KVM: PPC: Book3S HV Nested: Reflect guest PMU in-use to L0 when guest
>    SPRs are live
>  powerpc/64s: Remove WORT SPR from POWER9/10
>  KMV: PPC: Book3S HV P9: Use set_dec to set decrementer to host
>  KVM: PPC: Book3S HV P9: Use host timer accounting to avoid decrementer
>    read
>  KVM: PPC: Book3S HV P9: Use large decrementer for HDEC
>  KVM: PPC: Book3S HV P9: Reduce mftb per guest entry/exit
>  powerpc/time: add API for KVM to re-arm the host timer/decrementer
>  KVM: PPC: Book3S HV: POWER10 enable HAIL when running radix guests
>  powerpc/64s: Keep AMOR SPR a constant ~0 at runtime
>  KVM: PPC: Book3S HV: Don't always save PMU for guest capable of
>    nesting
>  powerpc/64s: Always set PMU control registers to frozen/disabled when
>    not in use
>  powerpc/64s: Implement PMU override command line option
>  KVM: PPC: Book3S HV P9: Implement PMU save/restore in C
>  KVM: PPC: Book3S HV P9: Factor PMU save/load into context switch
>    functions
>  KVM: PPC: Book3S HV P9: Demand fault PMU SPRs when marked not inuse
>  KVM: PPC: Book3S HV P9: Factor out yield_count increment
>  KVM: PPC: Book3S HV: CTRL SPR does not require read-modify-write
>  KVM: PPC: Book3S HV P9: Move SPRG restore to restore_p9_host_os_sprs
>  KVM: PPC: Book3S HV P9: Reduce mtmsrd instructions required to save
>    host SPRs
>  KVM: PPC: Book3S HV P9: Improve mtmsrd scheduling by delaying MSR[EE]
>    disable
>  KVM: PPC: Book3S HV P9: Add kvmppc_stop_thread to match
>    kvmppc_start_thread
>  KVM: PPC: Book3S HV: Change dec_expires to be relative to guest
>    timebase
>  KVM: PPC: Book3S HV P9: Move TB updates
>  KVM: PPC: Book3S HV P9: Optimise timebase reads
>  KVM: PPC: Book3S HV P9: Avoid SPR scoreboard stalls
>  KVM: PPC: Book3S HV P9: Only execute mtSPR if the value changed
>  KVM: PPC: Book3S HV P9: Juggle SPR switching around
>  KVM: PPC: Book3S HV P9: Move vcpu register save/restore into functions
>  KVM: PPC: Book3S HV P9: Move host OS save/restore functions to
>    built-in
>  KVM: PPC: Book3S HV P9: Move nested guest entry into its own function
>  KVM: PPC: Book3S HV P9: Move remaining SPR and MSR access into low
>    level entry
>  KVM: PPC: Book3S HV P9: Implement TM fastpath for guest entry/exit
>  KVM: PPC: Book3S HV P9: Switch PMU to guest as late as possible
>  KVM: PPC: Book3S HV P9: Restrict DSISR canary workaround to processors
>    that require it
>  KVM: PPC: Book3S HV P9: More SPR speed improvements
>  KVM: PPC: Book3S HV P9: Demand fault EBB facility registers
>  KVM: PPC: Book3S HV P9: Demand fault TM facility registers
>  KVM: PPC: Book3S HV P9: Use Linux SPR save/restore to manage some host
>    SPRs
>  KVM: PPC: Book3S HV P9: Comment and fix MMU context switching code
>  KVM: PPC: Book3S HV P9: Test dawr_enabled() before saving host DAWR
>    SPRs
>  KVM: PPC: Book3S HV P9: Don't restore PSSCR if not needed
>  KVM: PPC: Book3S HV P9: Avoid tlbsync sequence on radix guest exit
>  KVM: PPC: Book3S HV Nested: Avoid extra mftb() in nested entry
>  KVM: PPC: Book3S HV P9: Improve mfmsr performance on entry
>  KVM: PPC: Book3S HV P9: Optimise hash guest SLB saving
>  KVM: PPC: Book3S HV P9: Avoid changing MSR[RI] in entry and exit
>  KVM: PPC: Book3S HV P9: Add unlikely annotation for !mmu_ready
>  KVM: PPC: Book3S HV P9: Avoid cpu_in_guest atomics on entry and exit
>  KVM: PPC: Book3S HV P9: Remove most of the vcore logic
>  KVM: PPC: Book3S HV P9: Tidy kvmppc_create_dtl_entry
>  KVM: PPC: Book3S HV P9: Stop using vc->dpdes
>  KVM: PPC: Book3S HV P9: Remove subcore HMI handling
> 
> .../admin-guide/kernel-parameters.txt         |   8 +
> arch/powerpc/include/asm/asm-prototypes.h     |   5 -
> arch/powerpc/include/asm/kvm_asm.h            |   1 +
> arch/powerpc/include/asm/kvm_book3s.h         |   6 +
> arch/powerpc/include/asm/kvm_book3s_64.h      |   6 +-
> arch/powerpc/include/asm/kvm_host.h           |   7 +-
> arch/powerpc/include/asm/kvm_ppc.h            |   1 +
> arch/powerpc/include/asm/pmc.h                |   7 +
> arch/powerpc/include/asm/reg.h                |   3 +-
> arch/powerpc/include/asm/switch_to.h          |   2 +
> arch/powerpc/include/asm/time.h               |  19 +-
> arch/powerpc/kernel/cpu_setup_power.c         |  12 +-
> arch/powerpc/kernel/dt_cpu_ftrs.c             |   8 +-
> arch/powerpc/kernel/process.c                 |  32 +
> arch/powerpc/kernel/time.c                    |  54 +-
> arch/powerpc/kvm/Kconfig                      |  15 +
> arch/powerpc/kvm/book3s_64_mmu_radix.c        |   4 +
> arch/powerpc/kvm/book3s_hv.c                  | 890 ++++++++++--------
> arch/powerpc/kvm/book3s_hv.h                  |  41 +
> arch/powerpc/kvm/book3s_hv_builtin.c          |   2 +
> arch/powerpc/kvm/book3s_hv_hmi.c              |   7 +-
> arch/powerpc/kvm/book3s_hv_interrupts.S       |  13 +-
> arch/powerpc/kvm/book3s_hv_nested.c           | 109 ++-
> arch/powerpc/kvm/book3s_hv_p9_entry.c         | 817 +++++++++++++---
> arch/powerpc/kvm/book3s_hv_ras.c              |  54 ++
> arch/powerpc/kvm/book3s_hv_rmhandlers.S       | 115 +--
> arch/powerpc/kvm/book3s_hv_tm.c               |  61 +-
> arch/powerpc/mm/book3s64/radix_pgtable.c      |  15 -
> arch/powerpc/perf/core-book3s.c               |  35 +
> arch/powerpc/platforms/powernv/idle.c         |  10 +-
> 30 files changed, 1589 insertions(+), 770 deletions(-)
> create mode 100644 arch/powerpc/kvm/book3s_hv.h
> 
> -- 
> 2.23.0
> 


^ permalink raw reply

* Re: [PATCH 2/3] powerpc: Fix undefined static key
From: Christophe Leroy @ 2021-08-16  8:39 UTC (permalink / raw)
  To: Joel Stanley, Paul Mackerras, Michael Neuling, Anton Blanchard,
	Michael Ellerman, Nicholas Piggin, linuxppc-dev
  Cc: Daniel Axtens
In-Reply-To: <20210816082403.2293846-3-joel@jms.id.au>



Le 16/08/2021 à 10:24, Joel Stanley a écrit :
> When CONFIG_PPC_BARRIER_NOSPEC=n, security.c is not built leading to a
> missing definition of uaccess_flush_key.
> 
>    LD      vmlinux.o
>    MODPOST vmlinux.symvers
>    MODINFO modules.builtin.modinfo
>    GEN     modules.builtin
>    LD      .tmp_vmlinux.kallsyms1
> powerpc64le-linux-gnu-ld: arch/powerpc/kernel/align.o:(.toc+0x0): undefined reference to `uaccess_flush_key'
> powerpc64le-linux-gnu-ld: arch/powerpc/kernel/signal_64.o:(.toc+0x0): undefined reference to `uaccess_flush_key'
> powerpc64le-linux-gnu-ld: arch/powerpc/kernel/process.o:(.toc+0x0): undefined reference to `uaccess_flush_key'
> powerpc64le-linux-gnu-ld: arch/powerpc/kernel/traps.o:(.toc+0x0): undefined reference to `uaccess_flush_key'
> powerpc64le-linux-gnu-ld: arch/powerpc/kernel/hw_breakpoint_constraints.o:(.toc+0x0): undefined reference to `uaccess_flush_key'
> powerpc64le-linux-gnu-ld: arch/powerpc/kernel/ptrace/ptrace.o:(.toc+0x0): more undefined references to `uaccess_flush_key' follow
> make[1]: *** [Makefile:1176: vmlinux] Error 1
> 
> Hack one in to fix the build.
> 
> Signed-off-by: Joel Stanley <joel@jms.id.au>
> ---
>   arch/powerpc/include/asm/security_features.h | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/arch/powerpc/include/asm/security_features.h b/arch/powerpc/include/asm/security_features.h
> index 792eefaf230b..46ade7927a4c 100644
> --- a/arch/powerpc/include/asm/security_features.h
> +++ b/arch/powerpc/include/asm/security_features.h
> @@ -39,6 +39,9 @@ static inline bool security_ftr_enabled(u64 feature)
>   	return !!(powerpc_security_features & feature);
>   }
>   
> +#ifndef CONFIG_PPC_BARRIER_NOSPEC
> +DEFINE_STATIC_KEY_FALSE(uaccess_flush_key);
> +#endif

It will then be re-defined by each file that includes asm/security_features.h ....

You can't use a DEFINE_ in a .h

You have to fix the problem at its source.

Cleanest way I see it to modify asm/book3s/64/kup.h and something like

if (IS_ENABLED(CONFIG_PPC_BARRIER_NOSPEC) && static_branch_unlikely(&uaccess_flush_key)



>   
>   // Features indicating support for Spectre/Meltdown mitigations
>   
> 

^ permalink raw reply

* [PATCH 2/2] powerpc/configs: Regenerate mpc885_ads_defconfig
From: Joel Stanley @ 2021-08-16  8:31 UTC (permalink / raw)
  To: Michael Ellerman, Christophe Leroy, linuxppc-dev
In-Reply-To: <20210816083126.2294522-1-joel@jms.id.au>

Regenrate atop v5.14-rc6.

The chagnes are mostly re-ordering, except for the following which fall
out due to dependenacies:

 - CONFIG_DEBUG_KERNEL=y selected by EXPERT

 - CONFIG_PPC_EARLY_DEBUG_CPM_ADDR=0xff002008 which is the default
   setting

CONFIG_MTD_PHYSMAP_OF is not longer enabled, as it depends on
MTD_PHYSMAP which is not enabled. This is a regression from commit
642b1e8dbed7 ("mtd: maps: Merge physmap_of.c into physmap-core.c"),
which added the extra dependency. Add CONFIG_MTD_PHYSMAP=y so this stays
in the config.

Signed-off-by: Joel Stanley <joel@jms.id.au>
---
 arch/powerpc/configs/mpc885_ads_defconfig | 47 +++++++++++------------
 1 file changed, 23 insertions(+), 24 deletions(-)

diff --git a/arch/powerpc/configs/mpc885_ads_defconfig b/arch/powerpc/configs/mpc885_ads_defconfig
index 5cd17adf903f..c74dc76b1d0d 100644
--- a/arch/powerpc/configs/mpc885_ads_defconfig
+++ b/arch/powerpc/configs/mpc885_ads_defconfig
@@ -1,19 +1,30 @@
-CONFIG_PPC_8xx=y
 # CONFIG_SWAP is not set
 CONFIG_SYSVIPC=y
 CONFIG_NO_HZ=y
 CONFIG_HIGH_RES_TIMERS=y
+CONFIG_BPF_JIT=y
+CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y
 CONFIG_LOG_BUF_SHIFT=14
 CONFIG_EXPERT=y
 # CONFIG_ELF_CORE is not set
 # CONFIG_BASE_FULL is not set
 # CONFIG_FUTEX is not set
+CONFIG_PERF_EVENTS=y
 # CONFIG_VM_EVENT_COUNTERS is not set
-# CONFIG_BLK_DEV_BSG is not set
-CONFIG_PARTITION_ADVANCED=y
+CONFIG_PPC_8xx=y
+CONFIG_8xx_GPIO=y
+CONFIG_SMC_UCODE_PATCH=y
+CONFIG_PIN_TLB=y
 CONFIG_GEN_RTC=y
 CONFIG_HZ_100=y
+CONFIG_MATH_EMULATION=y
+CONFIG_PPC_16K_PAGES=y
+CONFIG_ADVANCED_OPTIONS=y
 # CONFIG_SECCOMP is not set
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_MODULES=y
+# CONFIG_BLK_DEV_BSG is not set
+CONFIG_PARTITION_ADVANCED=y
 CONFIG_NET=y
 CONFIG_PACKET=y
 CONFIG_UNIX=y
@@ -33,6 +44,7 @@ CONFIG_MTD_CFI_GEOMETRY=y
 # CONFIG_MTD_CFI_I2 is not set
 CONFIG_MTD_CFI_I4=y
 CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_PHYSMAP=y
 CONFIG_MTD_PHYSMAP_OF=y
 # CONFIG_BLK_DEV is not set
 CONFIG_NETDEVICES=y
@@ -45,38 +57,25 @@ CONFIG_DAVICOM_PHY=y
 # CONFIG_LEGACY_PTYS is not set
 CONFIG_SERIAL_CPM=y
 CONFIG_SERIAL_CPM_CONSOLE=y
+CONFIG_SPI=y
+CONFIG_SPI_FSL_SPI=y
 # CONFIG_HWMON is not set
+CONFIG_WATCHDOG=y
+CONFIG_8xxx_WDT=y
 # CONFIG_USB_SUPPORT is not set
 # CONFIG_DNOTIFY is not set
 CONFIG_TMPFS=y
 CONFIG_CRAMFS=y
 CONFIG_NFS_FS=y
 CONFIG_ROOT_NFS=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_DEV_TALITOS=y
 CONFIG_CRC32_SLICEBY4=y
 CONFIG_DEBUG_INFO=y
 CONFIG_MAGIC_SYSRQ=y
-CONFIG_DETECT_HUNG_TASK=y
-CONFIG_PPC_16K_PAGES=y
-CONFIG_DEBUG_KERNEL=y
 CONFIG_DEBUG_FS=y
-CONFIG_PPC_PTDUMP=y
-CONFIG_MODULES=y
-CONFIG_SPI=y
-CONFIG_SPI_FSL_SPI=y
-CONFIG_CRYPTO=y
-CONFIG_CRYPTO_DEV_TALITOS=y
-CONFIG_8xx_GPIO=y
-CONFIG_WATCHDOG=y
-CONFIG_8xxx_WDT=y
-CONFIG_SMC_UCODE_PATCH=y
-CONFIG_ADVANCED_OPTIONS=y
-CONFIG_PIN_TLB=y
-CONFIG_PERF_EVENTS=y
-CONFIG_MATH_EMULATION=y
-CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y
-CONFIG_STRICT_KERNEL_RWX=y
-CONFIG_BPF_JIT=y
 CONFIG_DEBUG_VM_PGTABLE=y
+CONFIG_DETECT_HUNG_TASK=y
 CONFIG_BDI_SWITCH=y
 CONFIG_PPC_EARLY_DEBUG=y
-CONFIG_PPC_EARLY_DEBUG_CPM_ADDR=0xff002008
+CONFIG_PPC_PTDUMP=y
-- 
2.32.0


^ permalink raw reply related

* [PATCH 1/2] powerpc/config: Fix IPV6 warning in mpc855_ads
From: Joel Stanley @ 2021-08-16  8:31 UTC (permalink / raw)
  To: Michael Ellerman, Christophe Leroy, linuxppc-dev
In-Reply-To: <20210816083126.2294522-1-joel@jms.id.au>

When building this config there's a warning:

  79:warning: override: reassigning to symbol IPV6

Commit 9a1762a4a4ff ("powerpc/8xx: Update mpc885_ads_defconfig to
improve CI") added CONFIG_IPV6=y, but left '# CONFIG_IPV6 is not set'
in.

IPV6 is default y, so remove both to clean up the build.

Signed-off-by: Joel Stanley <joel@jms.id.au>
---
 arch/powerpc/configs/mpc885_ads_defconfig | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/powerpc/configs/mpc885_ads_defconfig b/arch/powerpc/configs/mpc885_ads_defconfig
index d21f266cea9a..5cd17adf903f 100644
--- a/arch/powerpc/configs/mpc885_ads_defconfig
+++ b/arch/powerpc/configs/mpc885_ads_defconfig
@@ -21,7 +21,6 @@ CONFIG_INET=y
 CONFIG_IP_MULTICAST=y
 CONFIG_IP_PNP=y
 CONFIG_SYN_COOKIES=y
-# CONFIG_IPV6 is not set
 # CONFIG_FW_LOADER is not set
 CONFIG_MTD=y
 CONFIG_MTD_BLOCK=y
@@ -76,7 +75,6 @@ CONFIG_PERF_EVENTS=y
 CONFIG_MATH_EMULATION=y
 CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y
 CONFIG_STRICT_KERNEL_RWX=y
-CONFIG_IPV6=y
 CONFIG_BPF_JIT=y
 CONFIG_DEBUG_VM_PGTABLE=y
 CONFIG_BDI_SWITCH=y
-- 
2.32.0


^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox