Re: [PATCH 1/3] crypto: X25519 low-level primitives for ppc64le.

2024-05-16 Thread Segher Boessenkool
Hi! On Thu, May 16, 2024 at 10:06:58PM +1000, Michael Ellerman wrote: > Andy Polyakov writes: > >>> +.abiversion 2 > >> > >> I'd prefer that was left to the compiler flags. > > > > Problem is that it's the compiler that is responsible for providing this > > directive in the intermediate .s

Re: [PATCH 2/3] crypto: X25519 core functions for ppc64le

2024-05-16 Thread Segher Boessenkool
On Wed, May 15, 2024 at 10:29:56AM +0200, Andy Polyakov wrote: > >+static void cswap(fe51 p, fe51 q, unsigned int bit) > > The "c" in cswap stands for "constant-time," and the problem is that > contemporary compilers have exhibited the ability to produce > non-constant-time machine code as

Re: [PATCH 3/3] powerpc: Check only single values are passed to CPU/MMU feature checks

2024-05-10 Thread Segher Boessenkool
On Fri, May 10, 2024 at 04:45:37PM +1000, Michael Ellerman wrote: > Segher Boessenkool writes: > > On Thu, May 09, 2024 at 10:12:48PM +1000, Michael Ellerman wrote: > >> cpu_has_feature()/mmu_has_feature() are only able to check a single > >> feature at a time,

Re: [PATCH 3/3] powerpc: Check only single values are passed to CPU/MMU feature checks

2024-05-09 Thread Segher Boessenkool
On Thu, May 09, 2024 at 10:12:48PM +1000, Michael Ellerman wrote: > cpu_has_feature()/mmu_has_feature() are only able to check a single > feature at a time, but there is no enforcement of that. > > In fact, as fixed in the previous commit, there was code that was > passing multiple values to

Re: powerpc: io-defs.h:43:1: error: performing pointer arithmetic on a null pointer has undefined behavior [-Werror,-Wnull-pointer-arithmetic]

2024-04-16 Thread Segher Boessenkool
On Tue, Apr 16, 2024 at 03:02:52PM +0530, Naresh Kamboju wrote: > In file included from arch/powerpc/include/asm/io.h:672: > arch/powerpc/include/asm/io-defs.h:43:1: error: performing pointer > arithmetic on a null pointer has undefined behavior > [-Werror,-Wnull-pointer-arithmetic] It is not UB,

Re: Appropriate liburcu cache line size for Power

2024-03-26 Thread Segher Boessenkool
On Tue, Mar 26, 2024 at 06:19:38PM +1100, Michael Ellerman wrote: > Mathieu Desnoyers writes: > The ISA doesn't specify the cache line size, other than it is smaller > than a page. It also says it is "aligned". Nowhere is it said what an aligned size is, but it seems clear it has to be a power

Re: Appropriate liburcu cache line size for Power

2024-03-25 Thread Segher Boessenkool
On Mon, Mar 25, 2024 at 03:34:30PM -0500, Nathan Lynch wrote: > Mathieu Desnoyers writes: > For what it's worth, I found a copy of an IBM Journal of Research & > Development article confirming that POWER5's L3 had a 256-byte line > size: > > Each slice [of the L3] is 12-way set-associative,

Re: [PATCH 2/3] tools/erf/util/annotate: Set register_char and memory_ref_char for powerpc

2024-03-09 Thread Segher Boessenkool
All instructions with a primary opcode from 32 to 63 are memory insns, and no others. It's trivial to see whether it is a load or store, too (just bit 3 of the insn). Trying to parse disassembled code is much harder, and you easily make some mistakes here. On Sat, Mar 09, 2024 at 12:55:12PM

Re: [PATCH 5/5] powerpc: Remove cpu-as-y completely

2024-02-29 Thread Segher Boessenkool
On Thu, Feb 29, 2024 at 11:25:21PM +1100, Michael Ellerman wrote: > From: Christophe Leroy Acked-by: Segher Boessenkool Segher

Re: [PATCH 4/5] powerpc/fsl: Modernise mt/mfpmr

2024-02-29 Thread Segher Boessenkool
n You got rid of the __stringify blight as well. Great :-) Acked-by: Segher Boessenkool Segher

Re: [PATCH 2/5] powerpc/64s: Use .machine power4 around dcbt

2024-02-29 Thread Segher Boessenkool
specify > which encoding is desired. > > Signed-off-by: Michael Ellerman Looks good, thanks! Acked-by: Segher Boessenkool Segher

Re: [PATCH] tty: hvc-iucv: fix function pointer casts

2024-02-14 Thread Segher Boessenkool
On Wed, Feb 14, 2024 at 11:37:21AM +0100, Greg Kroah-Hartman wrote: > On Wed, Feb 14, 2024 at 09:46:33AM +, David Laight wrote: > > From: Segher Boessenkool > > > Sent: 13 February 2024 19:13 > > > > > > On Tue, Feb 13, 2024 at 11:17:49AM +0100, Arnd Bergm

Re: [PATCH] tty: hvc-iucv: fix function pointer casts

2024-02-13 Thread Segher Boessenkool
On Tue, Feb 13, 2024 at 11:17:49AM +0100, Arnd Bergmann wrote: > clang warns about explicitly casting between incompatible function > pointers: > > drivers/tty/hvc/hvc_iucv.c:1100:23: error: cast from 'void (*)(const void *)' > to 'void (*)(struct device *)' converts to incompatible function

Re: [PATCH] powerpc: Add gpr1 and fpu save/restore functions

2024-02-12 Thread Segher Boessenkool
ross all of the affected architectures. Is that likely to > occur? I don't know. Here is my PowerPC-specific patch, it's a bit older, it might not apply cleanly anymore, the changes needed should be obvious though: === 8< === commit f16dfa5257eb14549ce22243fb2b465615085134 Author: Segher Boessenko

Re: [PATCH] powerpc: Add gpr1 and fpu save/restore functions

2024-02-12 Thread Segher Boessenkool
On Mon, Feb 12, 2024 at 11:46:19AM -0600, Timothy Pearson wrote: > Interesting, that make sense. > > How should we proceed from the current situation? Bringing in libgcc seems > like a fairly invasive change, I have done it for *all* architectures some ten years ago. Never found any problem.

Re: [PATCH] powerpc: Add gpr1 and fpu save/restore functions

2024-02-12 Thread Segher Boessenkool
On Mon, Feb 12, 2024 at 11:09:38AM -0600, Timothy Pearson wrote: > There is existing code in the kernel right now to provide support functions > for gpr0 and altivec save/restore. I don't know the full story here, but at > some point in the kernel's history it seems to have been decided to

Re: [PATCH] powerpc: Add gpr1 and fpu save/restore functions

2024-02-12 Thread Segher Boessenkool
On Mon, Feb 12, 2024 at 10:41:18AM -0600, Timothy Pearson wrote: > Implement gpr1 and fpu save/restore functions per the ABI v2 documentation. There is no "ABI v2". This is the ELFv2 ABI, it is a name, it is not a version 2 of anything (in fact, it is version 1 everywhere). The same functions

Re: [PATCH] powerpc/64: Set LR to a non-NULL value in task pt_regs on scv entry

2024-01-25 Thread Segher Boessenkool
Hi! On Thu, Jan 25, 2024 at 05:12:28PM +0530, Naveen N Rao wrote: > diff --git a/arch/powerpc/kernel/interrupt_64.S > b/arch/powerpc/kernel/interrupt_64.S > index bd863702d812..5cf3758a19d3 100644 > --- a/arch/powerpc/kernel/interrupt_64.S > +++ b/arch/powerpc/kernel/interrupt_64.S > @@ -53,6

Re: [PATCH] powerpc/Makefile: Remove bits related to the previous use of -mcmodel=large

2024-01-09 Thread Segher Boessenkool
On Tue, Jan 09, 2024 at 03:15:35PM +, Christophe Leroy wrote: > > CFLAGS-$(CONFIG_PPC64)+= $(call cc-option,-mcall-aixdesc) > > endif > > endif > > -CFLAGS-$(CONFIG_PPC64) += $(call cc-option,-mcmodel=medium,$(call > > cc-option,-mminimal-toc)) > > +CFLAGS-$(CONFIG_PPC64) +=

Re: [PATCH 4/4] powerpc/Makefile: Auto detect cross compiler

2023-12-06 Thread Segher Boessenkool
your compiler uses? There is no reason this shouldn't work (you don't use any system libraries), but you need to use the correct compiler command-line flags for that always. Acked-by: Segher Boessenkool Segher

Re: [PATCH 2/4] powerpc/vdso: No need to undef powerpc for 64-bit build

2023-12-06 Thread Segher Boessenkool
On Wed, Dec 06, 2023 at 10:55:46PM +1100, Michael Ellerman wrote: > But the 64-bit compiler doesn't define powerpc in the first place, Yes, only __powerpc__ (and __powerpc64__) :-) Segher

Re: [pci:controller/xilinx-xdma] BUILD REGRESSION 8d786149d78c7784144c7179e25134b6530b714b

2023-10-31 Thread Segher Boessenkool
On Tue, Oct 31, 2023 at 09:56:00AM -0500, Bjorn Helgaas wrote: > That said, the unused functions do look legit: > > grackle_set_stg() is a static function and the only call is under > "#if 0". It is a static inline. It is *normal* that that is uncalled. It is very similar to a macro that has

Re: [PATCH 0/7] arch/*: config: Remove ReiserFS from defconfig

2023-09-19 Thread Segher Boessenkool
On Tue, Sep 19, 2023 at 12:00:34AM +, Peter Lafreniere wrote: > On Monday, September 18th, 2023 at 19:41, Segher Boessenkool > wrote: > > On Mon, Sep 18, 2023 at 05:56:09PM +, Peter Lafreniere wrote: > > > > > ReiserFS has been considered deprecated

Re: [PATCH 0/7] arch/*: config: Remove ReiserFS from defconfig

2023-09-18 Thread Segher Boessenkool
On Mon, Sep 18, 2023 at 05:56:09PM +, Peter Lafreniere wrote: > ReiserFS has been considered deprecated for 19 months since commit > eb103a51640e ("reiserfs: Deprecate reiserfs"). However, there are > several architectures that still build it into their defconfig kernels. > > As ReiserFS will

Re: [PATCH v1 10/21] powerpc/kexec: refactor for kernel/Kconfig.kexec

2023-06-15 Thread Segher Boessenkool
On Thu, Jun 15, 2023 at 01:34:25PM +1000, Michael Ellerman wrote: > Eric DeVolder writes: > > -config KEXEC_FILE > > - bool "kexec file based system call" > > - select KEXEC_CORE > > - select HAVE_IMA_KEXEC if IMA > > - select KEXEC_ELF > > - depends on PPC64 > > - depends on CRYPTO=y

Re: Passing the complex args in the GPR's

2023-06-06 Thread Segher Boessenkool
Hi! On Tue, Jun 06, 2023 at 08:35:22PM +0530, Umesh Kalappa wrote: > Hi Adnrew, > Thank you for the quick response and for PPC64 too ,we do have > mismatches in ABI b/w complex operations like > https://godbolt.org/z/bjsYovx4c . > > Any reason why GCC chose to use GPR 's here ? What did you

Re: BUG : PowerPC RCU: torture test failed with __stack_chk_fail

2023-04-24 Thread Segher Boessenkool
On Mon, Apr 24, 2023 at 08:28:55AM -0700, Boqun Feng wrote: > On Mon, Apr 24, 2023 at 10:13:51AM -0500, Segher Boessenkool wrote: > > At what points can r13 change? Only when some particular functions are > > called? > > r13 is the local paca: > > register str

Re: BUG : PowerPC RCU: torture test failed with __stack_chk_fail

2023-04-24 Thread Segher Boessenkool
Hi! On Mon, Apr 24, 2023 at 11:14:00PM +1000, Michael Ellerman wrote: > Boqun Feng writes: > > On Sat, Apr 22, 2023 at 09:28:39PM +0200, Joel Fernandes wrote: > >> On Sat, Apr 22, 2023 at 2:47 PM Zhouyi Zhou wrote: > >> > by debugging, I see the r10 is assigned with r13 on c0226eb4, >

Re: [PATCH] powerpc/64: Always build with 128-bit long double

2023-04-05 Thread Segher Boessenkool
Hi! On Wed, Apr 05, 2023 at 03:32:21PM +1000, Michael Ellerman wrote: > Segher Boessenkool writes: > > On Tue, Apr 04, 2023 at 08:28:47PM +1000, Michael Ellerman wrote: > >> The amdgpu driver builds some of its code with hard-float enabled, > >> whereas the rest of th

Re: [PATCH] powerpc/64: Always build with 128-bit long double

2023-04-04 Thread Segher Boessenkool
:-/ In either case, the kernel should always use specific types, not rely on the toolchain to pick a type that may or may not work. The correct size floating point type alone is not enough, but it is a step in the right direction certainly. Reviewed-by: Segher Boessenkool Segher

Re: arch/powerpc/kernel/head_85xx.o: warning: objtool: .head.text+0x1a6c: unannotated intra-function call

2023-01-26 Thread Segher Boessenkool
Hi! On Wed, Jan 25, 2023 at 12:57:35PM +0530, Naveen N. Rao wrote: > Sathvika Vasireddy wrote: > >--- a/arch/powerpc/kvm/booke.c > >+++ b/arch/powerpc/kvm/booke.c > >@@ -917,7 +917,9 @@ static void kvmppc_fill_pt_regs(struct pt_regs *regs) > >     asm("mr %0, 1" : "=r"(r1)); > >    

Re: [PATCH v4 02/24] powerpc/pseries: Fix alignment of PLPKS structures and buffers

2023-01-26 Thread Segher Boessenkool
On Thu, Jan 26, 2023 at 12:09:53AM +1100, Michael Ellerman wrote: > Andrew Donnellan writes: > > A number of structures and buffers passed to PKS hcalls have alignment > > requirements, which could on occasion cause problems: > > > > - Authorisation structures must be 16-byte aligned and must not

Re: [PATCH v2 07/14] powerpc/vdso: Improve linker flags

2023-01-24 Thread Segher Boessenkool
On Tue, Jan 24, 2023 at 09:14:52AM -0700, Nathan Chancellor wrote: > On Mon, Jan 23, 2023 at 09:07:16AM -0600, Segher Boessenkool wrote: > > And here it is even more obviously fine. If you need obfuscation like > > in your patch, it is better not to do this imo. > > I do

Re: [PATCH v2 07/14] powerpc/vdso: Improve linker flags

2023-01-23 Thread Segher Boessenkool
Hi! On Wed, Jan 11, 2023 at 08:05:04PM -0700, Nathan Chancellor wrote: > When clang's -Qunused-arguments is dropped from KBUILD_CPPFLAGS, there > are several warnings in the PowerPC vDSO: > > clang-16: error: -Wl,-soname=linux-vdso32.so.1: 'linker' input unused >

Re: Calculating array sizes in C - was: Re: Build regressions/improvements in v6.2-rc1

2023-01-20 Thread Segher Boessenkool
On Thu, Jan 19, 2023 at 09:31:21PM -0600, Rob Landley wrote: > On 1/19/23 16:11, Michael.Karcher wrote: > > I don't see a clear bug at this point. We are talking about the C expression > > > >   __same_type((void*)0, (void*)0)? 0 : sizeof((void*)0)/sizeof(*((void*0)) (__same_type is a kernel

Re: [PATCH 06/14] powerpc/vdso: Remove unused '-s' flag from ASFLAGS

2023-01-10 Thread Segher Boessenkool
On Mon, Jan 09, 2023 at 05:51:23PM -0700, Nathan Chancellor wrote: > So for this patch, I have > > When clang's -Qunused-arguments is dropped from KBUILD_CPPFLAGS, it > warns: > > clang-16: error: argument unused during compilation: '-s' > [-Werror,-Wunused-command-line-argument] > >

Re: [PATCH 06/14] powerpc/vdso: Remove unused '-s' flag from ASFLAGS

2023-01-09 Thread Segher Boessenkool
On Tue, Jan 10, 2023 at 01:22:38AM +0100, Andreas Schwab wrote: > On Jan 09 2023, Segher Boessenkool wrote: > > > It is required by POSIX (for the c99 command, anyway). It *also* is > > required to be supported when producing object files (so when no linking > > is do

Re: [PATCH 06/14] powerpc/vdso: Remove unused '-s' flag from ASFLAGS

2023-01-09 Thread Segher Boessenkool
On Mon, Jan 09, 2023 at 03:37:53PM -0700, Nathan Chancellor wrote: > On Mon, Jan 09, 2023 at 04:23:37PM -0600, Segher Boessenkool wrote: > > Hi! Happy new year all. > > > > On Mon, Jan 09, 2023 at 01:58:32PM -0800, Nick Desaulniers wrote: > > > On Wed, Jan 4, 2023

Re: [PATCH 06/14] powerpc/vdso: Remove unused '-s' flag from ASFLAGS

2023-01-09 Thread Segher Boessenkool
it predates git history (looking at > arch/powerpc/kernel/vdso32/Makefile at fc15351d9d63) Yeah, good question. This compiler flag does the moral equivalent of strip -s (aka --strip-all). Maybe this was needed at some point, or the symbol or debug info was just annoying (during bringup or similar)? > Reviewed-by: Nick Desaulniers Reviewed-by: Segher Boessenkool Segher

Re: [PATCH v1] powerpc/64: Set default CPU in Kconfig

2022-12-16 Thread Segher Boessenkool
On Fri, Dec 16, 2022 at 11:23:59PM +0100, Pali Rohár wrote: > > It appears the E500MC64 never made it outside of FSL, so it is best not > > to use it at all, imo. > > Yes, it really makes sense to not use e500mc64 flag. Maybe gcc > documentation could be updated to mention this fact? Thanks. I

Re: [PATCH v1] powerpc/64: Set default CPU in Kconfig

2022-12-16 Thread Segher Boessenkool
Hi! On Thu, Dec 15, 2022 at 09:42:02PM +0100, Pali Rohár wrote: > On Wednesday 07 December 2022 14:38:40 Christophe Leroy wrote: > > default "power8" if POWER8_CPU > > default "power9" if POWER9_CPU > > default "power10" if POWER10_CPU > > + default "e500mc64" if E5500_CPU > > Now

Re: [PATCH v2] powerpc: Pass correct CPU reference to assembler

2022-12-16 Thread Segher Boessenkool
On Fri, Dec 16, 2022 at 05:57:46PM +, Christophe Leroy wrote: > Le 16/12/2022 à 18:18, Segher Boessenkool a écrit : > > On Fri, Dec 16, 2022 at 09:35:50AM +0100, Christophe Leroy wrote: > >> Today we have CONFIG_TARGET_CPU which provides the identification of the > >&g

Re: [PATCH v2] powerpc: Pass correct CPU reference to assembler

2022-12-16 Thread Segher Boessenkool
Hi! On Fri, Dec 16, 2022 at 09:35:50AM +0100, Christophe Leroy wrote: > The problem comes from the fact that CONFIG_PPC_E500MC is selected for > both the e500mc (32 bits) and the e5500 (64 bits), and therefore the > following makefile rule is wrong: > > cpu-as-$(CONFIG_PPC_E500MC)+= $(call

Re: [PATCH] powerpc/64: Implement arch_within_stack_frames

2022-12-15 Thread Segher Boessenkool
On Thu, Dec 15, 2022 at 10:29:38AM -0600, Segher Boessenkool wrote: > The kernel does not do any of the more > problematic cases I think, but no promises (dynamic stack alignment, > recursive functions Before people get scared: I meant *nested* functions. With a static chai

Re: [PATCH] powerpc/64: Implement arch_within_stack_frames

2022-12-15 Thread Segher Boessenkool
On Thu, Dec 15, 2022 at 10:52:35AM +1000, Nicholas Piggin wrote: > On Thu Dec 15, 2022 at 10:17 AM AEST, Segher Boessenkool wrote: > > On Wed, Dec 14, 2022 at 09:39:25PM +1000, Nicholas Piggin wrote: > > > What about just copying x86's implementation including using > > >

Re: [PATCH] powerpc/64: Implement arch_within_stack_frames

2022-12-14 Thread Segher Boessenkool
On Wed, Dec 14, 2022 at 09:39:25PM +1000, Nicholas Piggin wrote: > What about just copying x86's implementation including using > __builtin_frame_address(1/2)? Are those builtins reliable for all > our targets and compiler versions? __builtin_frame_address(n) with n > 0 is specifically not

Re: Mass-building defconfigs: many fail with assembler errors

2022-12-14 Thread Segher Boessenkool
Hi! On Wed, Dec 14, 2022 at 07:36:32PM +0100, Jan-Benedict Glaw wrote: > So we have these remaining build issues: > > linux-powerpc-cell_defconfig bad asm > (arch/powerpc/boot/pseries-head.S) > linux-powerpc-mvme5100_defconfig bad asm > (arch/powerpc/kernel/epapr_hcalls.S) >

Re: [PATCH] [BACKPORT FOR 4.14] libtraceevent: Fix build with binutils 2.35

2022-12-14 Thread Segher Boessenkool
On Wed, Dec 14, 2022 at 03:33:24PM +, Christophe Leroy wrote: > Le 13/12/2022 à 21:25, Segher Boessenkool a écrit : > > On Tue, Dec 13, 2022 at 07:03:07PM +0100, Christophe Leroy wrote: > >> In binutils 2.35, 'nm -D' changed to show symbol versions along with > >> s

Re: [PATCH] [BACKPORT FOR 4.14] libtraceevent: Fix build with binutils 2.35

2022-12-13 Thread Segher Boessenkool
On Tue, Dec 13, 2022 at 07:03:07PM +0100, Christophe Leroy wrote: > In binutils 2.35, 'nm -D' changed to show symbol versions along with > symbol names, with the usual @@ separator. 2.37 instead? And --without-symbol-versions is there to restore the old behaviour. The script is parsing the

Re: Mass-building defconfigs: many fail with assembler errors

2022-12-13 Thread Segher Boessenkool
On Tue, Dec 13, 2022 at 09:41:59AM +0100, Jan-Benedict Glaw wrote: > On Tue, 2022-12-13 14:49:20 +1100, Michael Ellerman > wrote: > > So your script should exclude all files that end in ".config". > > Thanks! Will just drop those. > > > To find the names of the generated configs you can use

Re: Mass-building defconfigs: many fail with assembler errors

2022-12-12 Thread Segher Boessenkool
Hi! On Mon, Dec 12, 2022 at 10:51:17PM +0100, Jan-Benedict Glaw wrote: > Is anybody else routinely building current Binutils + GCC, to try to > build all the Linux defconfigs? I do regularly build kernels for powerpc-linux, powerpc64-linux, powerpc64le-linux; ppc6xx_defconfig and ppc64_defconfig

Re: [PATCH v2 1/4] powerpc/64: Add INTERRUPT_SANITIZE_REGISTERS Kconfig

2022-11-07 Thread Segher Boessenkool
Hi! On Mon, Nov 07, 2022 at 02:31:59PM +1100, Rohan McLure wrote: > Add Kconfig option for enabling clearing of registers on arrival in an > interrupt handler. This reduces the speculation influence of registers > on kernel internals. Assuming you are talking about existing PowerPC CPUs from the

Re: [RFC PATCH 01/19] powerpc/perf: callchain validate kernel stack pointer bounds

2022-11-04 Thread Segher Boessenkool
On Mon, Oct 31, 2022 at 03:54:22PM +1000, Nicholas Piggin wrote: > Could the user set r1 to be equal to the address matching the first > interrupt frame - STACK_INT_FRAME_SIZE, which is in the previous page > due to the kernel redzone, and induce the kernel to load the marker from > there?

Re: Issues with the first PowerPC updates for the kernel 6.1

2022-10-29 Thread Segher Boessenkool
On Mon, Oct 17, 2022 at 09:53:04AM +0200, Christian Zigotzky wrote: > > On 17. Oct 2022, at 02:43, Michael Ellerman wrote: > > Previously BIG_ENDIAN && GENERIC_CPU would use -mcpu=power5, now it uses > > -mcpu=power4. > > Maybe this is the issue. We will wait and not release the RC1 for testing

Re: Issues with the first PowerPC updates for the kernel 6.1

2022-10-16 Thread Segher Boessenkool
On Fri, Oct 14, 2022 at 06:11:21PM +0200, Christian Zigotzky wrote: > make oldconfig has asked because of the CPU family. I choosed GENERIC for my > P.A. Semi PWRficient PA6T-1682M. Is this correct? Maybe this is the problem. > > config GENERIC_CPU > - bool "Generic (POWER4 and above)" > +

Re: [PATCH] powerpc/64s: POWER10 CPU Kconfig build option

2022-10-07 Thread Segher Boessenkool
On Fri, Oct 07, 2022 at 10:03:38AM +1000, Nicholas Piggin wrote: > On Fri Oct 7, 2022 at 9:23 AM AEST, Segher Boessenkool wrote: > > > For pcrel addressing? Bootstrapping the C environment is one, the > > > module dynamic linker is another. > > > > I don't know wha

Re: [PATCH] powerpc/64s: POWER10 CPU Kconfig build option

2022-10-07 Thread Segher Boessenkool
On Fri, Oct 07, 2022 at 04:31:28PM +1100, Michael Ellerman wrote: > "Nicholas Piggin" writes: > > On Fri Oct 7, 2022 at 9:23 AM AEST, Segher Boessenkool wrote: > >> On Fri, Oct 07, 2022 at 07:56:09AM +1000, Nicholas Piggin wrote: > >> > On Fri Oct 7, 2022 a

Re: [PATCH] powerpc/64s: POWER10 CPU Kconfig build option

2022-10-06 Thread Segher Boessenkool
On Fri, Oct 07, 2022 at 07:56:09AM +1000, Nicholas Piggin wrote: > On Fri Oct 7, 2022 at 5:54 AM AEST, Segher Boessenkool wrote: > > On Fri, Sep 23, 2022 at 01:30:04PM +1000, Nicholas Piggin wrote: > > > This adds basic POWER10_CPU option, which builds with -mcpu=power10. >

Re: [PATCH v3 5/6] powerpc/64: Add support for out-of-line static calls

2022-10-06 Thread Segher Boessenkool
On Thu, Oct 06, 2022 at 08:50:31PM +, Christophe Leroy wrote: > Le 06/10/2022 à 22:45, Segher Boessenkool a écrit : > > I meant just an indicative code size number... 100 bytes, 100kB, 100MB, > > or something like that :-) And, on 64 bit, which is what the question > &g

Re: [PATCH v3 5/6] powerpc/64: Add support for out-of-line static calls

2022-10-06 Thread Segher Boessenkool
On Thu, Oct 06, 2022 at 06:38:00PM +, Christophe Leroy wrote: > Le 06/10/2022 à 20:22, Segher Boessenkool a écrit : > > Long ago I built kernels that fit together with the boot firmware and a > > root fs (busybox+dropbear essentially) in 4MB, but I doubt we can get > >

Re: [PATCH] powerpc/64s: POWER10 CPU Kconfig build option

2022-10-06 Thread Segher Boessenkool
Hi! On Thu, Oct 06, 2022 at 06:07:32PM +, Christophe Leroy wrote: > Le 23/09/2022 à 08:23, Nicholas Piggin a écrit : > > I would rather complete prefixed support in the kernel and use pcrel > > addressing. Actually even if we don't compile with pcrel or prefixed, > > there are some

Re: [PATCH] powerpc/64s: POWER10 CPU Kconfig build option

2022-10-06 Thread Segher Boessenkool
Hi! On Fri, Sep 23, 2022 at 01:30:04PM +1000, Nicholas Piggin wrote: > This adds basic POWER10_CPU option, which builds with -mcpu=power10. > +# No prefix or pcrel > +KBUILD_CFLAGS += $(call cc-option,-mno-prefixed) > +KBUILD_CFLAGS += $(call cc-option,-mno-pcrel) Why do you disable all

Re: [PATCH v3 5/6] powerpc/64: Add support for out-of-line static calls

2022-10-06 Thread Segher Boessenkool
On Thu, Oct 06, 2022 at 11:39:50AM +1100, Michael Ellerman wrote: > Christophe Leroy writes: > > However, thinking out loudly, I'm wondering, could we make things any > > simpler when CONFIG_MODULES is not selected, or is that a too much > > corner case on PPC64 ? > > I'd say it's mostly a

Re: [PATCH] powerpc/irq: Modernise inline assembly in irq_soft_mask_{set,return}

2022-09-24 Thread Segher Boessenkool
On Fri, Sep 23, 2022 at 05:15:43PM -0500, Segher Boessenkool wrote: > On Sat, Sep 24, 2022 at 02:26:52AM +1000, Nicholas Piggin wrote: > > I still don't see what clauses guarantees asm("%0" ::"r"(foo)) to give > > 13. It doesn't say ac

Re: [PATCH] powerpc/irq: Modernise inline assembly in irq_soft_mask_{set,return}

2022-09-24 Thread Segher Boessenkool
On Sat, Sep 24, 2022 at 02:00:55PM +1000, Nicholas Piggin wrote: > On Sat Sep 24, 2022 at 8:15 AM AEST, Segher Boessenkool wrote: > > Never it is guaranteed that all accesses through this variable will use > > the register directly: this fundamentally cannot work on all arch

Re: [PATCH] powerpc/irq: Modernise inline assembly in irq_soft_mask_{set,return}

2022-09-23 Thread Segher Boessenkool
On Sat, Sep 24, 2022 at 02:26:52AM +1000, Nicholas Piggin wrote: > I still don't see what clauses guarantees asm("%0" ::"r"(foo)) to give > 13. It doesn't say access via inline assembly is special, But it is. It is for all register variables, local and global. I agree this isn't documented

Re: [PATCH 1/2] powerpc/64s: Fix GENERIC_CPU build flags for PPC970 / G5

2022-09-23 Thread Segher Boessenkool
On Fri, Sep 23, 2022 at 05:17:45PM +1000, Nicholas Piggin wrote: > On Thu Sep 22, 2022 at 4:50 AM AEST, Segher Boessenkool wrote: > > On Wed, Sep 21, 2022 at 11:41:02AM +1000, Nicholas Piggin wrote: > > > Big-endian GENERIC_CPU supports 970, but builds with -mcpu=power5. > &g

Re: [PATCH] powerpc/irq: Modernise inline assembly in irq_soft_mask_{set,return}

2022-09-23 Thread Segher Boessenkool
On Fri, Sep 23, 2022 at 05:08:13PM +1000, Nicholas Piggin wrote: > On Tue Sep 20, 2022 at 4:41 PM AEST, Christophe Leroy wrote: > > local_paca is declared as global register asm("r13"), it is therefore > > garantied to always ever be r13. > > > > It is therefore not required to opencode r13 in the

Re: [PATCH 2/2] powerpc/64s: update cpu selection options

2022-09-21 Thread Segher Boessenkool
; This also updates the ISA versions document to add Power4/Power4+ > because I didn't realise Power4+ used 2.01. > > Signed-off-by: Nicholas Piggin Reviewed-by: Segher Boessenkool Cheers, Segher

Re: [PATCH 1/2] powerpc/64s: Fix GENERIC_CPU build flags for PPC970 / G5

2022-09-21 Thread Segher Boessenkool
er4. > > Fixes: 471d7ff8b51b ("powerpc/64s: Remove POWER4 support") > Signed-off-by: Nicholas Piggin Reviewed-by: Segher Boessenkool Thank you! Maybe superfluous, but some more context: GCC's -mcpu=power4 means POWER4+, ISA 2.01, according to our documentation. There is no differenc

Re: [RFC PATCH 5/7] powerpc/64s: update generic cpu option name and compiler flags

2022-09-21 Thread Segher Boessenkool
Hi! On Wed, Sep 21, 2022 at 11:01:18AM +1000, Nicholas Piggin wrote: > On Wed Sep 21, 2022 at 8:16 AM AEST, Segher Boessenkool wrote: > > On Tue, Sep 20, 2022 at 12:01:47AM +1000, Nicholas Piggin wrote: > > > Update the 64s GENERIC_CPU option. POWER4 support has been drop

Re: [RFC PATCH 5/7] powerpc/64s: update generic cpu option name and compiler flags

2022-09-20 Thread Segher Boessenkool
Hi! On Tue, Sep 20, 2022 at 12:01:47AM +1000, Nicholas Piggin wrote: > Update the 64s GENERIC_CPU option. POWER4 support has been dropped, so > make that clear in the option name. AFAIR the minimum now is POWER4+ (ISA 2.01), not POWER5 (ISA 2.02). > -mtune= before power8 is dropped because the

Re: [RFC] Objtool toolchain proposal: -fannotate-{jump-table,noreturn}

2022-09-14 Thread Segher Boessenkool
On Wed, Sep 14, 2022 at 04:55:27PM +0200, Peter Zijlstra wrote: > On Wed, Sep 14, 2022 at 02:28:26PM +, Michael Matz wrote: > > Don't mix DWARF debug info with DWARF-based unwinding info, the latter > > doesn't imply the former. Out of interest: how does ORC get around the > > need for CFI

Re: [RFC] Objtool toolchain proposal: -fannotate-{jump-table,noreturn}

2022-09-14 Thread Segher Boessenkool
On Wed, Sep 14, 2022 at 11:21:00AM +0100, Josh Poimboeuf wrote: > On Mon, Sep 12, 2022 at 06:31:14AM -0500, Segher Boessenkool wrote: > > On Fri, Sep 09, 2022 at 11:07:04AM -0700, Josh Poimboeuf wrote: > > > 2) Noreturn functions: > > > > > >There'

Re: [RFC] Objtool toolchain proposal: -fannotate-{jump-table,noreturn}

2022-09-12 Thread Segher Boessenkool
Hi! On Fri, Sep 09, 2022 at 11:07:04AM -0700, Josh Poimboeuf wrote: > 2) Noreturn functions: > >There's no reliable way to determine which functions are designated >by the compiler to be noreturn (either explictly via function >attribute, or implicitly via a static function which

Re: [PATCH] powerpc/lib/xor_vmx: Relax frame size for clang

2022-09-08 Thread Segher Boessenkool
Hi! On Thu, Sep 08, 2022 at 05:07:24PM +0200, Arnd Bergmann wrote: > - if the XOR code has its frame size explode like this, it's > probably an indication of the compiler doing something wrong, > not the kernel code. On the contrary, it is most likely an indication that the kernel code wants

Re: [PATCH] powerpc/lib/xor_vmx: Relax frame size for clang

2022-09-08 Thread Segher Boessenkool
On Thu, Sep 08, 2022 at 06:00:24AM +, Christophe Leroy wrote: > Looking at it more deeply, I see strange things. I'll have to see full generated machine code to be able to see strange things, there isn't enough information at all here yet. Sorry. Use private mail if it is too big or

Re: [PATCH v2 16/16] objtool/powerpc: Add --mcount specific implementation

2022-09-05 Thread Segher Boessenkool
Hi! On Mon, Sep 05, 2022 at 04:15:07PM +0530, Naveen N. Rao wrote: > Segher Boessenkool wrote: > >>> + if ((insn & 3) == 1) { > >>> + *type = INSN_CALL; > >>> + *immediate = insn & 0x3fc; >

Re: [PATCH v2] powerpc: Fix irq_soft_mask_set() and irq_soft_mask_return() with sanitizer

2022-09-02 Thread Segher Boessenkool
On Fri, Sep 02, 2022 at 10:57:27AM -0500, Peter Bergner wrote: > On 8/31/22 5:45 PM, Segher Boessenkool wrote: > > Yes, this is guaranteed. > > Agree with Segher here. That said, there was a gcc bug a long time > ago where gcc copied r13 into a temporary register and used i

Re: [PATCH v2 2/2] powerpc/math-emu: Remove -w build flag and fix warnings

2022-09-02 Thread Segher Boessenkool
Hi! On Fri, Sep 02, 2022 at 09:11:48AM -0700, Nathan Chancellor wrote: > On Fri, Sep 02, 2022 at 10:59:54AM -0500, Segher Boessenkool wrote: > > Maybe add -Wno-implicit-fallthrough? This code is a copy from outside > > the kernel, no one has ever wanted to maintain it,

Re: [PATCH v2 2/2] powerpc/math-emu: Remove -w build flag and fix warnings

2022-09-02 Thread Segher Boessenkool
On Fri, Sep 02, 2022 at 08:37:23AM -0700, Nathan Chancellor wrote: > On Fri, Sep 02, 2022 at 12:08:55PM +0200, Christophe Leroy wrote: > > This should have been detected by gcc at build time, but due to > > '-w' flag it went undetected. > > > > Removing that flag leads to many warnings hence

Re: [PATCH] powerpc/vdso: link with -z noexecstack

2022-09-02 Thread Segher Boessenkool
Hi! On Fri, Sep 02, 2022 at 09:57:09AM +0200, Christophe Leroy wrote: > --- a/arch/powerpc/kernel/Makefile > +++ b/arch/powerpc/kernel/Makefile > @@ -128,7 +128,8 @@ extra-y += vmlinux.lds > > obj-$(CONFIG_RELOCATABLE)+= reloc_$(BITS).o > > -obj-$(CONFIG_PPC32)

Re: [PATCH] powerpc/math_emu/efp: Include module.h

2022-09-02 Thread Segher Boessenkool
On Fri, Sep 02, 2022 at 08:43:49AM +, Christophe Leroy wrote: > Le 01/09/2022 à 21:47, Segher Boessenkool a écrit : > > On Thu, Sep 01, 2022 at 05:41:33AM +, Christophe Leroy wrote: > >> I think it would be worth a GCC bug report. > > > > We need a stand-alon

Re: [PATCH] powerpc/math_emu/efp: Include module.h

2022-09-01 Thread Segher Boessenkool
On Thu, Sep 01, 2022 at 05:41:33AM +, Christophe Leroy wrote: > I think it would be worth a GCC bug report. We need a stand-alone testcase for this. When you have created one, at least 98% of the time you discover the bug is in user code after all. Which is a very good thing, it means the

Re: [PATCH v2] powerpc: Fix irq_soft_mask_set() and irq_soft_mask_return() with sanitizer

2022-09-01 Thread Segher Boessenkool
On Thu, Sep 01, 2022 at 09:37:42AM +0200, Gabriel Paubert wrote: > On Thu, Sep 01, 2022 at 05:22:32AM +, Christophe Leroy wrote: > > Le 01/09/2022 à 00:45, Segher Boessenkool a écrit : > > > I would have used real assembler code here (in a .s file). But there > > >

Re: [PATCH v2] powerpc: Fix irq_soft_mask_set() and irq_soft_mask_return() with sanitizer

2022-09-01 Thread Segher Boessenkool
On Thu, Sep 01, 2022 at 07:47:10AM +, Christophe Leroy wrote: > Le 01/09/2022 à 09:37, Gabriel Paubert a écrit : > > Agree, but there is one thing which escapes me: why is r3 listed in the > > outputs section (actually as a read write operand with the "+" > > constraint modifier) but is not

Re: [PATCH v2 15/16] objtool/powerpc: Enable objtool to be built on ppc

2022-09-01 Thread Segher Boessenkool
On Thu, Sep 01, 2022 at 09:32:46AM +, Christophe Leroy wrote: > Le 29/08/2022 à 07:52, Sathvika Vasireddy a écrit : > > +int arch_decode_instruction(struct objtool_file *file, const struct > > section *sec, > > + unsigned long offset, unsigned int maxlen, > > +

Re: [PATCH v2] powerpc: Fix irq_soft_mask_set() and irq_soft_mask_return() with sanitizer

2022-08-31 Thread Segher Boessenkool
Hi! On Tue, Aug 30, 2022 at 09:10:02AM +, Christophe Leroy wrote: > Le 30/08/2022 à 11:01, Nicholas Piggin a écrit : > > On Tue Aug 30, 2022 at 3:24 PM AEST, Christophe Leroy wrote: > >>> This is still slightly concerning to me. Is there any guarantee that the > >>> compiler would not use a

Re: [PATCH v2 16/16] objtool/powerpc: Add --mcount specific implementation

2022-08-31 Thread Segher Boessenkool
On Wed, Aug 31, 2022 at 12:50:07PM +, Christophe Leroy wrote: > Le 29/08/2022 à 07:52, Sathvika Vasireddy a écrit : > > + opcode = insn >> 26; > > + > > + switch (opcode) { > > + case 18: /* bl */ > > case 18 is more than 'bl', it includes also 'b'. > In both cases, the calculation of

Re: [PATCH] compiler-gcc.h: Remove ancient workaround for gcc PR 58670

2022-08-25 Thread Segher Boessenkool
Hi! On Thu, Aug 25, 2022 at 04:00:52PM +0530, Naveen N. Rao wrote: > This is causing a build issue on ppc64le with a new patch replacing use > of unreachable() with __builtin_unreachable() in __WARN_FLAGS(): > https://lore.kernel.org/linuxppc-dev/20220808114908.240813-2...@linux.ibm.com/ What

Re: [PATCH v2 11/14] powerpc/64s: Clear/restore caller gprs in syscall interrupt/return

2022-08-11 Thread Segher Boessenkool
On Thu, Aug 11, 2022 at 03:39:58PM +, Christophe Leroy wrote: > > > Le 11/08/2022 à 17:13, Segher Boessenkool a écrit : > > Hi! > > > > On Mon, Jul 25, 2022 at 04:31:11PM +1000, Rohan McLure wrote: > >> + /* > >> + * Zero user registers

Re: [PATCH v2 11/14] powerpc/64s: Clear/restore caller gprs in syscall interrupt/return

2022-08-11 Thread Segher Boessenkool
Hi! On Mon, Jul 25, 2022 at 04:31:11PM +1000, Rohan McLure wrote: > + /* > + * Zero user registers to prevent influencing speculative execution > + * state of kernel code. > + */ > + NULLIFY_GPRS(5, 12) > + NULLIFY_NVGPRS() "Nullify" means "invalidate", which is not

Re: [PATCHv3, resend] powerpc: mm: radix_tlb: rearrange the if-else block

2022-08-10 Thread Segher Boessenkool
Hi! On Wed, Aug 10, 2022 at 01:43:18PM +0200, Anders Roxell wrote: > Clang warns: > > arch/powerpc/mm/book3s64/radix_tlb.c:1191:23: error: variable 'hstart' is > uninitialized when used here [-Werror,-Wuninitialized] > __tlbiel_va_range(hstart, hend, pid, >

Re: [PATCH v1 1/3] powerpc: Fix eh field when calling lwarx on PPC32

2022-08-02 Thread Segher Boessenkool
spinlock.h > > So, do as in arch_atomic_try_cmpxchg_lock(), set it to 1 if PPC64 > but set it to 0 if PPC32. For that use IS_ENABLED(CONFIG_PPC64) which > returns 1 when CONFIG_PPC64 is set and 0 otherwise. > > Reported-by: Pali Rohár Reviewed-by: Segher Boessenkool > +

Re: Regression: Linux v5.15+ does not boot on Freescale P2020

2022-07-26 Thread Segher Boessenkool
On Tue, Jul 26, 2022 at 04:01:00PM +0200, Pali Rohár wrote: > On Tuesday 26 July 2022 08:44:05 Segher Boessenkool wrote: > > And the architecture says > > Programming Note > > Warning: On some processors that comply with versions of the > > architectur

Re: Regression: Linux v5.15+ does not boot on Freescale P2020

2022-07-26 Thread Segher Boessenkool
On Tue, Jul 26, 2022 at 11:02:59AM +0200, Arnd Bergmann wrote: > On Tue, Jul 26, 2022 at 10:34 AM Pali Rohár wrote: > > On Monday 25 July 2022 16:54:16 Segher Boessenkool wrote: > > > The EH field in larx insns is new since ISA 2.05, and some ISA 1.x cpu > > > imp

Re: [PATCH] drm/amdgpu: Re-enable DCN for 64-bit powerpc

2022-07-25 Thread Segher Boessenkool
Hi! On Mon, Jul 25, 2022 at 03:40:40PM -0700, Guenter Roeck wrote: > On 7/25/22 13:42, Segher Boessenkool wrote: > >>What I'm wondering is if the compiler is getting confused between > >>standard and long doubles when they are both the same bit length... > > > >

Re: Regression: Linux v5.15+ does not boot on Freescale P2020

2022-07-25 Thread Segher Boessenkool
On Mon, Jul 25, 2022 at 10:10:09PM +0200, Pali Rohár wrote: > On Monday 25 July 2022 16:20:49 Christophe Leroy wrote: > Now I did again clean test with same Debian 10 cross compiler. > > $ git clone > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git && cd linux > $ git checkout

Re: [PATCH] drm/amdgpu: Re-enable DCN for 64-bit powerpc

2022-07-25 Thread Segher Boessenkool
On Mon, Jul 25, 2022 at 02:34:08PM -0500, Timothy Pearson wrote: > >> Further digging shows that the build failures only occur with compilers > >> that default to 64-bit long double. > > > > Where the heck do we have 'long double' things anywhere in the kernel? > > > > I tried to grep for it,

Re: [PATCH] powerpc: Remove the static variable initialisations to 0

2022-07-25 Thread Segher Boessenkool
On Mon, Jul 25, 2022 at 01:27:52PM +1000, Michael Ellerman wrote: > Segher Boessenkool writes: > > On Sat, Jul 23, 2022 at 03:34:05PM +0200, Michal Suchánek wrote: > >> Hello, > >> > >> On Sat, Jul 23, 2022 at 05:24:36PM +0800, Jason Wang wrote: > >>

  1   2   3   4   5   6   7   8   9   10   >