Linux-RISC-V Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/6] Add workarounds for Picoheart erratas
@ 2026-07-28  9:46 Yicong Yang
  2026-07-28  9:46 ` [PATCH v2 1/6] riscv: Make get_insn public for instruction fault handling Yicong Yang
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Yicong Yang @ 2026-07-28  9:46 UTC (permalink / raw)
  To: pjw, palmer, aou, linux-riscv
  Cc: wangruikang, ganboing, geshijian, niehaitao, cuiyunhui,
	yang.yicong

This series add basic errata framework for Picoheart SoCs for handling
upcoming Picoheart erratas. And add workarounds for the first two
erratas on our hardware. Also do some fixups and refactor in support
of the erratas.

Change since v1:
- factor out a common get_insn for reading userspace instructions
- fix the issue from reading instructions of a exec-only mapping
- cleanups and code style refinements per comments
Link: https://lore.kernel.org/linux-riscv/20260715084724.26578-1-yang.yicong@picoheart.com/

Yicong Yang (6):
  riscv: Make get_insn public for instruction fault handling
  riscv: insn: Set sstatus.MXR when reading userspace instruction
  riscv: insn: Support decoding of CBO instructions
  riscv: errata: Add init framework for picoheart errata
  riscv: errata: picoheart: Add workaround for cbo.clean errata
  riscv: errata: picoheart: Add workaround for AMOCASQ errata

 arch/riscv/Kconfig.errata                    |  34 +++
 arch/riscv/errata/Makefile                   |   1 +
 arch/riscv/errata/picoheart/Makefile         |   5 +
 arch/riscv/errata/picoheart/errata.c         | 238 +++++++++++++++++++
 arch/riscv/include/asm/alternative.h         |   3 +
 arch/riscv/include/asm/cmpxchg.h             |   2 +-
 arch/riscv/include/asm/cpufeature.h          |   8 +
 arch/riscv/include/asm/csr.h                 |   1 +
 arch/riscv/include/asm/errata_list.h         |  25 +-
 arch/riscv/include/asm/errata_list_vendors.h |   4 +
 arch/riscv/include/asm/insn.h                |  63 ++++-
 arch/riscv/include/asm/processor.h           |   2 +-
 arch/riscv/include/asm/vendorid_list.h       |   1 +
 arch/riscv/kernel/alternative.c              |   5 +
 arch/riscv/kernel/asm-offsets.c              |   6 +-
 arch/riscv/kernel/cpufeature.c               |  16 +-
 arch/riscv/kernel/entry.S                    |  14 +-
 arch/riscv/kernel/traps.c                    |   4 +
 arch/riscv/kernel/traps_misaligned.c         |  52 ----
 arch/riscv/kernel/vector.c                   |   6 +-
 20 files changed, 419 insertions(+), 71 deletions(-)
 create mode 100644 arch/riscv/errata/picoheart/Makefile
 create mode 100644 arch/riscv/errata/picoheart/errata.c

-- 
2.50.1 (Apple Git-155)

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

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

end of thread, other threads:[~2026-08-25  7:39 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-28  9:46 [PATCH v2 0/6] Add workarounds for Picoheart erratas Yicong Yang
2026-07-28  9:46 ` [PATCH v2 1/6] riscv: Make get_insn public for instruction fault handling Yicong Yang
2026-07-28  9:46 ` [PATCH v2 2/6] riscv: insn: Set sstatus.MXR when reading userspace instruction Yicong Yang
2026-08-25  0:06   ` Paul Walmsley
2026-08-25  7:39     ` Yicong Yang
2026-07-28  9:46 ` [PATCH v2 3/6] riscv: insn: Support decoding of CBO instructions Yicong Yang
2026-07-28  9:46 ` [PATCH v2 4/6] riscv: errata: Add init framework for picoheart errata Yicong Yang
2026-07-28  9:46 ` [PATCH v2 5/6] riscv: errata: picoheart: Add workaround for cbo.clean errata Yicong Yang
2026-07-28  9:46 ` [PATCH v2 6/6] riscv: errata: picoheart: Add workaround for AMOCASQ errata Yicong Yang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox