<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in strchr.S</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>feff82eb5f4075d541990d0ba60dad14ea83ea9b - Merge tag &apos;riscv-for-linus-7.1-mw1&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux</title>
        <link>http://kernelsources.org:8080/source/history/linux/arch/riscv/lib/strchr.S#feff82eb5f4075d541990d0ba60dad14ea83ea9b</link>
        <description>Merge tag &apos;riscv-for-linus-7.1-mw1&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linuxPull RISC-V updates from Paul Walmsley: &quot;There is one significant change outside arch/riscv in this pull  request: the addition of a set of KUnit tests for strlen(), strnlen(),  and strrchr().  Otherwise, the most notable changes are to add some RISC-V-specific  string function implementations, to remove XIP kernel support, to add  hardware error exception handling, and to optimize our runtime  unaligned access speed testing.  A few comments on the motivation for removing XIP support. It&apos;s been  broken in the RISC-V kernel for months. The code is not easy to  maintain. Furthermore, for XIP support to truly be useful for RISC-V,  we think that compile-time feature switches would need to be added for  many of the RISC-V ISA features and microarchitectural properties that  are currently implemented with runtime patching. No one has stepped  forward to take responsibility for that work, so many of us think it&apos;s  best to remove it until clear use cases and champions emerge.  Summary:   - Add Kunit correctness testing and microbenchmarks for strlen(),     strnlen(), and strrchr()   - Add RISC-V-specific strnlen(), strchr(), strrchr() implementations   - Add hardware error exception handling   - Clean up and optimize our unaligned access probe code   - Enable HAVE_IOREMAP_PROT to be able to use generic_access_phys()   - Remove XIP kernel support   - Warn when addresses outside the vmemmap range are passed to     vmemmap_populate()   - Update the ACPI FADT revision check to warn if it&apos;s not at least     ACPI v6.6, which is when key RISC-V-specific tables were added to     the specification   - Increase COMMAND_LINE_SIZE to 2048 to match ARM64, x86, PowerPC,     etc.   - Make kaslr_offset() a static inline function, since there&apos;s no need     for it to show up in the symbol table   - Add KASLR offset and SATP to the VMCOREINFO ELF notes to improve     kdump support   - Add Makefile cleanup rule for vdso_cfi copied source files, and add     a .gitignore for the build artifacts in that directory   - Remove some redundant ifdefs that check Kconfig macros   - Add missing SPDX license tag to the CFI selftest   - Simplify UTS_MACHINE assignment in the RISC-V Makefile   - Clarify some unclear comments and remove some superfluous comments   - Fix various English typos across the RISC-V codebase&quot;* tag &apos;riscv-for-linus-7.1-mw1&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (31 commits)  riscv: Remove support for XIP kernel  riscv: Reuse compare_unaligned_access() in check_vector_unaligned_access()  riscv: Split out compare_unaligned_access()  riscv: Reuse measure_cycles() in check_vector_unaligned_access()  riscv: Split out measure_cycles() for reuse  riscv: Clean up &amp; optimize unaligned scalar access probe  riscv: lib: add strrchr() implementation  riscv: lib: add strchr() implementation  riscv: lib: add strnlen() implementation  lib/string_kunit: extend benchmarks to strnlen() and chr searches  lib/string_kunit: add performance benchmark for strlen()  lib/string_kunit: add correctness test for strrchr()  lib/string_kunit: add correctness test for strnlen()  lib/string_kunit: add correctness test for strlen()  riscv: vdso_cfi: Add .gitignore for build artifacts  riscv: vdso_cfi: Add clean rule for copied sources  riscv: enable HAVE_IOREMAP_PROT  riscv: mm: WARN_ON() for bad addresses in vmemmap_populate()  riscv: acpi: update FADT revision check to 6.6  riscv: add hardware error trap handler support  ...

            List of files:
            /linux/arch/riscv/lib/strchr.S</description>
        <pubDate>Fri, 24 Apr 2026 19:00:37 +0200</pubDate>
        <dc:creator>Linus Torvalds &lt;torvalds@linux-foundation.org&gt;</dc:creator>
    </item>
<item>
        <title>adf542133960d402f63c976b00e46be4d986d4c3 - riscv: lib: add strchr() implementation</title>
        <link>http://kernelsources.org:8080/source/history/linux/arch/riscv/lib/strchr.S#adf542133960d402f63c976b00e46be4d986d4c3</link>
        <description>riscv: lib: add strchr() implementationAdd an assembly implementation of strchr() for RISC-V.By eliminating stack frame management (prologue/epilogue) and optimizingthe function entries, the assembly version provides significant relativegains for short strings where the fixed overhead of the C function ismost prominent. As string length increases, performance converges withthe generic C implementation.Benchmark results (QEMU TCG, rv64):  Length | Original (MB/s) | Optimized (MB/s) | Improvement  -------|-----------------|------------------|------------  1 B    | 21              | 22               | +4.8%  7 B    | 113             | 121              | +7.1%  16 B   | 195             | 202              | +3.6%  512 B  | 376             | 389              | +3.5%  4096 B | 394             | 393              | -0.3%Signed-off-by: Feng Jiang &lt;jiangfeng@kylinos.cn&gt;Tested-by: Joel Stanley &lt;joel@jms.id.au&gt;Link: https://patch.msgid.link/20260130025018.172925-8-jiangfeng@kylinos.cnSigned-off-by: Paul Walmsley &lt;pjw@kernel.org&gt;

            List of files:
            /linux/arch/riscv/lib/strchr.S</description>
        <pubDate>Sat, 04 Apr 2026 03:28:47 +0200</pubDate>
        <dc:creator>Feng Jiang &lt;jiangfeng@kylinos.cn&gt;</dc:creator>
    </item>
</channel>
</rss>
