All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH dovetail v10 00/11] riscv: Add dovetail support
@ 2026-07-06 18:29 Tobias Schaffner
  2026-07-06 18:29 ` [PATCH dovetail v10 01/11] riscv: introduce raw console device Tobias Schaffner
                   ` (11 more replies)
  0 siblings, 12 replies; 17+ messages in thread
From: Tobias Schaffner @ 2026-07-06 18:29 UTC (permalink / raw)
  To: xenomai; +Cc: rpm, florian.bezdeka, jan.kiszka, Tobias Schaffner

Hi all,

this series introduces initial support for Dovetail on RISC-V.

Feedback, suggestions, and especially reviews are very welcome.

Changes since v1:
 * Disable independent irq/softirq stack usage when pipelining
 * Drop KVM changes as long as they can not be properly tested

Changes since v2:
 * Rework trap handling

Changes since v3:
 * Included the IRQ pipelining patches to have all riscv specific
   patches included
 * Rebased to dovetail/v6.18.y-dovetail-rebase
 * Merged most of the fixes
 * Fixed IRQ Stack handling and enabled IRQ_STACKS again

Changes since v4:
 * Rebased to dovetail/v7.0.y-dovetail-rebase
 * Applied suggestions from the last patch set
 * Added starfive-visionfive2 board support
 * Introduced raw console device based on sbi debug console
 * Reworked pipelined irq handling

Changes since v5:
 * Rebased to tip of dovetail/v7.0.y-dovetail-rebase
 * Applied suggestions from the last patch set
 * Use mark_trap_entry/exit_raw for kernel mode exception paths which
   use irq_nmi_entry/exit for now, as the nmi irq handlers expect hard
   irqs to stay off. This may be be subject to further optimization at
   a later stage, but I do not see any negative impact latency wise in
   my tests.

Changes since v6:
Address the review comments from the last patch set:
 * Keep the virtual irq state in sync with the hard irq state in trap
   handlers
 * Fix irq_nesting imbalance when running with disabled IRQ_STACKS

Changes since v7:
 * Simplify Trap handling
 * Rebase to wip/flo/v7.1-dovetail-rebase

Changes since v8:
 * Further simplify trap handling adressing Florians suggestions and
   recent fixes to irq-entry-common

Changes since v9:
 * Fix checkpatch finding in patch 11 "riscv: Add dovetail support"

Tobias Schaffner (11):
  riscv: introduce raw console device
  riscv: irq_pipeline: add IRQ pipelining core
  irqchip/riscv-aplic-direct: enable pipelined interrupt control
  irqchip/irq-riscv-aplic-msi: enable pipelined interrupt control
  irqchip/irq-riscv-imsic-platform: enable pipelined interrupt control
  irqchip/irq-riscv-intc: enable pipelined interrupt control
  irqchip/irq-sifive-plic: enable pipelined interrupt control
  clocksource/timer-riscv: irq_pipeline: enable pipelined clock events
  pinctrl: starfive: irq_pipeline: enable pipelined interrupt control
  PCI: plda: irq_pipeline: enable pipelined interrupt control
  riscv: dovetail: add core support

 arch/riscv/Kconfig                            |   3 +
 arch/riscv/include/asm/dovetail.h             |  24 +++
 arch/riscv/include/asm/entry-common.h         |   3 +-
 arch/riscv/include/asm/irq_pipeline.h         | 143 +++++++++++++
 arch/riscv/include/asm/irqflags.h             |  32 ++-
 arch/riscv/include/asm/mmu_context.h          |   2 +
 arch/riscv/include/asm/smp.h                  |  25 +++
 arch/riscv/include/asm/syscall.h              |   6 +
 arch/riscv/include/asm/thread_info.h          |  17 ++
 arch/riscv/kernel/Makefile                    |   2 +
 arch/riscv/kernel/irq_pipeline.c              |  26 +++
 arch/riscv/kernel/kernel_mode_vector.c        |   2 +-
 arch/riscv/kernel/raw_printk.c                |  33 +++
 arch/riscv/kernel/sbi-ipi.c                   |  12 +-
 arch/riscv/kernel/smp.c                       |  56 +++--
 arch/riscv/kernel/smpboot.c                   |   2 +-
 arch/riscv/kernel/traps.c                     | 199 +++++++++++++++---
 arch/riscv/mm/context.c                       |  20 +-
 arch/riscv/mm/fault.c                         |   8 +-
 drivers/clocksource/timer-riscv.c             |  11 +-
 drivers/irqchip/irq-riscv-aplic-direct.c      |   3 +-
 drivers/irqchip/irq-riscv-aplic-msi.c         |   3 +-
 drivers/irqchip/irq-riscv-imsic-platform.c    |   4 +-
 drivers/irqchip/irq-riscv-intc.c              |   2 +
 drivers/irqchip/irq-sifive-plic.c             |  10 +-
 drivers/pci/controller/plda/pcie-plda-host.c  |   2 +
 .../starfive/pinctrl-starfive-jh7110.c        |   2 +-
 .../starfive/pinctrl-starfive-jh7110.h        |   2 +-
 28 files changed, 577 insertions(+), 77 deletions(-)
 create mode 100644 arch/riscv/include/asm/dovetail.h
 create mode 100644 arch/riscv/include/asm/irq_pipeline.h
 create mode 100644 arch/riscv/kernel/irq_pipeline.c
 create mode 100644 arch/riscv/kernel/raw_printk.c

-- 
2.43.0


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2026-07-07 22:01 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-06 18:29 [PATCH dovetail v10 00/11] riscv: Add dovetail support Tobias Schaffner
2026-07-06 18:29 ` [PATCH dovetail v10 01/11] riscv: introduce raw console device Tobias Schaffner
2026-07-06 18:29 ` [PATCH dovetail v10 02/11] riscv: irq_pipeline: add IRQ pipelining core Tobias Schaffner
2026-07-06 18:29 ` [PATCH dovetail v10 03/11] irqchip/riscv-aplic-direct: enable pipelined interrupt control Tobias Schaffner
2026-07-06 18:29 ` [PATCH dovetail v10 04/11] irqchip/irq-riscv-aplic-msi: " Tobias Schaffner
2026-07-06 18:29 ` [PATCH dovetail v10 05/11] irqchip/irq-riscv-imsic-platform: " Tobias Schaffner
2026-07-06 18:29 ` [PATCH dovetail v10 06/11] irqchip/irq-riscv-intc: " Tobias Schaffner
2026-07-06 18:29 ` [PATCH dovetail v10 07/11] irqchip/irq-sifive-plic: " Tobias Schaffner
2026-07-06 18:29 ` [PATCH dovetail v10 08/11] clocksource/timer-riscv: irq_pipeline: enable pipelined clock events Tobias Schaffner
2026-07-06 18:29 ` [PATCH dovetail v10 09/11] pinctrl: starfive: irq_pipeline: enable pipelined interrupt control Tobias Schaffner
2026-07-06 18:29 ` [PATCH dovetail v10 10/11] PCI: plda: " Tobias Schaffner
2026-07-06 18:29 ` [PATCH dovetail v10 11/11] riscv: dovetail: add core support Tobias Schaffner
2026-07-07 10:02 ` [PATCH dovetail v10 00/11] riscv: Add dovetail support Florian Bezdeka
2026-07-07 10:51   ` Bezdeka, Florian
2026-07-07 13:56     ` Philippe Gerum
2026-07-07 22:01       ` Florian Bezdeka
2026-07-07 13:53   ` Philippe Gerum

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.