-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'riscv-for-linus-6.11-mw1' of git://git.kernel.org/pub/scm/…
…linux/kernel/git/riscv/linux Pull RISC-V updates from Palmer Dabbelt: - Support for various new ISA extensions: * The Zve32[xf] and Zve64[xfd] sub-extensios of the vector extension * Zimop and Zcmop for may-be-operations * The Zca, Zcf, Zcd and Zcb sub-extensions of the C extension * Zawrs - riscv,cpu-intc is now dtschema - A handful of performance improvements and cleanups to text patching - Support for memory hot{,un}plug - The highest user-allocatable virtual address is now visible in hwprobe * tag 'riscv-for-linus-6.11-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (58 commits) riscv: lib: relax assembly constraints in hweight riscv: set trap vector earlier KVM: riscv: selftests: Add Zawrs extension to get-reg-list test KVM: riscv: Support guest wrs.nto riscv: hwprobe: export Zawrs ISA extension riscv: Add Zawrs support for spinlocks dt-bindings: riscv: Add Zawrs ISA extension description riscv: Provide a definition for 'pause' riscv: hwprobe: export highest virtual userspace address riscv: Improve sbi_ecall() code generation by reordering arguments riscv: Add tracepoints for SBI calls and returns riscv: Optimize crc32 with Zbc extension riscv: Enable DAX VMEMMAP optimization riscv: mm: Add support for ZONE_DEVICE virtio-mem: Enable virtio-mem for RISC-V riscv: Enable memory hotplugging for RISC-V riscv: mm: Take memory hotplug read-lock during kernel page table dump riscv: mm: Add memory hotplugging support riscv: mm: Add pfn_to_kaddr() implementation riscv: mm: Refactor create_linear_mapping_range() for memory hot add ...
- Loading branch information
Showing
54 changed files
with
1,642 additions
and
325 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
52 changes: 0 additions & 52 deletions
52
Documentation/devicetree/bindings/interrupt-controller/riscv,cpu-intc.txt
This file was deleted.
Oops, something went wrong.
73 changes: 73 additions & 0 deletions
73
Documentation/devicetree/bindings/interrupt-controller/riscv,cpu-intc.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/interrupt-controller/riscv,cpu-intc.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: RISC-V Hart-Level Interrupt Controller (HLIC) | ||
|
||
description: | ||
RISC-V cores include Control Status Registers (CSRs) which are local to | ||
each CPU core (HART in RISC-V terminology) and can be read or written by | ||
software. Some of these CSRs are used to control local interrupts connected | ||
to the core. Every interrupt is ultimately routed through a hart's HLIC | ||
before it interrupts that hart. | ||
|
||
The RISC-V supervisor ISA manual specifies three interrupt sources that are | ||
attached to every HLIC namely software interrupts, the timer interrupt, and | ||
external interrupts. Software interrupts are used to send IPIs between | ||
cores. The timer interrupt comes from an architecturally mandated real- | ||
time timer that is controlled via Supervisor Binary Interface (SBI) calls | ||
and CSR reads. External interrupts connect all other device interrupts to | ||
the HLIC, which are routed via the platform-level interrupt controller | ||
(PLIC). | ||
|
||
All RISC-V systems that conform to the supervisor ISA specification are | ||
required to have a HLIC with these three interrupt sources present. Since | ||
the interrupt map is defined by the ISA it's not listed in the HLIC's device | ||
tree entry, though external interrupt controllers (like the PLIC, for | ||
example) will need to define how their interrupts map to the relevant HLICs. | ||
This means a PLIC interrupt property will typically list the HLICs for all | ||
present HARTs in the system. | ||
|
||
maintainers: | ||
- Palmer Dabbelt <palmer@dabbelt.com> | ||
- Paul Walmsley <paul.walmsley@sifive.com> | ||
|
||
properties: | ||
compatible: | ||
oneOf: | ||
- items: | ||
- const: andestech,cpu-intc | ||
- const: riscv,cpu-intc | ||
- const: riscv,cpu-intc | ||
|
||
interrupt-controller: true | ||
|
||
'#interrupt-cells': | ||
const: 1 | ||
description: | | ||
The interrupt sources are defined by the RISC-V supervisor ISA manual, | ||
with only the following three interrupts being defined for | ||
supervisor mode: | ||
- Source 1 is the supervisor software interrupt, which can be sent by | ||
an SBI call and is reserved for use by software. | ||
- Source 5 is the supervisor timer interrupt, which can be configured | ||
by SBI calls and implements a one-shot timer. | ||
- Source 9 is the supervisor external interrupt, which chains to all | ||
other device interrupts. | ||
required: | ||
- compatible | ||
- '#interrupt-cells' | ||
- interrupt-controller | ||
|
||
additionalProperties: false | ||
|
||
examples: | ||
- | | ||
interrupt-controller { | ||
#interrupt-cells = <1>; | ||
compatible = "riscv,cpu-intc"; | ||
interrupt-controller; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.