From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7F1CA2E6CB6 for ; Thu, 4 Dec 2025 19:19:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764875963; cv=none; b=PHBgvy2g/ROrXXpJQUHr8NdQ+6NZxT3IczN+IRM5N9543kgXgilxNgXzywg39x0dL6avFe4gScEgHc235DbCZaWz1on5Vfv5uztltxPzLK1wlf0i7oDRB6CuH9kA25CbCp/7mNeOd/5PIZjjNodDUX4MDCx/mdN6fYN/xmmLKpY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764875963; c=relaxed/simple; bh=aVQiG4laDMB+K0Hoprjq3w/pVCARzNmbtBauHoKvIHU=; h=Date:From:To:cc:Subject:Message-ID:MIME-Version:Content-Type; b=A/8nYB2EOzaL/0q1a0fhh+YEWrnL9r9lRrd3ethzg9MlPisxWZKkgehejL7WvtAh3p5IRYnhMdhv4as5ZUd4If/aa7kGRo0kBN6xTy8YJ42hfpZRyFpTatIjKAh9KssfEgPGzicIvQGqdoS3eDwINjQqYUDB8eCba5h4YvqCeO8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=PJBokKS+; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="PJBokKS+" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 32D10C4CEFB; Thu, 4 Dec 2025 19:19:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1764875963; bh=aVQiG4laDMB+K0Hoprjq3w/pVCARzNmbtBauHoKvIHU=; h=Date:From:To:cc:Subject:From; b=PJBokKS+0ZPvFozQmq35DJxIpLVTbcdwqQobLBSy9ca9nzBR8ikxWEaVft6CvV53H ObAfiNJfTKeGvW8cGp5DjLLyWpzmcsgucetVvTbWwAq431p2JK5JXFb2i7Uvok/pqh Xcr+FZD4JYc7ZgGQUbp0RdK4EKPd6fIm1wlxAnA2glCwzhbJf1VK0nzvkJBxEZOGtJ oZkR1hS52htMN5Kpon/83FZYQ8NsXO4HTQx4ca7wNryH9zRqjGDvgSl7icrgbNdgl1 ftGeTtkdYwWc0ahkxPsoDZV711FjLO3RLKB+iCC6bj/sQh1vdtsJ3MXPmxUbbU73+n B/HA4QFEnE9cQ== Date: Thu, 4 Dec 2025 12:19:20 -0700 (MST) From: Paul Walmsley To: torvalds@linux-foundation.org cc: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] RISC-V updates for the v6.19 merge window (part one) Message-ID: <6b437742-e1c2-f6dd-61c8-fb3de45d3351@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Linus, Please pull this first set of RISC-V updates for the v6.19 merge window. The patches here should be uncontroversial. They primarily involve probing support for recently-ratified RISC-V ISA extensions, kselftest additions, and cleanups. - Paul The following changes since commit 4427259cc7f7571a157fbc9b5011e1ef6fe0a4a8: Merge tag 'riscv-for-linus-6.18-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux (2025-11-10 15:35:45 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux tags/riscv-for-linus-6.19-mw1 for you to fetch changes up to a131fd60796dbfaa6297c0c8ca8e2a7610a64281: selftests/riscv: Add Zicbop prefetch test (2025-11-19 09:19:29 -0700) ---------------------------------------------------------------- First set of RISC-V updates for v6.19-rc1 - Enable parallel hotplug for RISC-V - Optimize vector regset allocation for ptrace() - Add a kernel selftest for the vector ptrace interface - Enable the userspace RAID6 test to build and run using RISC-V vectors - Add initial support for the Zalasr RISC-V ratified ISA extension - For the Zicbop RISC-V ratified ISA extension to userspace, expose hardware and kernel support to userspace and add a kselftest for Zicbop - Convert open-coded instances of 'asm goto's that are controlled by runtime ALTERNATIVEs to use riscv_has_extension_{un,}likely(), following arm64's alternative_has_cap_{un,}likely() - Remove an unnecessary mask in the GFP flags used in some calls to pagetable_alloc() ---------------------------------------------------------------- Anup Patel (1): RISC-V: Enable HOTPLUG_PARALLEL for secondary CPUs Chunyan Zhang (3): raid6: riscv: Prevent compiler from breaking inline vector assembly code raid6: riscv: Allow code to be compiled in userspace raid6: test: Add support for RISC-V Vishal Moola (Oracle) (1): riscv: Remove __GFP_HIGHMEM masking Vivian Wang (5): riscv: pgtable: Use riscv_has_extension_unlikely riscv: checksum: Use riscv_has_extension_likely riscv: hweight: Use riscv_has_extension_likely riscv: bitops: Use riscv_has_extension_likely riscv: cmpxchg: Use riscv_has_extension_likely Xu Lu (4): riscv: Add ISA extension parsing for Zalasr dt-bindings: riscv: Add Zalasr ISA extension description riscv: hwprobe: Export Zalasr extension riscv: Introduce Zalasr instructions Yao Zihong (2): riscv: hwprobe: Expose Zicbop extension and its block size selftests/riscv: Add Zicbop prefetch test Yong-Xuan Wang (2): riscv: ptrace: Optimize the allocation of vector regset selftests: riscv: Add test for the Vector ptrace interface Documentation/arch/riscv/hwprobe.rst | 11 +- .../devicetree/bindings/riscv/extensions.yaml | 5 + arch/riscv/Kconfig | 2 +- arch/riscv/include/asm/arch_hweight.h | 24 +- arch/riscv/include/asm/bitops.h | 32 +-- arch/riscv/include/asm/checksum.h | 13 +- arch/riscv/include/asm/cmpxchg.h | 12 +- arch/riscv/include/asm/hwcap.h | 1 + arch/riscv/include/asm/hwprobe.h | 2 +- arch/riscv/include/asm/insn-def.h | 79 ++++++ arch/riscv/include/asm/pgtable.h | 15 +- arch/riscv/include/asm/vector.h | 1 + arch/riscv/include/uapi/asm/hwprobe.h | 3 + arch/riscv/kernel/cpufeature.c | 1 + arch/riscv/kernel/ptrace.c | 24 +- arch/riscv/kernel/smpboot.c | 15 ++ arch/riscv/kernel/sys_hwprobe.c | 7 + arch/riscv/kernel/vector.c | 2 + arch/riscv/lib/csum.c | 53 +--- arch/riscv/mm/init.c | 4 +- arch/riscv/mm/pgtable.c | 22 +- lib/raid6/recov_rvv.c | 7 +- lib/raid6/rvv.c | 299 +++++++++++---------- lib/raid6/rvv.h | 17 ++ lib/raid6/test/Makefile | 8 + tools/testing/selftests/riscv/hwprobe/cbo.c | 165 ++++++++++-- tools/testing/selftests/riscv/vector/Makefile | 5 +- .../testing/selftests/riscv/vector/vstate_ptrace.c | 134 +++++++++ 28 files changed, 657 insertions(+), 306 deletions(-) create mode 100644 tools/testing/selftests/riscv/vector/vstate_ptrace.c vmlinux size differences in bytes (from 4427259cc7f7): text data bss dec hex filename +772 +472 . +1244 +4dc vmlinux.defconfig.gcc-15 -28 +64 . +36 +24 vmlinux.nosmp_defconfig.gcc-15 +904 +256 . +1160 +488 vmlinux.rv32_defconfig.gcc-15 +60 +32 . +92 +5c vmlinux.rv32_nosmp_defconfig.gcc-15 +1047 -4008 . -2961 -b91 vmlinux.nommu_virt_defconfig.gcc-15 +636 +504 . +1140 +474 vmlinux.defconfig.clang-20 +244 +64 . +308 +134 vmlinux.nosmp_defconfig.clang-20 +204 +384 . +588 +24c vmlinux.rv32_defconfig.clang-20 -192 +96 . -96 -60 vmlinux.rv32_nosmp_defconfig.clang-20 +931 +120 . +1051 +41b vmlinux.nommu_virt_defconfig.clang-20 +600 -1128 . -528 -210 vmlinux.defconfig.gcc-14 +200 +64 . +264 +108 vmlinux.nosmp_defconfig.gcc-14 +892 +224 . +1116 +45c vmlinux.rv32_defconfig.gcc-14 +248 +96 . +344 +158 vmlinux.rv32_nosmp_defconfig.gcc-14 +1043 +88 . +1131 +46b vmlinux.nommu_virt_defconfig.gcc-14 +384 +472 . +856 +358 vmlinux.defconfig.clang-19 +92 +64 . +156 +9c vmlinux.nosmp_defconfig.clang-19 +96 +368 . +464 +1d0 vmlinux.rv32_defconfig.clang-19 -456 +112 . -344 -158 vmlinux.rv32_nosmp_defconfig.clang-19 +875 +120 . +995 +3e3 vmlinux.nommu_virt_defconfig.clang-19 +584 +216 . +800 +320 vmlinux.defconfig.gcc-13 +200 +32 . +232 +e8 vmlinux.nosmp_defconfig.gcc-13 +928 +256 . +1184 +4a0 vmlinux.rv32_defconfig.gcc-13 +164 +96 . +260 +104 vmlinux.rv32_nosmp_defconfig.gcc-13 +1079 -4072 . -2993 -bb1 vmlinux.nommu_virt_defconfig.gcc-13 +276 +472 . +748 +2ec vmlinux.defconfig.clang-18 +12 +64 . +76 +4c vmlinux.nosmp_defconfig.clang-18 +116 +336 . +452 +1c4 vmlinux.rv32_defconfig.clang-18 -480 +144 . -336 -150 vmlinux.rv32_nosmp_defconfig.clang-18 +731 +120 . +851 +353 vmlinux.nommu_virt_defconfig.clang-18 +660 +216 . +876 +36c vmlinux.defconfig.gcc-12 +192 +32 . +224 +e0 vmlinux.nosmp_defconfig.gcc-12 +928 +224 . +1152 +480 vmlinux.rv32_defconfig.gcc-12 +188 +96 . +284 +11c vmlinux.rv32_nosmp_defconfig.gcc-12 +1063 +88 . +1151 +47f vmlinux.nommu_virt_defconfig.gcc-12 +564 +536 . +1100 +44c vmlinux.defconfig.clang-17 +180 +64 . +244 +f4 vmlinux.nosmp_defconfig.clang-17 +124 +336 . +460 +1cc vmlinux.rv32_defconfig.clang-17 -432 +80 . -352 -160 vmlinux.rv32_nosmp_defconfig.clang-17 +875 +120 . +995 +3e3 vmlinux.nommu_virt_defconfig.clang-17 +644 +216 . +860 +35c vmlinux.defconfig.gcc-11 +40 +32 . +72 +48 vmlinux.nosmp_defconfig.gcc-11 +852 +224 . +1076 +434 vmlinux.rv32_defconfig.gcc-11 +44 +96 . +140 +8c vmlinux.rv32_nosmp_defconfig.gcc-11 +1079 +24 . +1103 +44f vmlinux.nommu_virt_defconfig.gcc-11 +144 +64 . +208 +d0 vmlinux.allnoconfig.gcc-14 +3507 +780 . +4287 +10bf vmlinux.allmodconfig.gcc-14 +108 +64 . +172 +ac vmlinux.allnoconfig.clang-19 x x x x x vmlinux.allmodconfig.clang-19