All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/5] Add workarounds for Picoheart erratas
@ 2026-09-07  7:21 Yicong Yang
  2026-09-07  7:21 ` [PATCH v3 1/5] riscv: Make get_insn public for instruction fault handling Yicong Yang
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Yicong Yang @ 2026-09-07  7:21 UTC (permalink / raw)
  To: pjw, palmer, aou, linux-riscv
  Cc: wangruikang, ganboing, alex, andrew.jones, cleger, 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 v2:
- rebase on 7.3-rc2
- merge the MXR fix and get_insn extraction into one patch
Link: https://lore.kernel.org/linux-riscv/20260728094627.94975-1-yang.yicong@picoheart.com/

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 (5):
  riscv: Make get_insn public for instruction fault handling
  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] 10+ messages in thread

end of thread, other threads:[~2026-09-08 14:29 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-07  7:21 [PATCH v3 0/5] Add workarounds for Picoheart erratas Yicong Yang
2026-09-07  7:21 ` [PATCH v3 1/5] riscv: Make get_insn public for instruction fault handling Yicong Yang
2026-09-07  7:21 ` [PATCH v3 2/5] riscv: insn: Support decoding of CBO instructions Yicong Yang
2026-09-07  7:21 ` [PATCH v3 3/5] riscv: errata: Add init framework for picoheart errata Yicong Yang
2026-09-07  7:21 ` [PATCH v3 4/5] riscv: errata: picoheart: Add workaround for cbo.clean errata Yicong Yang
2026-09-07  7:21 ` [PATCH v3 5/5] riscv: errata: picoheart: Add workaround for AMOCASQ errata Yicong Yang
2026-09-07 15:44   ` Conor Dooley
2026-09-08 11:41     ` Yicong Yang
2026-09-08 13:27       ` Conor Dooley
2026-09-08 14:28         ` Yicong Yang

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.