Skip to content

Commit 4985749

Browse files
committed
Merge tag 'riscv-for-linus-6.1-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux
Pull more RISC-V updates from Palmer Dabbelt: - DT updates for the PolarFire SOC - a fix to correct the handling of write-only mappings - m{vetndor,arcd,imp}id is now in /proc/cpuinfo - the SiFive L2 cache controller support has been refactored to also support L3 caches - misc fixes, cleanups and improvements throughout the tree * tag 'riscv-for-linus-6.1-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (42 commits) MAINTAINERS: add RISC-V's patchwork RISC-V: Make port I/O string accessors actually work riscv: enable software resend of irqs RISC-V: Re-enable counter access from userspace riscv: vdso: fix NULL deference in vdso_join_timens() when vfork riscv: Add cache information in AUX vector soc: sifive: ccache: define the macro for the register shifts soc: sifive: ccache: use pr_fmt() to remove CCACHE: prefixes soc: sifive: ccache: reduce printing on init soc: sifive: ccache: determine the cache level from dts soc: sifive: ccache: Rename SiFive L2 cache to Composable cache. dt-bindings: sifive-ccache: change Sifive L2 cache to Composable cache riscv: check for kernel config option in t-head memory types errata riscv: use BIT() marco for cpufeature probing riscv: use BIT() macros in t-head errata init riscv: drop some idefs from CMO initialization riscv: cleanup svpbmt cpufeature probing riscv: Pass -mno-relax only on lld < 15.0.0 RISC-V: Avoid dereferening NULL regs in die() dt-bindings: riscv: add new riscv,isa strings for emulators ...
2 parents 70609c1 + ab0c23b commit 4985749

Some content is hidden

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

41 files changed

+968
-379
lines changed

Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,11 @@ properties:
6666
- enum:
6767
- allwinner,sun20i-d1-plic
6868
- const: thead,c900-plic
69+
- items:
70+
- const: sifive,plic-1.0.0
71+
- const: riscv,plic0
72+
deprecated: true
73+
description: For the QEMU virt machine only
6974

7075
reg:
7176
maxItems: 1

Documentation/devicetree/bindings/riscv/cpus.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ title: RISC-V bindings for 'cpus' DT nodes
99
maintainers:
1010
- Paul Walmsley <paul.walmsley@sifive.com>
1111
- Palmer Dabbelt <palmer@sifive.com>
12+
- Conor Dooley <conor@kernel.org>
1213

1314
description: |
1415
This document uses some terminology common to the RISC-V community
@@ -79,9 +80,7 @@ properties:
7980
insensitive, letters in the riscv,isa string must be all
8081
lowercase to simplify parsing.
8182
$ref: "/schemas/types.yaml#/definitions/string"
82-
enum:
83-
- rv64imac
84-
- rv64imafdc
83+
pattern: ^rv(?:64|32)imaf?d?q?c?b?v?k?h?(?:_[hsxz](?:[a-z])+)*$
8584

8685
# RISC-V requires 'timebase-frequency' in /cpus, so disallow it here
8786
timebase-frequency: false

Documentation/devicetree/bindings/riscv/microchip.yaml

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
77
title: Microchip PolarFire SoC-based boards
88

99
maintainers:
10-
- Cyril Jean <Cyril.Jean@microchip.com>
11-
- Lewis Hanly <lewis.hanly@microchip.com>
10+
- Conor Dooley <conor.dooley@microchip.com>
11+
- Daire McNamara <daire.mcnamara@microchip.com>
1212

1313
description:
1414
Microchip PolarFire SoC-based boards
@@ -17,12 +17,20 @@ properties:
1717
$nodename:
1818
const: '/'
1919
compatible:
20-
items:
21-
- enum:
22-
- microchip,mpfs-icicle-kit
23-
- microchip,mpfs-icicle-reference-rtlv2203
24-
- sundance,polarberry
25-
- const: microchip,mpfs
20+
oneOf:
21+
- items:
22+
- enum:
23+
- microchip,mpfs-icicle-reference-rtlv2203
24+
- microchip,mpfs-icicle-reference-rtlv2210
25+
- const: microchip,mpfs-icicle-kit
26+
- const: microchip,mpfs
27+
28+
- items:
29+
- enum:
30+
- aries,m100pfsevp
31+
- microchip,mpfs-sev-kit
32+
- sundance,polarberry
33+
- const: microchip,mpfs
2634

2735
additionalProperties: true
2836

Documentation/devicetree/bindings/riscv/sifive-l2-cache.yaml renamed to Documentation/devicetree/bindings/riscv/sifive,ccache0.yaml

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22
# Copyright (C) 2020 SiFive, Inc.
33
%YAML 1.2
44
---
5-
$id: http://devicetree.org/schemas/riscv/sifive-l2-cache.yaml#
5+
$id: http://devicetree.org/schemas/riscv/sifive,ccache0.yaml#
66
$schema: http://devicetree.org/meta-schemas/core.yaml#
77

8-
title: SiFive L2 Cache Controller
8+
title: SiFive Composable Cache Controller
99

1010
maintainers:
1111
- Sagar Kadam <sagar.kadam@sifive.com>
1212
- Paul Walmsley <paul.walmsley@sifive.com>
1313

1414
description:
15-
The SiFive Level 2 Cache Controller is used to provide access to fast copies
16-
of memory for masters in a Core Complex. The Level 2 Cache Controller also
15+
The SiFive Composable Cache Controller is used to provide access to fast copies
16+
of memory for masters in a Core Complex. The Composable Cache Controller also
1717
acts as directory-based coherency manager.
1818
All the properties in ePAPR/DeviceTree specification applies for this platform.
1919

@@ -22,6 +22,7 @@ select:
2222
compatible:
2323
contains:
2424
enum:
25+
- sifive,ccache0
2526
- sifive,fu540-c000-ccache
2627
- sifive,fu740-c000-ccache
2728

@@ -33,6 +34,7 @@ properties:
3334
oneOf:
3435
- items:
3536
- enum:
37+
- sifive,ccache0
3638
- sifive,fu540-c000-ccache
3739
- sifive,fu740-c000-ccache
3840
- const: cache
@@ -45,7 +47,7 @@ properties:
4547
const: 64
4648

4749
cache-level:
48-
const: 2
50+
enum: [2, 3]
4951

5052
cache-sets:
5153
enum: [1024, 2048]
@@ -115,6 +117,22 @@ allOf:
115117
cache-sets:
116118
const: 1024
117119

120+
- if:
121+
properties:
122+
compatible:
123+
contains:
124+
const: sifive,ccache0
125+
126+
then:
127+
properties:
128+
cache-level:
129+
enum: [2, 3]
130+
131+
else:
132+
properties:
133+
cache-level:
134+
const: 2
135+
118136
additionalProperties: false
119137

120138
required:

Documentation/devicetree/bindings/timer/sifive,clint.yaml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,18 @@ description:
2222

2323
properties:
2424
compatible:
25-
items:
26-
- enum:
27-
- sifive,fu540-c000-clint
28-
- starfive,jh7100-clint
29-
- canaan,k210-clint
30-
- const: sifive,clint0
25+
oneOf:
26+
- items:
27+
- enum:
28+
- sifive,fu540-c000-clint
29+
- starfive,jh7100-clint
30+
- canaan,k210-clint
31+
- const: sifive,clint0
32+
- items:
33+
- const: sifive,clint0
34+
- const: riscv,clint0
35+
deprecated: true
36+
description: For the QEMU virt machine only
3137

3238
description:
3339
Should be "<vendor>,<chip>-clint" and "sifive,clint<version>".

Documentation/riscv/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ RISC-V architecture
88
boot-image-header
99
vm-layout
1010
patch-acceptance
11+
uabi
1112

1213
features
1314

Documentation/riscv/uabi.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.. SPDX-License-Identifier: GPL-2.0
2+
3+
RISC-V Linux User ABI
4+
=====================
5+
6+
Misaligned accesses are supported in userspace, but they may perform poorly.

MAINTAINERS

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17702,6 +17702,7 @@ M: Palmer Dabbelt <palmer@dabbelt.com>
1770217702
M: Albert Ou <aou@eecs.berkeley.edu>
1770317703
L: linux-riscv@lists.infradead.org
1770417704
S: Supported
17705+
Q: https://patchwork.kernel.org/project/linux-riscv/list/
1770517706
P: Documentation/riscv/patch-acceptance.rst
1770617707
T: git git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git
1770717708
F: arch/riscv/
@@ -17713,12 +17714,13 @@ M: Conor Dooley <conor.dooley@microchip.com>
1771317714
M: Daire McNamara <daire.mcnamara@microchip.com>
1771417715
L: linux-riscv@lists.infradead.org
1771517716
S: Supported
17716-
F: Documentation/devicetree/bindings/clock/microchip,mpfs.yaml
17717+
F: Documentation/devicetree/bindings/clock/microchip,mpfs*.yaml
1771717718
F: Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml
1771817719
F: Documentation/devicetree/bindings/i2c/microchip,corei2c.yaml
1771917720
F: Documentation/devicetree/bindings/mailbox/microchip,mpfs-mailbox.yaml
1772017721
F: Documentation/devicetree/bindings/net/can/microchip,mpfs-can.yaml
1772117722
F: Documentation/devicetree/bindings/pwm/microchip,corepwm.yaml
17723+
F: Documentation/devicetree/bindings/riscv/microchip.yaml
1772217724
F: Documentation/devicetree/bindings/soc/microchip/microchip,mpfs-sys-controller.yaml
1772317725
F: Documentation/devicetree/bindings/spi/microchip,mpfs-spi.yaml
1772417726
F: Documentation/devicetree/bindings/usb/microchip,mpfs-musb.yaml

arch/riscv/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ config RISCV
7070
select GENERIC_SMP_IDLE_THREAD
7171
select GENERIC_TIME_VSYSCALL if MMU && 64BIT
7272
select GENERIC_VDSO_TIME_NS if HAVE_GENERIC_VDSO
73+
select HARDIRQS_SW_RESEND
7374
select HAVE_ARCH_AUDITSYSCALL
7475
select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL
7576
select HAVE_ARCH_JUMP_LABEL_RELATIVE if !XIP_KERNEL

arch/riscv/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,15 @@ else
3737
endif
3838

3939
ifeq ($(CONFIG_LD_IS_LLD),y)
40+
ifeq ($(shell test $(CONFIG_LLD_VERSION) -lt 150000; echo $$?),0)
4041
KBUILD_CFLAGS += -mno-relax
4142
KBUILD_AFLAGS += -mno-relax
4243
ifndef CONFIG_AS_IS_LLVM
4344
KBUILD_CFLAGS += -Wa,-mno-relax
4445
KBUILD_AFLAGS += -Wa,-mno-relax
4546
endif
4647
endif
48+
endif
4749

4850
# ISA string setting
4951
riscv-march-$(CONFIG_ARCH_RV32I) := rv32ima

0 commit comments

Comments
 (0)