Skip to content

Commit 4a1d8ab

Browse files
committed
Merge tag 'riscv-for-linus-6.15-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux
Pull RISC-V updates from Palmer Dabbelt: - The sub-architecture selection Kconfig system has been cleaned up, the documentation has been improved, and various detections have been fixed - The vector-related extensions dependencies are now validated when parsing from device tree and in the DT bindings - Misaligned access probing can be overridden via a kernel command-line parameter, along with various fixes to misalign access handling - Support for relocatable !MMU kernels builds - Support for hpge pfnmaps, which should improve TLB utilization - Support for runtime constants, which improves the d_hash() performance - Support for bfloat16, Zicbom, Zaamo, Zalrsc, Zicntr, Zihpm - Various fixes, including: - We were missing a secondary mmu notifier call when flushing the tlb which is required for IOMMU - Fix ftrace panics by saving the registers as expected by ftrace - Fix a couple of stimecmp usage related to cpu hotplug - purgatory_start is now aligned as per the STVEC requirements - A fix for hugetlb when calculating the size of non-present PTEs * tag 'riscv-for-linus-6.15-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (65 commits) riscv: Add norvc after .option arch in runtime const riscv: Make sure toolchain supports zba before using zba instructions riscv/purgatory: 4B align purgatory_start riscv/kexec_file: Handle R_RISCV_64 in purgatory relocator selftests: riscv: fix v_exec_initval_nolibc.c riscv: Fix hugetlb retrieval of number of ptes in case of !present pte riscv: print hartid on bringup riscv: Add norvc after .option arch in runtime const riscv: Remove CONFIG_PAGE_OFFSET riscv: Support CONFIG_RELOCATABLE on riscv32 asm-generic: Always define Elf_Rel and Elf_Rela riscv: Support CONFIG_RELOCATABLE on NOMMU riscv: Allow NOMMU kernels to access all of RAM riscv: Remove duplicate CONFIG_PAGE_OFFSET definition RISC-V: errata: Use medany for relocatable builds dt-bindings: riscv: document vector crypto requirements dt-bindings: riscv: add vector sub-extension dependencies dt-bindings: riscv: d requires f RISC-V: add f & d extension validation checks RISC-V: add vector crypto extension validation checks ...
2 parents 61f96e6 + 3eb6409 commit 4a1d8ab

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+1250
-399
lines changed

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7535,6 +7535,22 @@
75357535
Note that genuine overcurrent events won't be
75367536
reported either.
75377537

7538+
unaligned_scalar_speed=
7539+
[RISCV]
7540+
Format: {slow | fast | unsupported}
7541+
Allow skipping scalar unaligned access speed tests. This
7542+
is useful for testing alternative code paths and to skip
7543+
the tests in environments where they run too slowly. All
7544+
CPUs must have the same scalar unaligned access speed.
7545+
7546+
unaligned_vector_speed=
7547+
[RISCV]
7548+
Format: {slow | fast | unsupported}
7549+
Allow skipping vector unaligned access speed tests. This
7550+
is useful for testing alternative code paths and to skip
7551+
the tests in environments where they run too slowly. All
7552+
CPUs must have the same vector unaligned access speed.
7553+
75387554
unknown_nmi_panic
75397555
[X86] Cause panic on unknown NMI.
75407556

Documentation/arch/riscv/hwprobe.rst

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,9 @@ The following keys are defined:
183183
defined in the Atomic Compare-and-Swap (CAS) instructions manual starting
184184
from commit 5059e0ca641c ("update to ratified").
185185

186+
* :c:macro:`RISCV_HWPROBE_EXT_ZICNTR`: The Zicntr extension version 2.0
187+
is supported as defined in the RISC-V ISA manual.
188+
186189
* :c:macro:`RISCV_HWPROBE_EXT_ZICOND`: The Zicond extension is supported as
187190
defined in the RISC-V Integer Conditional (Zicond) operations extension
188191
manual starting from commit 95cf1f9 ("Add changes requested by Ved
@@ -192,6 +195,9 @@ The following keys are defined:
192195
supported as defined in the RISC-V ISA manual starting from commit
193196
d8ab5c78c207 ("Zihintpause is ratified").
194197

198+
* :c:macro:`RISCV_HWPROBE_EXT_ZIHPM`: The Zihpm extension version 2.0
199+
is supported as defined in the RISC-V ISA manual.
200+
195201
* :c:macro:`RISCV_HWPROBE_EXT_ZVE32X`: The Vector sub-extension Zve32x is
196202
supported, as defined by version 1.0 of the RISC-V Vector extension manual.
197203

@@ -239,9 +245,32 @@ The following keys are defined:
239245
ratified in commit 98918c844281 ("Merge pull request #1217 from
240246
riscv/zawrs") of riscv-isa-manual.
241247

248+
* :c:macro:`RISCV_HWPROBE_EXT_ZAAMO`: The Zaamo extension is supported as
249+
defined in the in the RISC-V ISA manual starting from commit e87412e621f1
250+
("integrate Zaamo and Zalrsc text (#1304)").
251+
252+
* :c:macro:`RISCV_HWPROBE_EXT_ZALRSC`: The Zalrsc extension is supported as
253+
defined in the in the RISC-V ISA manual starting from commit e87412e621f1
254+
("integrate Zaamo and Zalrsc text (#1304)").
255+
242256
* :c:macro:`RISCV_HWPROBE_EXT_SUPM`: The Supm extension is supported as
243257
defined in version 1.0 of the RISC-V Pointer Masking extensions.
244258

259+
* :c:macro:`RISCV_HWPROBE_EXT_ZFBFMIN`: The Zfbfmin extension is supported as
260+
defined in the RISC-V ISA manual starting from commit 4dc23d6229de
261+
("Added Chapter title to BF16").
262+
263+
* :c:macro:`RISCV_HWPROBE_EXT_ZVFBFMIN`: The Zvfbfmin extension is supported as
264+
defined in the RISC-V ISA manual starting from commit 4dc23d6229de
265+
("Added Chapter title to BF16").
266+
267+
* :c:macro:`RISCV_HWPROBE_EXT_ZVFBFWMA`: The Zvfbfwma extension is supported as
268+
defined in the RISC-V ISA manual starting from commit 4dc23d6229de
269+
("Added Chapter title to BF16").
270+
271+
* :c:macro:`RISCV_HWPROBE_EXT_ZICBOM`: The Zicbom extension is supported, as
272+
ratified in commit 3dd606f ("Create cmobase-v1.0.pdf") of riscv-CMOs.
273+
245274
* :c:macro:`RISCV_HWPROBE_KEY_CPUPERF_0`: Deprecated. Returns similar values to
246275
:c:macro:`RISCV_HWPROBE_KEY_MISALIGNED_SCALAR_PERF`, but the key was
247276
mistakenly classified as a bitmask rather than a value.
@@ -303,3 +332,6 @@ The following keys are defined:
303332
* :c:macro:`RISCV_HWPROBE_VENDOR_EXT_XTHEADVECTOR`: The xtheadvector vendor
304333
extension is supported in the T-Head ISA extensions spec starting from
305334
commit a18c801634 ("Add T-Head VECTOR vendor extension. ").
335+
336+
* :c:macro:`RISCV_HWPROBE_KEY_ZICBOM_BLOCK_SIZE`: An unsigned int which
337+
represents the size of the Zicbom block in bytes.

Documentation/devicetree/bindings/riscv/extensions.yaml

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,12 @@ properties:
224224
as ratified at commit 4a69197e5617 ("Update to ratified state") of
225225
riscv-svvptc.
226226

227+
- const: zaamo
228+
description: |
229+
The standard Zaamo extension for atomic memory operations as
230+
ratified at commit e87412e621f1 ("integrate Zaamo and Zalrsc text
231+
(#1304)") of the unprivileged ISA specification.
232+
227233
- const: zabha
228234
description: |
229235
The Zabha extension for Byte and Halfword Atomic Memory Operations
@@ -236,6 +242,12 @@ properties:
236242
is supported as ratified at commit 5059e0ca641c ("update to
237243
ratified") of the riscv-zacas.
238244
245+
- const: zalrsc
246+
description: |
247+
The standard Zalrsc extension for load-reserved/store-conditional as
248+
ratified at commit e87412e621f1 ("integrate Zaamo and Zalrsc text
249+
(#1304)") of the unprivileged ISA specification.
250+
239251
- const: zawrs
240252
description: |
241253
The Zawrs extension for entering a low-power state or for trapping
@@ -329,6 +341,12 @@ properties:
329341
instructions, as ratified in commit 056b6ff ("Zfa is ratified") of
330342
riscv-isa-manual.
331343

344+
- const: zfbfmin
345+
description:
346+
The standard Zfbfmin extension which provides minimal support for
347+
16-bit half-precision brain floating-point instructions, as ratified
348+
in commit 4dc23d62 ("Added Chapter title to BF16") of riscv-isa-manual.
349+
332350
- const: zfh
333351
description:
334352
The standard Zfh extension for 16-bit half-precision binary
@@ -525,6 +543,18 @@ properties:
525543
in commit 6f702a2 ("Vector extensions are now ratified") of
526544
riscv-v-spec.
527545

546+
- const: zvfbfmin
547+
description:
548+
The standard Zvfbfmin extension for minimal support for vectored
549+
16-bit half-precision brain floating-point instructions, as ratified
550+
in commit 4dc23d62 ("Added Chapter title to BF16") of riscv-isa-manual.
551+
552+
- const: zvfbfwma
553+
description:
554+
The standard Zvfbfwma extension for vectored half-precision brain
555+
floating-point widening multiply-accumulate instructions, as ratified
556+
in commit 4dc23d62 ("Added Chapter title to BF16") of riscv-isa-manual.
557+
528558
- const: zvfh
529559
description:
530560
The standard Zvfh extension for vectored half-precision
@@ -639,6 +669,12 @@ properties:
639669
https://github.com/T-head-Semi/thead-extension-spec/blob/95358cb2cca9489361c61d335e03d3134b14133f/xtheadvector.adoc.
640670

641671
allOf:
672+
- if:
673+
contains:
674+
const: d
675+
then:
676+
contains:
677+
const: f
642678
# Zcb depends on Zca
643679
- if:
644680
contains:
@@ -673,6 +709,119 @@ properties:
673709
then:
674710
contains:
675711
const: zca
712+
# Zfbfmin depends on F
713+
- if:
714+
contains:
715+
const: zfbfmin
716+
then:
717+
contains:
718+
const: f
719+
# Zvfbfmin depends on V or Zve32f
720+
- if:
721+
contains:
722+
const: zvfbfmin
723+
then:
724+
oneOf:
725+
- contains:
726+
const: v
727+
- contains:
728+
const: zve32f
729+
# Zvfbfwma depends on Zfbfmin and Zvfbfmin
730+
- if:
731+
contains:
732+
const: zvfbfwma
733+
then:
734+
allOf:
735+
- contains:
736+
const: zfbfmin
737+
- contains:
738+
const: zvfbfmin
739+
# Zacas depends on Zaamo
740+
- if:
741+
contains:
742+
const: zacas
743+
then:
744+
contains:
745+
const: zaamo
746+
747+
- if:
748+
contains:
749+
const: zve32x
750+
then:
751+
contains:
752+
const: zicsr
753+
754+
- if:
755+
contains:
756+
const: zve32f
757+
then:
758+
allOf:
759+
- contains:
760+
const: f
761+
- contains:
762+
const: zve32x
763+
764+
- if:
765+
contains:
766+
const: zve64x
767+
then:
768+
contains:
769+
const: zve32x
770+
771+
- if:
772+
contains:
773+
const: zve64f
774+
then:
775+
allOf:
776+
- contains:
777+
const: f
778+
- contains:
779+
const: zve32f
780+
- contains:
781+
const: zve64x
782+
783+
- if:
784+
contains:
785+
const: zve64d
786+
then:
787+
allOf:
788+
- contains:
789+
const: d
790+
- contains:
791+
const: zve64f
792+
793+
- if:
794+
contains:
795+
anyOf:
796+
- const: zvbc
797+
- const: zvkn
798+
- const: zvknc
799+
- const: zvkng
800+
- const: zvknhb
801+
- const: zvksc
802+
then:
803+
contains:
804+
anyOf:
805+
- const: v
806+
- const: zve64x
807+
808+
- if:
809+
contains:
810+
anyOf:
811+
- const: zvbb
812+
- const: zvkb
813+
- const: zvkg
814+
- const: zvkned
815+
- const: zvknha
816+
- const: zvksed
817+
- const: zvksh
818+
- const: zvks
819+
- const: zvkt
820+
then:
821+
contains:
822+
anyOf:
823+
- const: v
824+
- const: zve32x
676825

677826
allOf:
678827
# Zcf extension does not exist on rv64

arch/riscv/Kbuild

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# SPDX-License-Identifier: GPL-2.0-only
22

33
obj-y += kernel/ mm/ net/
4-
obj-$(CONFIG_BUILTIN_DTB) += boot/dts/
54
obj-$(CONFIG_CRYPTO) += crypto/
65
obj-y += errata/
76
obj-$(CONFIG_KVM) += kvm/

0 commit comments

Comments
 (0)