Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
572 commits
Select commit Hold shift + click to select a range
a2217ca
irqchip/riscv-imsic: Fix output text of base address
Sep 9, 2024
8900195
irqchip/riscv-imsic: Add device MSI domain support for PCI devices
avpatel Mar 7, 2024
0ef734b
dt-bindings: interrupt-controller: Add RISC-V advanced PLIC
avpatel Mar 7, 2024
baeea98
irqchip: Add RISC-V advanced PLIC driver for direct-mode
avpatel Mar 7, 2024
e347d62
irqchip/riscv-aplic: Fix an IS_ERR() vs NULL bug in probe()
Aug 20, 2024
82ccdc2
irqchip/riscv-aplic: Add support for MSI-mode
avpatel Mar 7, 2024
9cbb4ee
cpumask: Introduce cpumask_first_and_and()
Apr 16, 2024
d9cc85a
irqchip/riscv-aplic-direct: Avoid explicit cpumask allocation on stack
Apr 16, 2024
93da8bf
irqchip/riscv-aplic: Simplify the initialization code
ruanjinjie-eng Jun 3, 2024
4798b82
irqchip/riscv-aplic: Retrigger MSI interrupt on source configuration
yong-xuan Aug 9, 2024
4fcd74a
irqchip/riscv-aplic: Prevent crash when MSI domain is missing
SiFiveHolland Nov 14, 2024
57affde
RISC-V: Select APLIC and IMSIC drivers
avpatel Mar 7, 2024
96f240c
MAINTAINERS: Add entry for RISC-V AIA drivers
avpatel Mar 7, 2024
2364a37
kconfig: fix kernel-mode FPU support
xmzzz Jan 10, 2025
2dca2c1
sg2042: riscv: dts: Add cache info for SG2042
xmzzz Jan 9, 2025
f7ab429
riscv: config: enable zstd-compressed firmware support
woqidaideshi Mar 12, 2025
e93d0ad
riscv: Kconfig: Enable amdkfd driver config
xmzzz Feb 12, 2025
7dfdd9c
riscv: config: Update openeuler_defconfig for ROCm
xmzzz Mar 20, 2025
a6d799d
riscv: k1x: add spacemit k1 soc support
Feb 18, 2025
c110b1f
riscv: k1x: dt-bindings: add clock dt-bindings for spacemit k1
Feb 19, 2025
38fdfd2
driver: k1x: clk: add clock driver for spacemit k1
Feb 19, 2025
31766c1
riscv: k1x: dts: add clock support for spacemit k1
Feb 19, 2025
8d24941
riscv: k1x: config: enable clock driver for spacemit k1
Feb 25, 2025
1813d5e
riscv: k1x: dt-bindings: add reset dt-bindings for spacemit k1
Feb 19, 2025
2f37992
driver: k1x: add reset driver for spacemit k1
Feb 19, 2025
d654caa
riscv: k1x: dts: add reset support for spacemit k1
Feb 19, 2025
32ba275
riscv: k1x: config: enable reset driver for spacemit k1
Feb 25, 2025
a532bfb
riscv: k1x: dt-bindings: support pinctrl binding for spacemit k1x soc
Feb 20, 2025
8f9c5fe
driver: k1x: add pinctrl driver for spacemit k1x
Feb 20, 2025
be185ae
riscv: k1x: dts: add pinctrl support for spacemit k1x soc
Feb 20, 2025
0fb0efd
riscv: k1x: config: enable pinctrl driver for spacemit k1
Feb 25, 2025
482bca8
driver: k1x: add gpio driver for spacemit k1
Feb 20, 2025
5c28c16
riscv: k1x: dts: add gpio support spacemit k1x soc
Feb 20, 2025
ee6997a
riscv: k1x: config: enable gpio driver for spacemit k1
Feb 25, 2025
04e88e6
driver: k1x: add uart serial driver support for spacemit k1x
Feb 20, 2025
8cd2ef6
riscv: k1x: dts: add uart support for spacemit k1x soc
Feb 20, 2025
d4cc914
riscv: config: enable serial driver for spacemit k1
Mar 1, 2025
76779bf
riscv: config: Enable Spacemit k1 support
Mar 22, 2025
cb9d3f0
RISC-V: KVM: Share APLIC and IMSIC defines with irqchip drivers
avpatel Apr 11, 2024
504783a
RISC-V: KVM: Use IMSIC guest files when available
avpatel Apr 11, 2024
ee47f75
RISC-V: Remove unnecessary include from compat.h
woqidaideshi Apr 1, 2025
76dcbc2
RISC-V: Detect Zicond from ISA string
avpatel Sep 15, 2023
ddd1896
riscv: add ISA extension parsing for Zbc
clementleger Nov 14, 2023
838f63c
RISC-V: Enable cbo.zero in usermode
Sep 18, 2023
eb32cb7
riscv: Rearrange hwcap.h and cpufeature.h
XiaoWang1772 Oct 31, 2023
d3b81f6
RISC-V: clarify the QEMU workaround in ISA parser
a4lg Jul 26, 2023
7a2b0d1
riscv: annotate check_unaligned_access_boot_cpu() with __init
clementleger Oct 4, 2023
06dd719
riscv: add ISA extension parsing for scalar crypto
evangreen Nov 14, 2023
bc8a43d
riscv: add ISA extension parsing for vector crypto
clementleger Nov 14, 2023
56f3d51
riscv: add ISA extension parsing for Zfh/Zfh[min]
clementleger Nov 14, 2023
5e4a9f3
riscv: add ISA extension parsing for Zihintntl
clementleger Nov 14, 2023
8834adb
riscv: add ISA extension parsing for Zvfh[min]
clementleger Nov 14, 2023
18e04f8
riscv: add ISA extension parsing for Zfa
clementleger Nov 14, 2023
32ce12c
RISC-V: Remove the removed single-letter extensions
palmer-dabbelt Nov 10, 2023
27a0fc0
riscv: add ISA extension parsing for Ztso
clementleger Dec 20, 2023
a8aa26e
riscv: add ISA extension parsing for Zacas
clementleger Dec 20, 2023
329917c
riscv: Fix enabling cbo.zero when running in M-mode
SiFiveHolland Feb 28, 2024
14aec34
riscv: Add a custom ISA extension for the [ms]envcfg CSR
SiFiveHolland Feb 28, 2024
6b3e1bd
riscv: cpufeature: Fix extension subset checking
charlie-rivos May 3, 2024
2a0f48f
riscv: vector: add a comment when calling riscv_setup_vsize()
AndybnACT May 9, 2024
ddaf3eb
riscv: cpufeature: call match_isa_ext() for single-letter extensions
AndybnACT May 9, 2024
fbb654c
perf: RISC-V: Eliminate redundant interrupt enable/disable operations
lyctw Feb 22, 2024
547df53
perf: RISC-V: Introduce Andes PMU to support perf event sampling
lyctw Feb 22, 2024
76422eb
riscv: cpufeature: add zve32[xf] and zve64[xfd] isa detection
AndybnACT May 9, 2024
90e48e9
riscv: vector: adjust minimum Vector requirement to ZVE32X
AndybnACT May 9, 2024
5d9d381
riscv: add ISA extension parsing for Zimop
clementleger Jun 19, 2024
6076bc6
riscv: add ISA extensions validation callback
clementleger Jun 19, 2024
077b4a6
riscv: add ISA parsing for Zca, Zcf, Zcd and Zcb
clementleger Jun 19, 2024
516269a
riscv: add ISA extension parsing for Zcmop
clementleger Jun 19, 2024
0d67718
riscv/barrier: Define RISCV_FULL_BARRIER
ericchancf Feb 17, 2024
3a6a489
riscv/barrier: Consolidate fence definitions
ericchancf Feb 17, 2024
38bf686
riscv/cmpxchg: Deduplicate xchg() asm functions
Jan 3, 2024
5f54dd9
riscv/cmpxchg: Deduplicate cmpxchg() asm and macros
Jan 3, 2024
5e37628
riscv/cmpxchg: Implement cmpxchg for variables of size 1 and 2
Jan 3, 2024
da9069c
riscv/cmpxchg: Implement xchg for variables of size 1 and 2
Jan 3, 2024
0c8e47f
riscv: cmpxchg: implement arch_cmpxchg64_{relaxed|acquire|release}
xhackerustc Mar 25, 2024
ee25627
riscv: Fix fully ordered LR/SC xchg[8|16]() implementations
May 30, 2024
af91f5b
riscv: Add Zawrs support for spinlocks
cmuellner Apr 26, 2024
27f8eed
riscv: Provide a definition for 'pause'
Apr 26, 2024
749481b
riscv: Extend cpufeature.c to detect vendor extensions
charlie-rivos Jul 19, 2024
71b75db
riscv: cpufeature: Do not drop Linux-internal extensions
SiFiveHolland Jul 18, 2024
fb0f400
riscv: Add ISA extension parsing for Svvptc
Jul 17, 2024
ec20bdb
riscv: Save/restore envcfg CSR during CPU suspend
SiFiveHolland Feb 28, 2024
756be2f
cpuidle: RISC-V: Move few functions to arch/riscv
vlsunil Jan 18, 2024
798b581
riscv: Do not save the scratch CSR during suspend
SiFiveHolland Mar 12, 2024
657c769
riscv: Enable cbo.zero only when all harts support Zicboz
SiFiveHolland Aug 14, 2024
9ad164c
riscv: Call riscv_user_isa_enable() only on the boot hart
SiFiveHolland Aug 14, 2024
e81947d
riscv: Add ISA extension parsing for pointer masking
SiFiveHolland Oct 16, 2024
9c8396e
riscv: Do not fail to build on byte/halfword operations with Zawrs
Nov 3, 2024
8e112af
riscv: Implement cmpxchg32/64() using Zacas
Nov 3, 2024
3f18415
riscv: Implement cmpxchg8/16() using Zabha
Nov 3, 2024
51c6880
riscv: Add ISA extension parsing for Ziccrse
Nov 3, 2024
5881a88
RISC-V: Add Svade and Svadu Extensions Support
yong-xuan Jul 26, 2024
f2266e5
RISC-V: hwprobe: Expose Zicboz extension and its block size
Sep 18, 2023
a8f739d
docs: move riscv under arch
makelinux Sep 30, 2023
a31c4eb
riscv: hwprobe: export missing Zbc ISA extension
clementleger Nov 14, 2023
a673827
riscv: hwprobe: add support for scalar crypto ISA extensions
clementleger Nov 14, 2023
46d2321
riscv: hwprobe: export vector crypto ISA extensions
clementleger Nov 14, 2023
6826cbb
riscv: hwprobe: export Zfh[min] ISA extensions
clementleger Nov 14, 2023
17747a8
riscv: hwprobe: export Zhintntl ISA extension
clementleger Nov 14, 2023
ab75fb8
riscv: hwprobe: export Zvfh[min] ISA extensions
clementleger Nov 14, 2023
ea85aef
riscv: hwprobe: export Zfa ISA extension
clementleger Nov 14, 2023
14ce6b5
RISC-V: selftests: Statically link hwprobe test
Sep 18, 2023
b06e853
RISC-V: selftests: Convert hwprobe test to kselftest API
Sep 18, 2023
8705bbb
RISC-V: selftests: Add CBO tests
Sep 18, 2023
a4799d5
RISC-V: hwprobe: Clarify cpus size parameter
Nov 22, 2023
817cb71
RISC-V: hwprobe: Introduce which-cpus flag
Nov 22, 2023
25ddc3f
riscv: hwprobe: export Ztso ISA extension
clementleger Dec 20, 2023
2cfbf3a
riscv: hwprobe: export Zacas ISA extension
clementleger Dec 20, 2023
7f6cad7
riscv: hwprobe: export Zicond extension
clementleger Dec 20, 2023
198aa49
riscv: hwprobe: fix invalid sign extension for RISCV_HWPROBE_EXT_ZVFHMIN
clementleger Apr 9, 2024
19c2237
RISC-V: Move the hwprobe syscall to its own file
Nov 22, 2023
5a549e2
riscv: hwprobe: export Zihintpause ISA extension
clementleger Feb 21, 2024
6289520
riscv: hwprobe: add zve Vector subextensions into hwprobe interface
AndybnACT May 9, 2024
9b41d61
riscv: hwprobe: export Zimop ISA extension
clementleger Jun 19, 2024
3e3cda5
riscv: hwprobe: export Zca, Zcf, Zcd and Zcb ISA extensions
clementleger Jun 19, 2024
d4580f3
riscv: hwprobe: export Zcmop ISA extension
clementleger Jun 19, 2024
46d1236
riscv: hwprobe: export highest virtual userspace address
clementleger Apr 10, 2024
ef4ed03
riscv: hwprobe: export Zawrs ISA extension
Apr 26, 2024
46a5a8d
RISC-V: Provide the frequency of time CSR via hwprobe
palmer-dabbelt Jul 2, 2024
8456349
riscv: hwprobe: Export the Supm ISA extension
SiFiveHolland Oct 16, 2024
48ed0ca
RISC-V: hwprobe: sort EXT_KEY()s in hwprobe_isa_ext0() alphabetically
ConchuOD Jul 17, 2024
2fccb6a
riscv: Introduce vendor variants of extension helpers
charlie-rivos Jul 19, 2024
35456a2
riscv: cpufeature: Extract common elements from extension checking
charlie-rivos Jul 19, 2024
28b7631
riscv: Move cpufeature.h macros into their own header
Nov 3, 2024
73f26b1
riscv: errata: Rename defines for Andes
lyctw Feb 22, 2024
6b5bca1
ACPICA: SRAT: Add RISC-V RINTC affinity structure
uestc-gr Apr 25, 2025
69da3be
ACPI: RISCV: Add NUMA support based on SRAT and SLIT
uestc-gr Apr 25, 2025
8832388
ACPI: NUMA: Add handler for SRAT RINTC affinity structure
uestc-gr Apr 25, 2025
8899561
ACPI: NUMA: Make some NUMA-related functions available for RISC-V
uestc-gr Apr 25, 2025
45020d9
ACPI: NUMA: change the ACPI_NUMA to a hidden option
uestc-gr Apr 25, 2025
242de44
ACPI: NUMA: replace pr_info with pr_debug in arch_acpi_numa_init
uestc-gr Apr 25, 2025
21cb06f
irqchip/sifive-plic: Convert PLIC driver into a platform driver
avpatel Feb 22, 2024
f4abb8c
irqchip/sifive-plic: Use dev_xyz() in-place of pr_xyz()
avpatel Feb 22, 2024
4105636
irqchip/sifive-plic: Use devm_xyz() for managed allocation
avpatel Feb 22, 2024
169090e
irqchip/sifive-plic: Use riscv_get_intc_hwnode() to get parent fwnode
avpatel Feb 22, 2024
52cd471
irqchip/sifive-plic: Cleanup PLIC contexts upon irqdomain creation fa…
avpatel Feb 22, 2024
b92eb88
irqchip/sifive-plic: Parse number of interrupts and contexts early in…
avpatel Feb 22, 2024
04b2874
irqchip/sifive-plic: Improve locking safety by using irqsave/irqrestore
avpatel Feb 22, 2024
ab6f738
irqchip/sifive-plic: Avoid explicit cpumask allocation on stack
Apr 16, 2024
4c26583
irqchip/sifive-plic: Chain to parent IRQ after handlers are ready
SiFiveHolland May 29, 2024
c0e23a4
irqchip/sifive-plic: Probe plic driver early for Allwinner D1 platform
avpatel Aug 20, 2024
957ccaf
arm64: PCI: Migrate ACPI related functions to pci-acpi.c
vlsunil Aug 12, 2024
7dedebf
ACPI: scan: Add a weak arch_sort_irqchip_probe() to order the IRQCHIP…
vlsunil Aug 12, 2024
95b8cd2
ACPI: bus: Add acpi_riscv_init() function
vlsunil Aug 12, 2024
d3b37fc
ACPI: scan: Extract CSI-2 connection graph from _CRS
rafaeljw Nov 6, 2023
6ede69d
ACPI: utils: Dynamically determine acpi_handle_list size
rafaeljw Sep 27, 2023
61b5a7c
ACPI: utils: Fix error path in acpi_evaluate_reference()
rafaeljw Dec 7, 2023
75b0946
ACPI: utils: Rearrange in acpi_evaluate_reference()
rafaeljw Dec 8, 2023
8519033
ACPI: utils: Return bool from acpi_evaluate_reference()
rafaeljw Dec 8, 2023
77b1c36
ACPI: utils: Refine acpi_handle_list_equal() slightly
rafaeljw Dec 8, 2023
0c3d7cf
ACPI: utils: Fix white space in struct acpi_handle_list definition
rafaeljw Dec 8, 2023
9ac8de7
ACPI: scan: Refactor dependency creation
vlsunil Aug 12, 2024
054c164
ACPI: scan: Add RISC-V interrupt controllers to honor list
vlsunil Aug 12, 2024
ec3c707
ACPI: scan: Define weak function to populate dependencies
vlsunil Aug 12, 2024
d6d5344
ACPI: bus: Add RINTC IRQ model for RISC-V
vlsunil Aug 12, 2024
28d3992
ACPI: pci_link: Clear the dependencies after probe
vlsunil Aug 12, 2024
f17189d
ACPI: RISC-V: Implement PCI related functionality
vlsunil Aug 12, 2024
69e1b4a
ACPI: RISC-V: Implement function to reorder irqchip probe entries
vlsunil Aug 12, 2024
4c4a965
ACPI: RISC-V: Initialize GSI mapping structures
vlsunil Aug 12, 2024
62e7629
ACPI: RISC-V: Implement function to add implicit dependencies
vlsunil Aug 12, 2024
b445b19
irqchip/riscv-intc: Add ACPI support for AIA
vlsunil Aug 12, 2024
1782089
irqchip/riscv-imsic-state: Create separate function for DT
vlsunil Aug 12, 2024
77091a1
irqchip/riscv-imsic: Add ACPI support
vlsunil Aug 12, 2024
91930ef
irqchip/riscv-aplic: Add ACPI support
vlsunil Aug 12, 2024
18abede
irqchip/sifive-plic: Add ACPI support
vlsunil Aug 27, 2024
5334118
irqchip/riscv-intc: Fix SMP=n boot with ACPI
vlsunil Oct 14, 2024
694ce3c
clocksource/timer-riscv: ACPI: Add timer_cannot_wakeup_cpu
vlsunil Sep 27, 2023
f5f61c4
RISC-V: ACPI: Enhance acpi_os_ioremap with MMIO remapping
vlsunil Oct 18, 2023
bc1e750
RISC-V: ACPI: Update the return value of acpi_get_rhct()
vlsunil Oct 18, 2023
18281fc
RISC-V: ACPI: RHCT: Add function to get CBO block sizes
vlsunil Oct 18, 2023
7f389c5
RISC-V: cacheflush: Initialize CBO variables on ACPI systems
vlsunil Oct 18, 2023
7c17b59
driver: k1: add an interconnect process driver
May 17, 2025
dfb7c9b
riscv: k1: dts: add memory ranges define
May 17, 2025
3d6010c
riscv: config: enable memory range driver for spacemit k1
May 20, 2025
48cbe6c
riscv: dmi: Add SMBIOS/DMI support
uestc-gr May 20, 2025
6af2637
serial/8250_dw: Add ACPI ID for SG2044 UART
Apr 16, 2025
4217e2e
irqchip: Add Sophgo SG2044 MSI controller driver
May 7, 2025
7826e64
riscv: openeuler_defconfig: Enable Sophgo SG2044 MSI drivers
May 7, 2025
7444481
drivers: i2c: Add ACPI support for Sophgo I2C Controller
Apr 22, 2025
47212da
drivers: spi: Add ACPI support for Sophgo SPI Controller
Apr 22, 2025
fd4baad
ACPI: RISC-V: Add LPI driver
vlsunil Jan 18, 2024
fd4b901
ACPI: Enable ACPI_PROCESSOR for RISC-V
vlsunil Jan 18, 2024
1bd9274
lib/string_choices: Add str_plural() helper
mwajdecz Feb 14, 2024
e879283
dt-bindings: interrupt-controller: Add T-HEAD C900 ACLINT SSWI device
inochisa Oct 31, 2024
1f4ff90
irqchip: Add T-HEAD C900 ACLINT SSWI driver
inochisa Oct 31, 2024
3c38f31
drivers: Add ACPI support for thead-c900-aclint-sswi
Jan 8, 2025
e201006
riscv: openeuler_defconfig: Enable T-HEAD C900 ACLINT SSWI drivers
May 7, 2025
0b61ba7
RISC-V: Enable IPI CPU Backtrace
uestc-gr Jun 5, 2025
d318f2b
RISC-V: ACPI: Enable SPCR table for console output on RISC-V
uestc-gr Jun 13, 2025
268902b
iommu/vt-d: add wrapper functions for page allocations
uestc-gr Jun 18, 2025
e51b288
sizes.h: Add entries between SZ_32G and SZ_64T
uestc-gr Jun 18, 2025
54acf28
iommu: constify of_phandle_args in xlate
uestc-gr Jun 18, 2025
9ef425e
dt-bindings: iommu: riscv: Add bindings for RISC-V IOMMU
uestc-gr Jun 18, 2025
e29d5a2
iommu/riscv: Add RISC-V IOMMU platform device driver
uestc-gr Jun 18, 2025
839d838
iommu/riscv: Add RISC-V IOMMU PCIe device driver
uestc-gr Jun 18, 2025
21402b1
iommu/riscv: Enable IOMMU registration and device probe.
uestc-gr Jun 18, 2025
a6dbfa6
iommu/riscv: Device directory management.
uestc-gr Jun 18, 2025
4d3d815
iommu/riscv: Command and fault queue support
uestc-gr Jun 18, 2025
32e1eab
iommu/riscv: Paging domain support
uestc-gr Jun 18, 2025
6e60c4d
RISC-V: Select ACPI PPTT drivers
uestc-gr Jul 3, 2025
73e5c22
ACPI: RISC-V: Add CPPC driver
uestc-gr Jul 3, 2025
f9386f3
cpufreq: Move CPPC configs to common Kconfig and add RISC-V
uestc-gr Jul 3, 2025
898162a
RISC-V: defconfig: Enable CONFIG_ACPI_CPPC_CPUFREQ
uestc-gr Jul 3, 2025
835bfce
RISC-V: Implement archrandom when Zkr is available
uestc-gr Jul 4, 2025
66217a6
riscv: Optimize crc32 with Zbc extension
uestc-gr Jul 9, 2025
882afd4
riscv: Optimize bitops with Zbb extension
uestc-gr Jul 11, 2025
31f172f
riscv: Optimize hweight API with Zbb extension
uestc-gr Jul 11, 2025
3c2eeea
riscv: k1: dt-bindings: support dma binding for spacemit k1 soc
May 19, 2025
c37fa9a
driver: k1: add dma driver support for spacemit k1
May 17, 2025
4438fa2
riscv: k1: dts: add dma support for spacemit k1
May 19, 2025
4724913
riscv: config: enable dma driver for spacemit k1
May 20, 2025
07734de
driver: k1: add i2c driver support for spacemit k1
May 19, 2025
494ab6a
riscv: k1: dts: add i2c support for spacemit k1
May 19, 2025
85e59f8
riscv: config: enable i2c driver for spacemit k1
May 20, 2025
791e735
riscv: k1: dts: enable i2c2 and i2c8 for bananapi f3 board
May 21, 2025
b50748d
driver: k1: add spi driver support for spacemit k1
May 19, 2025
8e92773
riscv: k1: dts: add spi support for spacemit k1
May 19, 2025
5e98480
riscv: config: enable spi driver for spacemit k1
May 20, 2025
ae01e7c
riscv: k1: dts: enable spi-3 for bananapi f3 board
May 21, 2025
35c1d1e
driver: k1: add qspi driver support for spacemit k1
May 19, 2025
128e05f
riscv: k1: dts: add qspi support for spacemit k1
May 19, 2025
c059dc5
riscv: config: enable qspi driver for spacemit k1
May 20, 2025
8391ea4
riscv: k1: dts: enable qspi for bananapi f3 board
May 21, 2025
6e0b068
driver: pwm: update pwm-pxa for support spacemit k1
May 19, 2025
a8f467a
riscv: k1: dts: add pwm support for spacemit k1
May 19, 2025
a4b8294
riscv: config: enable pxa-pwm driver for spacemit k1
May 20, 2025
b449704
riscv: k1: dts: enable pwm for bananapi f3 board
May 21, 2025
d1ee4e7
driver: mfd: add spacemit p1 mfd driver support
May 19, 2025
2bc8ced
driver: regulator: add spacemit p1 regulator driver support
May 19, 2025
9848de5
driver: input: add spacemit p1 key driver support
May 19, 2025
64c046c
driver: pinctrl: add spacemit p1 pinctrl driver support
May 19, 2025
6a7701f
driver: rtc: add spacemit p1 rtc driver support
May 20, 2025
eb37d87
driver: iio/adc: add spacemit p1 adc driver support
May 20, 2025
90c2b84
riscv: dts: add spacemit p1 pmic support for bananapi f3
May 21, 2025
05c2a59
riscv: config: enable spacemit p1 driver for spacemit k1
May 20, 2025
16ee93e
riscv: config: enable CONFIG_RISCV_ISA_ZICBOM for spacemit k1
kevin-zhm May 28, 2025
99bf12a
riscv: config: Update openeuler_defconfig for support k1 modules
kevin-zhm May 28, 2025
15dc513
riscv, qemu_fw_cfg: Add support for RISC-V architecture
MahnoKropotkinvich Aug 14, 2025
dccc0a5
riscv: Add support for kernel mode vector
greentime Jan 15, 2024
212bf8c
riscv: vector: make Vector always available for softirq context
AndybnACT Jan 15, 2024
bdfafb7
riscv: Add vector extension XOR implementation
greentime Jan 15, 2024
c181801
riscv: sched: defer restoring Vector context for user
AndybnACT Jan 15, 2024
3b75da1
riscv: lib: vectorize copy_to_user/copy_from_user
AndybnACT Jan 15, 2024
2c9ad23
riscv: fpu: drop SR_SD bit checking
AndybnACT Jan 15, 2024
76d42eb
riscv: vector: do not pass task_struct into riscv_v_vstate_{save,rest…
AndybnACT Jan 15, 2024
afc94c9
riscv: vector: use a mask to write vstate_ctrl
AndybnACT Jan 15, 2024
42a5e34
riscv: vector: use kmem_cache to manage vector context
AndybnACT Jan 15, 2024
5e9075b
riscv: vector: allow kernel-mode Vector with preemption
AndybnACT Jan 15, 2024
783f781
riscv: Implement Shadow Call Stack
samitolvanen Sep 27, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion Documentation/arch/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ implementation.
openrisc/index
parisc/index
../powerpc/index
../riscv/index
riscv/index
s390/index
sh/index
sparc/index
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
271 changes: 271 additions & 0 deletions Documentation/arch/riscv/hwprobe.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,271 @@
.. SPDX-License-Identifier: GPL-2.0

RISC-V Hardware Probing Interface
---------------------------------

The RISC-V hardware probing interface is based around a single syscall, which
is defined in <asm/hwprobe.h>::

struct riscv_hwprobe {
__s64 key;
__u64 value;
};

long sys_riscv_hwprobe(struct riscv_hwprobe *pairs, size_t pair_count,
size_t cpusetsize, cpu_set_t *cpus,
unsigned int flags);

The arguments are split into three groups: an array of key-value pairs, a CPU
set, and some flags. The key-value pairs are supplied with a count. Userspace
must prepopulate the key field for each element, and the kernel will fill in the
value if the key is recognized. If a key is unknown to the kernel, its key field
will be cleared to -1, and its value set to 0. The CPU set is defined by
CPU_SET(3) with size ``cpusetsize`` bytes. For value-like keys (eg. vendor,
arch, impl), the returned value will only be valid if all CPUs in the given set
have the same value. Otherwise -1 will be returned. For boolean-like keys, the
value returned will be a logical AND of the values for the specified CPUs.
Usermode can supply NULL for ``cpus`` and 0 for ``cpusetsize`` as a shortcut for
all online CPUs. The currently supported flags are:

* :c:macro:`RISCV_HWPROBE_WHICH_CPUS`: This flag basically reverses the behavior
of sys_riscv_hwprobe(). Instead of populating the values of keys for a given
set of CPUs, the values of each key are given and the set of CPUs is reduced
by sys_riscv_hwprobe() to only those which match each of the key-value pairs.
How matching is done depends on the key type. For value-like keys, matching
means to be the exact same as the value. For boolean-like keys, matching
means the result of a logical AND of the pair's value with the CPU's value is
exactly the same as the pair's value. Additionally, when ``cpus`` is an empty
set, then it is initialized to all online CPUs which fit within it, i.e. the
CPU set returned is the reduction of all the online CPUs which can be
represented with a CPU set of size ``cpusetsize``.

All other flags are reserved for future compatibility and must be zero.

On success 0 is returned, on failure a negative error code is returned.

The following keys are defined:

* :c:macro:`RISCV_HWPROBE_KEY_MVENDORID`: Contains the value of ``mvendorid``,
as defined by the RISC-V privileged architecture specification.

* :c:macro:`RISCV_HWPROBE_KEY_MARCHID`: Contains the value of ``marchid``, as
defined by the RISC-V privileged architecture specification.

* :c:macro:`RISCV_HWPROBE_KEY_MIMPLID`: Contains the value of ``mimplid``, as
defined by the RISC-V privileged architecture specification.

* :c:macro:`RISCV_HWPROBE_KEY_BASE_BEHAVIOR`: A bitmask containing the base
user-visible behavior that this kernel supports. The following base user ABIs
are defined:

* :c:macro:`RISCV_HWPROBE_BASE_BEHAVIOR_IMA`: Support for rv32ima or
rv64ima, as defined by version 2.2 of the user ISA and version 1.10 of the
privileged ISA, with the following known exceptions (more exceptions may be
added, but only if it can be demonstrated that the user ABI is not broken):

* The ``fence.i`` instruction cannot be directly executed by userspace
programs (it may still be executed in userspace via a
kernel-controlled mechanism such as the vDSO).

* :c:macro:`RISCV_HWPROBE_KEY_IMA_EXT_0`: A bitmask containing the extensions
that are compatible with the :c:macro:`RISCV_HWPROBE_BASE_BEHAVIOR_IMA`:
base system behavior.

* :c:macro:`RISCV_HWPROBE_IMA_FD`: The F and D extensions are supported, as
defined by commit cd20cee ("FMIN/FMAX now implement
minimumNumber/maximumNumber, not minNum/maxNum") of the RISC-V ISA manual.

* :c:macro:`RISCV_HWPROBE_IMA_C`: The C extension is supported, as defined
by version 2.2 of the RISC-V ISA manual.

* :c:macro:`RISCV_HWPROBE_IMA_V`: The V extension is supported, as defined by
version 1.0 of the RISC-V Vector extension manual.

* :c:macro:`RISCV_HWPROBE_EXT_ZBA`: The Zba address generation extension is
supported, as defined in version 1.0 of the Bit-Manipulation ISA
extensions.

* :c:macro:`RISCV_HWPROBE_EXT_ZBB`: The Zbb extension is supported, as defined
in version 1.0 of the Bit-Manipulation ISA extensions.

* :c:macro:`RISCV_HWPROBE_EXT_ZBS`: The Zbs extension is supported, as defined
in version 1.0 of the Bit-Manipulation ISA extensions.

* :c:macro:`RISCV_HWPROBE_EXT_ZICBOZ`: The Zicboz extension is supported, as
ratified in commit 3dd606f ("Create cmobase-v1.0.pdf") of riscv-CMOs.

* :c:macro:`RISCV_HWPROBE_EXT_ZBC` The Zbc extension is supported, as defined
in version 1.0 of the Bit-Manipulation ISA extensions.

* :c:macro:`RISCV_HWPROBE_EXT_ZBKB` The Zbkb extension is supported, as
defined in version 1.0 of the Scalar Crypto ISA extensions.

* :c:macro:`RISCV_HWPROBE_EXT_ZBKC` The Zbkc extension is supported, as
defined in version 1.0 of the Scalar Crypto ISA extensions.

* :c:macro:`RISCV_HWPROBE_EXT_ZBKX` The Zbkx extension is supported, as
defined in version 1.0 of the Scalar Crypto ISA extensions.

* :c:macro:`RISCV_HWPROBE_EXT_ZKND` The Zknd extension is supported, as
defined in version 1.0 of the Scalar Crypto ISA extensions.

* :c:macro:`RISCV_HWPROBE_EXT_ZKNE` The Zkne extension is supported, as
defined in version 1.0 of the Scalar Crypto ISA extensions.

* :c:macro:`RISCV_HWPROBE_EXT_ZKNH` The Zknh extension is supported, as
defined in version 1.0 of the Scalar Crypto ISA extensions.

* :c:macro:`RISCV_HWPROBE_EXT_ZKSED` The Zksed extension is supported, as
defined in version 1.0 of the Scalar Crypto ISA extensions.

* :c:macro:`RISCV_HWPROBE_EXT_ZKSH` The Zksh extension is supported, as
defined in version 1.0 of the Scalar Crypto ISA extensions.

* :c:macro:`RISCV_HWPROBE_EXT_ZKT` The Zkt extension is supported, as defined
in version 1.0 of the Scalar Crypto ISA extensions.

* :c:macro:`RISCV_HWPROBE_EXT_ZVBB`: The Zvbb extension is supported as
defined in version 1.0 of the RISC-V Cryptography Extensions Volume II.

* :c:macro:`RISCV_HWPROBE_EXT_ZVBC`: The Zvbc extension is supported as
defined in version 1.0 of the RISC-V Cryptography Extensions Volume II.

* :c:macro:`RISCV_HWPROBE_EXT_ZVKB`: The Zvkb extension is supported as
defined in version 1.0 of the RISC-V Cryptography Extensions Volume II.

* :c:macro:`RISCV_HWPROBE_EXT_ZVKG`: The Zvkg extension is supported as
defined in version 1.0 of the RISC-V Cryptography Extensions Volume II.

* :c:macro:`RISCV_HWPROBE_EXT_ZVKNED`: The Zvkned extension is supported as
defined in version 1.0 of the RISC-V Cryptography Extensions Volume II.

* :c:macro:`RISCV_HWPROBE_EXT_ZVKNHA`: The Zvknha extension is supported as
defined in version 1.0 of the RISC-V Cryptography Extensions Volume II.

* :c:macro:`RISCV_HWPROBE_EXT_ZVKNHB`: The Zvknhb extension is supported as
defined in version 1.0 of the RISC-V Cryptography Extensions Volume II.

* :c:macro:`RISCV_HWPROBE_EXT_ZVKSED`: The Zvksed extension is supported as
defined in version 1.0 of the RISC-V Cryptography Extensions Volume II.

* :c:macro:`RISCV_HWPROBE_EXT_ZVKSH`: The Zvksh extension is supported as
defined in version 1.0 of the RISC-V Cryptography Extensions Volume II.

* :c:macro:`RISCV_HWPROBE_EXT_ZVKT`: The Zvkt extension is supported as
defined in version 1.0 of the RISC-V Cryptography Extensions Volume II.

* :c:macro:`RISCV_HWPROBE_EXT_ZFH`: The Zfh extension version 1.0 is supported
as defined in the RISC-V ISA manual.

* :c:macro:`RISCV_HWPROBE_EXT_ZFHMIN`: The Zfhmin extension version 1.0 is
supported as defined in the RISC-V ISA manual.

* :c:macro:`RISCV_HWPROBE_EXT_ZIHINTNTL`: The Zihintntl extension version 1.0
is supported as defined in the RISC-V ISA manual.

* :c:macro:`RISCV_HWPROBE_EXT_ZVFH`: The Zvfh extension is supported as
defined in the RISC-V Vector manual starting from commit e2ccd0548d6c
("Remove draft warnings from Zvfh[min]").

* :c:macro:`RISCV_HWPROBE_EXT_ZVFHMIN`: The Zvfhmin extension is supported as
defined in the RISC-V Vector manual starting from commit e2ccd0548d6c
("Remove draft warnings from Zvfh[min]").

* :c:macro:`RISCV_HWPROBE_EXT_ZFA`: The Zfa extension is supported as
defined in the RISC-V ISA manual starting from commit 056b6ff467c7
("Zfa is ratified").

* :c:macro:`RISCV_HWPROBE_EXT_ZTSO`: The Ztso extension is supported as
defined in the RISC-V ISA manual starting from commit 5618fb5a216b
("Ztso is now ratified.")

* :c:macro:`RISCV_HWPROBE_EXT_ZACAS`: The Zacas extension is supported as
defined in the Atomic Compare-and-Swap (CAS) instructions manual starting
from commit 5059e0ca641c ("update to ratified").

* :c:macro:`RISCV_HWPROBE_EXT_ZICOND`: The Zicond extension is supported as
defined in the RISC-V Integer Conditional (Zicond) operations extension
manual starting from commit 95cf1f9 ("Add changes requested by Ved
during signoff")

* :c:macro:`RISCV_HWPROBE_EXT_ZIHINTPAUSE`: The Zihintpause extension is
supported as defined in the RISC-V ISA manual starting from commit
d8ab5c78c207 ("Zihintpause is ratified").

* :c:macro:`RISCV_HWPROBE_EXT_ZVE32X`: The Vector sub-extension Zve32x is
supported, as defined by version 1.0 of the RISC-V Vector extension manual.

* :c:macro:`RISCV_HWPROBE_EXT_ZVE32F`: The Vector sub-extension Zve32f is
supported, as defined by version 1.0 of the RISC-V Vector extension manual.

* :c:macro:`RISCV_HWPROBE_EXT_ZVE64X`: The Vector sub-extension Zve64x is
supported, as defined by version 1.0 of the RISC-V Vector extension manual.

* :c:macro:`RISCV_HWPROBE_EXT_ZVE64F`: The Vector sub-extension Zve64f is
supported, as defined by version 1.0 of the RISC-V Vector extension manual.

* :c:macro:`RISCV_HWPROBE_EXT_ZVE64D`: The Vector sub-extension Zve64d is
supported, as defined by version 1.0 of the RISC-V Vector extension manual.

* :c:macro:`RISCV_HWPROBE_EXT_ZIMOP`: The Zimop May-Be-Operations extension is
supported as defined in the RISC-V ISA manual starting from commit
58220614a5f ("Zimop is ratified/1.0").

* :c:macro:`RISCV_HWPROBE_EXT_ZCA`: The Zca extension part of Zc* standard
extensions for code size reduction, as ratified in commit 8be3419c1c0
("Zcf doesn't exist on RV64 as it contains no instructions") of
riscv-code-size-reduction.

* :c:macro:`RISCV_HWPROBE_EXT_ZCB`: The Zcb extension part of Zc* standard
extensions for code size reduction, as ratified in commit 8be3419c1c0
("Zcf doesn't exist on RV64 as it contains no instructions") of
riscv-code-size-reduction.

* :c:macro:`RISCV_HWPROBE_EXT_ZCD`: The Zcd extension part of Zc* standard
extensions for code size reduction, as ratified in commit 8be3419c1c0
("Zcf doesn't exist on RV64 as it contains no instructions") of
riscv-code-size-reduction.

* :c:macro:`RISCV_HWPROBE_EXT_ZCF`: The Zcf extension part of Zc* standard
extensions for code size reduction, as ratified in commit 8be3419c1c0
("Zcf doesn't exist on RV64 as it contains no instructions") of
riscv-code-size-reduction.

* :c:macro:`RISCV_HWPROBE_EXT_ZCMOP`: The Zcmop May-Be-Operations extension is
supported as defined in the RISC-V ISA manual starting from commit
c732a4f39a4 ("Zcmop is ratified/1.0").

* :c:macro:`RISCV_HWPROBE_EXT_ZAWRS`: The Zawrs extension is supported as
ratified in commit 98918c844281 ("Merge pull request #1217 from
riscv/zawrs") of riscv-isa-manual.

* :c:macro:`RISCV_HWPROBE_EXT_SUPM`: The Supm extension is supported as
defined in version 1.0 of the RISC-V Pointer Masking extensions.

* :c:macro:`RISCV_HWPROBE_KEY_CPUPERF_0`: A bitmask that contains performance
information about the selected set of processors.

* :c:macro:`RISCV_HWPROBE_MISALIGNED_UNKNOWN`: The performance of misaligned
accesses is unknown.

* :c:macro:`RISCV_HWPROBE_MISALIGNED_EMULATED`: Misaligned accesses are
emulated via software, either in or below the kernel. These accesses are
always extremely slow.

* :c:macro:`RISCV_HWPROBE_MISALIGNED_SLOW`: Misaligned accesses are slower
than equivalent byte accesses. Misaligned accesses may be supported
directly in hardware, or trapped and emulated by software.

* :c:macro:`RISCV_HWPROBE_MISALIGNED_FAST`: Misaligned accesses are faster
than equivalent byte accesses.

* :c:macro:`RISCV_HWPROBE_MISALIGNED_UNSUPPORTED`: Misaligned accesses are
not supported at all and will generate a misaligned address fault.

* :c:macro:`RISCV_HWPROBE_KEY_ZICBOZ_BLOCK_SIZE`: An unsigned int which
represents the size of the Zicboz block in bytes.

* :c:macro:`RISCV_HWPROBE_KEY_HIGHEST_VIRT_ADDRESS`: An unsigned long which
represent the highest userspace virtual address usable.

* :c:macro:`RISCV_HWPROBE_KEY_TIME_CSR_FREQ`: Frequency (in Hz) of `time CSR`.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/hwlock/xuantie,th1520-hwspinlock.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: XUANTIE th1520 SoC HwSpinlock

maintainers:
- Liu Yibin <jiulong@linux.alibaba.com>

properties:
compatible:
items:
- const: th1520,hwspinlock

reg:
maxItems: 1


required:
- compatible
- reg

additionalProperties: false

examples:

- |
hwspinlock: hwspinlock@ffefc10000 {
compatible = "th1520,hwspinlock";
reg = <0xff 0xefc10000 0x0 0x10000>;
status = "disabled";
};
52 changes: 52 additions & 0 deletions Documentation/devicetree/bindings/iio/adc/thead,th1520-adc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/adc/xuantie,th1520-adc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: XuanTie TH1520 Analog to Digital Converter (ADC)

maintainers:
- Fugang Duan <duanfugang.dfg@linux.alibaba.com>
- Xiangyi Zeng <xiangyi.zeng@linux.alibaba.com>
- Wei Fu <wefu@redhat.com>

description: |
12-Bit Analog to Digital Converter (ADC) on XuanTie TH1520
properties:
compatible:
const: xuantie,th1520-adc

reg:
maxItems: 1

interrupts:
maxItems: 1

clocks:
maxItems: 1

clock-names:
const: adc

required:
- compatible
- reg
- interrupts
- clocks
- clock-names
- status

additionalProperties: false

examples:
- |
adc: adc@0xfffff51000 {
compatible = "xuantie,th1520-adc";
reg = <0xff 0xfff51000 0x0 0x1000>;
interrupts = <61 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&aonsys_clk>;
clock-names = "adc";
/* ADC pin is proprietary,no need to config pinctrl */
status = "disabled";
};
Loading