<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Kconfig</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>f9aad622 - mm: rename GENERIC_PTDUMP and PTDUMP_CORE</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/Kconfig#f9aad622</link>
        <description>mm: rename GENERIC_PTDUMP and PTDUMP_COREPlatforms subscribe into generic ptdump implementation via GENERIC_PTDUMP.But generic ptdump gets enabled via PTDUMP_CORE.  These configscombination is confusing as they sound very similar and does notdifferentiate between platform&apos;s feature subscription and featureenablement for ptdump.  Rename the configs as ARCH_HAS_PTDUMP and PTDUMPmaking it more clear and improve readability.Link: https://lkml.kernel.org/r/20250226122404.1927473-6-anshuman.khandual@arm.comSigned-off-by: Anshuman Khandual &lt;anshuman.khandual@arm.com&gt;Reviewed-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt; (powerpc)Acked-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;	[arm64]Cc: Will Deacon &lt;will@kernel.org&gt;Cc: Jonathan Corbet &lt;corbet@lwn.net&gt;Cc: Marc Zyngier &lt;maz@kernel.org&gt;Cc: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Cc: Nicholas Piggin &lt;npiggin@gmail.com&gt;Cc: Paul Walmsley &lt;paul.walmsley@sifive.com&gt;Cc: Palmer Dabbelt &lt;palmer@dabbelt.com&gt;Cc: Heiko Carstens &lt;hca@linux.ibm.com&gt;Cc: Vasily Gorbik &lt;gor@linux.ibm.com&gt;Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;Cc: Ingo Molnar &lt;mingo@redhat.com&gt;Cc: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Cc: Madhavan Srinivasan &lt;maddy@linux.ibm.com&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Steven Price &lt;steven.price@arm.com&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/arch/powerpc/Kconfig</description>
        <pubDate>Wed, 26 Feb 2025 12:24:04 +0000</pubDate>
        <dc:creator>Anshuman Khandual &lt;anshuman.khandual@arm.com&gt;</dc:creator>
    </item>
<item>
        <title>e3185ee4 - powerpc/crash: use generic crashkernel reservation</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/Kconfig#e3185ee4</link>
        <description>powerpc/crash: use generic crashkernel reservationCommit 0ab97169aa05 (&quot;crash_core: add generic function to do reservation&quot;)added a generic function to reserve crashkernel memory.  So let&apos;s use thesame function on powerpc and remove the architecture-specific code thatessentially does the same thing.The generic crashkernel reservation also provides a way to split thecrashkernel reservation into high and low memory reservations, which canbe enabled for powerpc in the future.Along with moving to the generic crashkernel reservation, the code relatedto finding the base address for the crashkernel has been separated intoits own function name get_crash_base() for better readability andmaintainability.Link: https://lkml.kernel.org/r/20250131113830.925179-8-sourabhjain@linux.ibm.comSigned-off-by: Sourabh Jain &lt;sourabhjain@linux.ibm.com&gt;Reviewed-by: Mahesh Salgaonkar &lt;mahesh@linux.ibm.com&gt;Acked-by: Hari Bathini &lt;hbathini@linux.ibm.com&gt;Cc: Baoquan he &lt;bhe@redhat.com&gt;Cc: Madhavan Srinivasan &lt;maddy@linux.ibm.com&gt;Cc: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/arch/powerpc/Kconfig</description>
        <pubDate>Fri, 31 Jan 2025 11:38:30 +0000</pubDate>
        <dc:creator>Sourabh Jain &lt;sourabhjain@linux.ibm.com&gt;</dc:creator>
    </item>
<item>
        <title>f026dffd - powerpc: Remove PPC_OF_PLATFORM_PCI</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/Kconfig#f026dffd</link>
        <description>powerpc: Remove PPC_OF_PLATFORM_PCIThe Cell blade support was the last user of PPC_OF_PLATFORM_PCI, soremove it.Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Signed-off-by: Madhavan Srinivasan &lt;maddy@linux.ibm.com&gt;Link: https://patch.msgid.link/20241218105523.416573-8-mpe@ellerman.id.au

            List of files:
            /linux-6.15/arch/powerpc/Kconfig</description>
        <pubDate>Wed, 18 Dec 2024 10:54:56 +0000</pubDate>
        <dc:creator>Michael Ellerman &lt;mpe@ellerman.id.au&gt;</dc:creator>
    </item>
<item>
        <title>bd4a8342 - powerpc: Remove DCR_MMIO and the DCR generic layer</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/Kconfig#bd4a8342</link>
        <description>powerpc: Remove DCR_MMIO and the DCR generic layerThe Cell blade support was the last user of DCR_MMIO, so it can nowbe removed.That only leaves DCR_NATIVE, meaning the DCR generic layer which allowsusing either DCR_NATIVE or DCR_MMIO is also unnecessary, remove it too.Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Signed-off-by: Madhavan Srinivasan &lt;maddy@linux.ibm.com&gt;Link: https://patch.msgid.link/20241218105523.416573-7-mpe@ellerman.id.au

            List of files:
            /linux-6.15/arch/powerpc/Kconfig</description>
        <pubDate>Wed, 18 Dec 2024 10:54:55 +0000</pubDate>
        <dc:creator>Michael Ellerman &lt;mpe@ellerman.id.au&gt;</dc:creator>
    </item>
<item>
        <title>f50b4562 - powerpc/static_call: Implement inline static calls</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/Kconfig#f50b4562</link>
        <description>powerpc/static_call: Implement inline static callsImplement inline static calls:- Put a &apos;bl&apos; to the destination function (&apos;b&apos; if tail call)- Put a &apos;nop&apos; when the destination function is NULL (&apos;blr&apos; if tail call)- Put a &apos;li r3,0&apos; when the destination is the RET0 function and nota tail call.If the destination is too far (over the 32Mb limit), go via thetrampoline.Signed-off-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Signed-off-by: Madhavan Srinivasan &lt;maddy@linux.ibm.com&gt;Link: https://patch.msgid.link/3dbd0b2ba577c942729235d0211d04a406653d81.1733245362.git.christophe.leroy@csgroup.eu

            List of files:
            /linux-6.15/arch/powerpc/Kconfig</description>
        <pubDate>Tue, 03 Dec 2024 19:44:52 +0000</pubDate>
        <dc:creator>Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;</dc:creator>
    </item>
<item>
        <title>223970df - powerpc/vdso: Switch to generic storage implementation</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/Kconfig#223970df</link>
        <description>powerpc/vdso: Switch to generic storage implementationThe generic storage implementation provides the same features as thecustom one. However it can be shared between architectures, makingmaintenance easier.Co-developed-by: Nam Cao &lt;namcao@linutronix.de&gt;Signed-off-by: Nam Cao &lt;namcao@linutronix.de&gt;Signed-off-by: Thomas Wei&#223;schuh &lt;thomas.weissschuh@linutronix.de&gt;Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Reviewed-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Link: https://lore.kernel.org/all/20250204-vdso-store-rng-v3-14-13a4669dfc8c@linutronix.de

            List of files:
            /linux-6.15/arch/powerpc/Kconfig</description>
        <pubDate>Tue, 04 Feb 2025 12:05:46 +0000</pubDate>
        <dc:creator>Thomas Wei&#223;schuh &lt;thomas.weissschuh@linutronix.de&gt;</dc:creator>
    </item>
<item>
        <title>a762e926 - ftrace: Add CONFIG_HAVE_FTRACE_GRAPH_FUNC</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/Kconfig#a762e926</link>
        <description>ftrace: Add CONFIG_HAVE_FTRACE_GRAPH_FUNCAdd CONFIG_HAVE_FTRACE_GRAPH_FUNC kconfig in addition to ftrace_graph_funcmacro check. This is for the other feature (e.g. FPROBE) which requires toaccess ftrace_regs from fgraph_ops::entryfunc() can avoid compiling ifthe fgraph can not pass the valid ftrace_regs.Signed-off-by: Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;Cc: Catalin Marinas &lt;catalin.marinas@arm.com&gt;Cc: Alexei Starovoitov &lt;alexei.starovoitov@gmail.com&gt;Cc: Florent Revest &lt;revest@chromium.org&gt;Cc: Martin KaFai Lau &lt;martin.lau@linux.dev&gt;Cc: bpf &lt;bpf@vger.kernel.org&gt;Cc: Alexei Starovoitov &lt;ast@kernel.org&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Alan Maguire &lt;alan.maguire@oracle.com&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Will Deacon &lt;will@kernel.org&gt;Cc: Huacai Chen &lt;chenhuacai@kernel.org&gt;Cc: WANG Xuerui &lt;kernel@xen0n.name&gt;Cc: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Cc: Nicholas Piggin &lt;npiggin@gmail.com&gt;Cc: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Cc: Naveen N Rao &lt;naveen@kernel.org&gt;Cc: Madhavan Srinivasan &lt;maddy@linux.ibm.com&gt;Cc: Paul Walmsley &lt;paul.walmsley@sifive.com&gt;Cc: Palmer Dabbelt &lt;palmer@dabbelt.com&gt;Cc: Albert Ou &lt;aou@eecs.berkeley.edu&gt;Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;Cc: Ingo Molnar &lt;mingo@redhat.com&gt;Cc: Borislav Petkov &lt;bp@alien8.de&gt;Cc: Dave Hansen &lt;dave.hansen@linux.intel.com&gt;Cc: x86@kernel.orgCc: &quot;H. Peter Anvin&quot; &lt;hpa@zytor.com&gt;Cc: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;Link: https://lore.kernel.org/173519001472.391279.1174901685282588467.stgit@devnote2Signed-off-by: Steven Rostedt (Google) &lt;rostedt@goodmis.org&gt;

            List of files:
            /linux-6.15/arch/powerpc/Kconfig</description>
        <pubDate>Thu, 26 Dec 2024 05:13:34 +0000</pubDate>
        <dc:creator>Masami Hiramatsu (Google) &lt;mhiramat@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>00199ed6 - powerpc: Add preempt lazy support</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/Kconfig#00199ed6</link>
        <description>powerpc: Add preempt lazy supportDefine preempt lazy bit for Powerpc. Use bit 9 which is free and within16 bit range of NEED_RESCHED, so compiler can issue single andi.Since Powerpc doesn&apos;t use the generic entry/exit, add lazy check at exitto user. CONFIG_PREEMPTION is defined for lazy/full/rt so use it forreturn to kernel.Ran a few benchmarks and db workload on Power10. Performance is close topreempt=none/voluntary.Since Powerpc systems can have large core count and large memory,preempt lazy is going to be helpful in avoiding soft lockup issues.Reviewed-by: Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;Reviewed-by: Ankur Arora &lt;ankur.a.arora@oracle.com&gt;Signed-off-by: Shrikanth Hegde &lt;sshegde@linux.ibm.com&gt;Signed-off-by: Madhavan Srinivasan &lt;maddy@linux.ibm.com&gt;Link: https://patch.msgid.link/20241116192306.88217-2-sshegde@linux.ibm.com

            List of files:
            /linux-6.15/arch/powerpc/Kconfig</description>
        <pubDate>Sat, 16 Nov 2024 19:23:05 +0000</pubDate>
        <dc:creator>Shrikanth Hegde &lt;sshegde@linux.ibm.com&gt;</dc:creator>
    </item>
<item>
        <title>7439cfed - powerpc/crc-t10dif: expose CRC-T10DIF function through lib</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/Kconfig#7439cfed</link>
        <description>powerpc/crc-t10dif: expose CRC-T10DIF function through libMove the powerpc CRC-T10DIF assembly code into the lib directory andwire it up to the library interface.  This allows it to be used withoutgoing through the crypto API.  It remains usable via the crypto API toovia the shash algorithms that use the library interface.  Thus all thearch-specific &quot;shash&quot; code becomes unnecessary and is removed.Note: to see the diff from arch/powerpc/crypto/crct10dif-vpmsum_glue.cto arch/powerpc/lib/crc-t10dif-glue.c, view this commit with&apos;git show -M10&apos;.Reviewed-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;Reviewed-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;Link: https://lore.kernel.org/r/20241202012056.209768-8-ebiggers@kernel.orgSigned-off-by: Eric Biggers &lt;ebiggers@google.com&gt;

            List of files:
            /linux-6.15/arch/powerpc/Kconfig</description>
        <pubDate>Mon, 02 Dec 2024 01:20:51 +0000</pubDate>
        <dc:creator>Eric Biggers &lt;ebiggers@google.com&gt;</dc:creator>
    </item>
<item>
        <title>372ff60a - powerpc/crc32: expose CRC32 functions through lib</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/Kconfig#372ff60a</link>
        <description>powerpc/crc32: expose CRC32 functions through libMove the powerpc CRC32C assembly code into the lib directory and wire itup to the library interface.  This allows it to be used without goingthrough the crypto API.  It remains usable via the crypto API too viathe shash algorithms that use the library interface.  Thus all thearch-specific &quot;shash&quot; code becomes unnecessary and is removed.Note: to see the diff from arch/powerpc/crypto/crc32c-vpmsum_glue.c toarch/powerpc/lib/crc32-glue.c, view this commit with &apos;git show -M10&apos;.Reviewed-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;Acked-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Link: https://lore.kernel.org/r/20241202010844.144356-9-ebiggers@kernel.orgSigned-off-by: Eric Biggers &lt;ebiggers@google.com&gt;

            List of files:
            /linux-6.15/arch/powerpc/Kconfig</description>
        <pubDate>Mon, 02 Dec 2024 01:08:33 +0000</pubDate>
        <dc:creator>Eric Biggers &lt;ebiggers@google.com&gt;</dc:creator>
    </item>
<item>
        <title>31daa343 - crash, powerpc: default to CRASH_DUMP=n on PPC_BOOK3S_32</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/Kconfig#31daa343</link>
        <description>crash, powerpc: default to CRASH_DUMP=n on PPC_BOOK3S_32Fixes boot failures on 6.9 on PPC_BOOK3S_32 machines using Open Firmware. On these machines, the kernel refuses to boot from non-zeroPHYSICAL_START, which occurs when CRASH_DUMP is on.Since most PPC_BOOK3S_32 machines boot via Open Firmware, it shoulddefault to off for them.  Users booting via some other mechanism can stillturn it on explicitly.Does not change the default on any other architectures for thetime being.Link: https://lkml.kernel.org/r/20240917163720.1644584-1-dave@vasilevsky.caFixes: 75bc255a7444 (&quot;crash: clean up kdump related config items&quot;)Signed-off-by: Dave Vasilevsky &lt;dave@vasilevsky.ca&gt;Reported-by: Reimar D&#246;ffinger &lt;Reimar.Doeffinger@gmx.de&gt;Closes: https://lists.debian.org/debian-powerpc/2024/07/msg00001.htmlAcked-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;	[powerpc]Acked-by: Baoquan He &lt;bhe@redhat.com&gt;Cc: &quot;Eric W. Biederman&quot; &lt;ebiederm@xmission.com&gt;Cc: John Paul Adrian Glaubitz &lt;glaubitz@physik.fu-berlin.de&gt;Cc: Reimar D&#246;ffinger &lt;Reimar.Doeffinger@gmx.de&gt;Cc: &lt;stable@vger.kernel.org&gt;Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;

            List of files:
            /linux-6.15/arch/powerpc/Kconfig</description>
        <pubDate>Tue, 17 Sep 2024 16:37:20 +0000</pubDate>
        <dc:creator>Dave Vasilevsky &lt;dave@vasilevsky.ca&gt;</dc:creator>
    </item>
<item>
        <title>c22c06b4 - powerpc: Add kconfig option for the systemcfg page</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/Kconfig#c22c06b4</link>
        <description>powerpc: Add kconfig option for the systemcfg pageThe systemcfg page through procfs is only a backwards-compatibleinterface for very old applications.Make it possible to be disabled.This also creates a convenient config #define to guard any accesses tothe systemcfg page.Signed-off-by: Thomas Wei&#223;schuh &lt;thomas.weissschuh@linutronix.de&gt;Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Link: https://lore.kernel.org/all/20241010-vdso-generic-base-v1-25-b64f0842d512@linutronix.de

            List of files:
            /linux-6.15/arch/powerpc/Kconfig</description>
        <pubDate>Thu, 10 Oct 2024 07:01:27 +0000</pubDate>
        <dc:creator>Thomas Wei&#223;schuh &lt;thomas.weissschuh@linutronix.de&gt;</dc:creator>
    </item>
<item>
        <title>71db948b - samples/ftrace: Add support for ftrace direct samples on powerpc</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/Kconfig#71db948b</link>
        <description>samples/ftrace: Add support for ftrace direct samples on powerpcAdd powerpc 32-bit and 64-bit samples for ftrace direct. This serves toshow the sample instruction sequence to be used by ftrace direct callsto adhere to the ftrace ABI.On 64-bit powerpc, TOC setup requires some additional work.Signed-off-by: Naveen N Rao &lt;naveen@kernel.org&gt;Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Link: https://patch.msgid.link/20241030070850.1361304-17-hbathini@linux.ibm.com

            List of files:
            /linux-6.15/arch/powerpc/Kconfig</description>
        <pubDate>Wed, 30 Oct 2024 07:08:49 +0000</pubDate>
        <dc:creator>Naveen N Rao &lt;naveen@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>a52f6043 - powerpc/ftrace: Add support for DYNAMIC_FTRACE_WITH_DIRECT_CALLS</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/Kconfig#a52f6043</link>
        <description>powerpc/ftrace: Add support for DYNAMIC_FTRACE_WITH_DIRECT_CALLSAdd support for DYNAMIC_FTRACE_WITH_DIRECT_CALLS similar to the arm64implementation.ftrace direct calls allow custom trampolines to be called into directlyfrom function ftrace call sites, bypassing the ftrace trampolinecompletely. This functionality is currently utilized by BPF trampolinesto hook into kernel function entries.Since we have limited relative branch range, we support ftrace directcalls through support for DYNAMIC_FTRACE_WITH_CALL_OPS. In thisapproach, ftrace trampoline is not entirely bypassed. Rather, it isre-purposed into a stub that reads direct_call field from the associatedftrace_ops structure and branches into that, if it is not NULL. Forthis, it is sufficient if we can ensure that the ftrace trampoline isreachable from all traceable functions.When multiple ftrace_ops are associated with a call site, we utilize acall back to set pt_regs-&gt;orig_gpr3 that can then be tested on thereturn path from the ftrace trampoline to branch into the direct caller.Signed-off-by: Naveen N Rao &lt;naveen@kernel.org&gt;Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Link: https://patch.msgid.link/20241030070850.1361304-16-hbathini@linux.ibm.com

            List of files:
            /linux-6.15/arch/powerpc/Kconfig</description>
        <pubDate>Wed, 30 Oct 2024 07:08:48 +0000</pubDate>
        <dc:creator>Naveen N Rao &lt;naveen@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>e717754f - powerpc/ftrace: Add support for DYNAMIC_FTRACE_WITH_CALL_OPS</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/Kconfig#e717754f</link>
        <description>powerpc/ftrace: Add support for DYNAMIC_FTRACE_WITH_CALL_OPSImplement support for DYNAMIC_FTRACE_WITH_CALL_OPS similar to thearm64 implementation.This works by patching-in a pointer to an associated ftrace_opsstructure before each traceable function. If multiple ftrace_ops areassociated with a call site, then a special ftrace_list_ops is used toenable iterating over all the registered ftrace_ops. If no ftrace_opsare associated with a call site, then a special ftrace_nop_ops structureis used to render the ftrace call as a no-op. ftrace trampoline can thenread the associated ftrace_ops for a call site by loading from an offsetfrom the LR, and branch directly to the associated function.The primary advantage with this approach is that we don&apos;t have toiterate over all the registered ftrace_ops for call sites that have asingle ftrace_ops registered. This is the equivalent of implementingsupport for dynamic ftrace trampolines, which set up a special ftracetrampoline for each registered ftrace_ops and have individual call sitesbranch into those directly.A secondary advantage is that this gives us a way to add support fordirect ftrace callers without having to resort to using stubs. Theaddress of the direct call trampoline can be loaded from the ftrace_opsstructure.To support this, we reserve a nop before each function on 32-bitpowerpc. For 64-bit powerpc, two nops are reserved before eachout-of-line stub. During ftrace activation, we update this location withthe associated ftrace_ops pointer. Then, on ftrace entry, we load fromthis location and call into ftrace_ops-&gt;func().For 64-bit powerpc, we ensure that the out-of-line stub area isdoubleword aligned so that ftrace_ops address can be updated atomically.Signed-off-by: Naveen N Rao &lt;naveen@kernel.org&gt;Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Link: https://patch.msgid.link/20241030070850.1361304-15-hbathini@linux.ibm.com

            List of files:
            /linux-6.15/arch/powerpc/Kconfig</description>
        <pubDate>Wed, 30 Oct 2024 07:08:47 +0000</pubDate>
        <dc:creator>Naveen N Rao &lt;naveen@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>cf9bc0ef - powerpc64/ftrace: Support .text larger than 32MB with out-of-line stubs</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/Kconfig#cf9bc0ef</link>
        <description>powerpc64/ftrace: Support .text larger than 32MB with out-of-line stubsWe are restricted to a .text size of ~32MB when using out-of-linefunction profile sequence. Allow this to be extended up to the previouslimit of ~64MB by reserving space in the middle of .text.A new config option CONFIG_PPC_FTRACE_OUT_OF_LINE_NUM_RESERVE isintroduced to specify the number of function stubs that are reserved in.text. On boot, ftrace utilizes stubs from this area first before usingthe stub area at the end of .text.A ppc64le defconfig has ~44k functions that can be traced. A moreconservative value of 32k functions is chosen as the default value ofPPC_FTRACE_OUT_OF_LINE_NUM_RESERVE so that we do not allot more spacethan necessary by default. If building a kernel that only has 32ktrace-able functions, we won&apos;t allot any more space at the end of .textduring the pass on vmlinux.o. Otherwise, only the remaining functionsget space for stubs at the end of .text. This default value should helpcover a .text size of ~48MB in total (including space reserved at theend of .text which can cover up to 32MB), which should be sufficient formost common builds. For a very small kernel build, this can be set to 0.Or, this can be bumped up to a larger value to support vmlinux .textsize up to ~64MB.Signed-off-by: Naveen N Rao &lt;naveen@kernel.org&gt;Signed-off-by: Hari Bathini &lt;hbathini@linux.ibm.com&gt;Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Link: https://patch.msgid.link/20241030070850.1361304-14-hbathini@linux.ibm.com

            List of files:
            /linux-6.15/arch/powerpc/Kconfig</description>
        <pubDate>Wed, 30 Oct 2024 07:08:46 +0000</pubDate>
        <dc:creator>Naveen N Rao &lt;naveen@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>eec37961 - powerpc64/ftrace: Move ftrace sequence out of line</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/Kconfig#eec37961</link>
        <description>powerpc64/ftrace: Move ftrace sequence out of lineFunction profile sequence on powerpc includes two instructions at thebeginning of each function:	mflr	r0	bl	ftrace_callerThe call to ftrace_caller() gets nop&apos;ed out during kernel boot and ispatched in when ftrace is enabled.Given the sequence, we cannot return from ftrace_caller with &apos;blr&apos; as weneed to keep LR and r0 intact. This results in link stack (returnaddress predictor) imbalance when ftrace is enabled. To address that, wewould like to use a three instruction sequence:	mflr	r0	bl	ftrace_caller	mtlr	r0Further more, to support DYNAMIC_FTRACE_WITH_CALL_OPS, we need toreserve two instruction slots before the function. This results in atotal of five instruction slots to be reserved for ftrace use on eachfunction that is traced.Move the function profile sequence out-of-line to minimize its impact.To do this, we reserve a single nop at function entry using-fpatchable-function-entry=1 and add a pass on vmlinux.o to determinethe total number of functions that can be traced. This is then used togenerate a .S file reserving the appropriate amount of space for use asftrace stubs, which is built and linked into vmlinux.On bootup, the stub space is split into separate stubs per function andpopulated with the proper instruction sequence. A pointer to theassociated stub is maintained in dyn_arch_ftrace.For modules, space for ftrace stubs is reserved from the generic modulestub space.This is restricted to and enabled by default only on 64-bit powerpc,though there are some changes to accommodate 32-bit powerpc. This isdone so that 32-bit powerpc could choose to opt into this based onfurther tests and benchmarks.As an example, after this patch, kernel functions will have a single nopat function entry:&lt;kernel_clone&gt;:	addis	r2,r12,467	addi	r2,r2,-16028	nop	mfocrf	r11,8	...When ftrace is enabled, the nop is converted to an unconditional branchto the stub associated with that function:&lt;kernel_clone&gt;:	addis	r2,r12,467	addi	r2,r2,-16028	b	ftrace_ool_stub_text_end+0x11b28	mfocrf	r11,8	...The associated stub:&lt;ftrace_ool_stub_text_end+0x11b28&gt;:	mflr	r0	bl	ftrace_caller	mtlr	r0	b	kernel_clone+0xc	...This change showed an improvement of ~10% in null_syscall benchmark on aPower 10 system with ftrace enabled.Signed-off-by: Naveen N Rao &lt;naveen@kernel.org&gt;Signed-off-by: Hari Bathini &lt;hbathini@linux.ibm.com&gt;Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Link: https://patch.msgid.link/20241030070850.1361304-13-hbathini@linux.ibm.com

            List of files:
            /linux-6.15/arch/powerpc/Kconfig</description>
        <pubDate>Wed, 30 Oct 2024 07:08:45 +0000</pubDate>
        <dc:creator>Naveen N Rao &lt;naveen@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>782f46cb - powerpc/ftrace: Add a postlink script to validate function tracer</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/Kconfig#782f46cb</link>
        <description>powerpc/ftrace: Add a postlink script to validate function tracerFunction tracer on powerpc can only work with vmlinux having a .textsize of up to ~64MB due to powerpc branch instruction having a limitedrelative branch range of 32MB. Today, this is only detected on kernelboot when ftrace is init&apos;ed. Add a post-link script to check the size of.text so that we can detect this at build time, and break the build ifnecessary.We add a dependency on !COMPILE_TEST for CONFIG_HAVE_FUNCTION_TRACER sothat allyesconfig and other test builds can continue to work withoutenabling ftrace.Signed-off-by: Naveen N Rao &lt;naveen@kernel.org&gt;Signed-off-by: Hari Bathini &lt;hbathini@linux.ibm.com&gt;Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Link: https://patch.msgid.link/20241030070850.1361304-11-hbathini@linux.ibm.com

            List of files:
            /linux-6.15/arch/powerpc/Kconfig</description>
        <pubDate>Wed, 30 Oct 2024 07:08:43 +0000</pubDate>
        <dc:creator>Naveen N Rao &lt;naveen@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>46e1879d - powerpc: Fix stack protector Kconfig test for clang</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/Kconfig#46e1879d</link>
        <description>powerpc: Fix stack protector Kconfig test for clangClang&apos;s in-progress per-task stack protector support [1] does not workwith the current Kconfig checks because &apos;-mstack-protector-guard-offset&apos;is not provided, unlike all other architecture Kconfig checks.  $ fd Kconfig -x rg -l mstack-protector-guard-offset  ./arch/arm/Kconfig  ./arch/riscv/Kconfig  ./arch/arm64/KconfigThis produces an error from clang, which is interpreted as the flags notbeing supported at all when they really are.  $ clang --target=powerpc64-linux-gnu \          -mstack-protector-guard=tls \          -mstack-protector-guard-reg=r13 \          -c -o /dev/null -x c /dev/null  clang: error: &apos;-mstack-protector-guard=tls&apos; is used without &apos;-mstack-protector-guard-offset&apos;, and there is no defaultThis argument will always be provided by the build system, so mirrorother architectures and use &apos;-mstack-protector-guard-offset=0&apos; fortesting support, which fixes the issue for clang and does not regresssupport with GCC.Even with the first problem addressed, the 32-bit test continues to failbecause Kbuild uses the powerpc64le-linux-gnu target for clang andnothing flips the target to 32-bit, resulting in an error about aninvalid register valid:  $ clang --target=powerpc64le-linux-gnu \          -mstack-protector-guard=tls          -mstack-protector-guard-reg=r2 \          -mstack-protector-guard-offset=0 \          -x c -c -o /dev/null /dev/null  clang: error: invalid value &apos;r2&apos; in &apos;mstack-protector-guard-reg=&apos;, expected one of: r13While GCC allows arbitrary registers, the implementation of&apos;-mstack-protector-guard=tls&apos; in LLVM shares the same code path as theuser space thread local storage implementation, which uses a fixedregister (2 for 32-bit and 13 for 62-bit), so the command line parsingenforces this limitation.Use the Kconfig macro &apos;$(m32-flag)&apos;, which expands to &apos;-m32&apos; whensupported, in the stack protector support cc-option call to properlyswitch the target to a 32-bit one, which matches what happens in Kbuild.While the 64-bit macro does not strictly need it, add the equivalent64-bit option for symmetry.Cc: stable@vger.kernel.org # 6.1+Link: https://github.com/llvm/llvm-project/pull/110928 [1]Reviewed-by: Keith Packard &lt;keithp@keithp.com&gt;Tested-by: Keith Packard &lt;keithp@keithp.com&gt;Signed-off-by: Nathan Chancellor &lt;nathan@kernel.org&gt;Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Link: https://patch.msgid.link/20241009-powerpc-fix-stackprotector-test-clang-v2-1-12fb86b31857@kernel.org

            List of files:
            /linux-6.15/arch/powerpc/Kconfig</description>
        <pubDate>Wed, 09 Oct 2024 19:26:08 +0000</pubDate>
        <dc:creator>Nathan Chancellor &lt;nathan@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>8072b39c - powerpc/vdso: Wire up getrandom() vDSO implementation on VDSO64</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/powerpc/Kconfig#8072b39c</link>
        <description>powerpc/vdso: Wire up getrandom() vDSO implementation on VDSO64Extend getrandom() vDSO implementation to VDSO64.Tested on QEMU on both ppc64_defconfig and ppc64le_defconfig.Results from a Power9 (PowerNV):~ # ./vdso_test_getrandom bench-single&#160;&#160; vdso: 25000000 times in 0.787943615 seconds&#160;&#160; libc: 25000000 times in 14.101887252 seconds&#160;&#160; syscall: 25000000 times in 14.047475082 secondsSigned-off-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Tested-by: Madhavan Srinivasan &lt;maddy@linux.ibm.com&gt;Acked-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;

            List of files:
            /linux-6.15/arch/powerpc/Kconfig</description>
        <pubDate>Mon, 02 Sep 2024 19:17:22 +0000</pubDate>
        <dc:creator>Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;</dc:creator>
    </item>
</channel>
</rss>
