[PATCH v4 0/4] Add PMEM support for RISC-V

From: Anup Patel
Date: Wed Oct 19 2022 - 09:26:35 EST


The Linux NVDIMM PEM drivers require arch support to map and access the
persistent memory device. This series adds RISC-V PMEM support using
recently added Svpbmt and Zicbom support.

First two patches are fixes and remaining two patches add the required
PMEM support for Linux RISC-V.

These patches can also be found in riscv_pmem_v4 branch at:
https://github.com/avpatel/linux.git

Changes since v3:
- Pickup correct version of Drew's patch as PATCH1

Changes since v2:
- Rebased on Linux-6.1-rc1
- Replaced PATCH1 with the patch proposed by Drew

Changes since v1:
- Fix error reported by test bot
https://lore.kernel.org/all/202208272028.IwrNZ0Ur-lkp@xxxxxxxxx/

Andrew Jones (1):
RISC-V: Fix compilation without RISCV_ISA_ZICBOM

Anup Patel (3):
RISC-V: Fix ioremap_cache() and ioremap_wc() for systems with Svpbmt
RISC-V: Implement arch specific PMEM APIs
RISC-V: Enable PMEM drivers

arch/riscv/Kconfig | 1 +
arch/riscv/configs/defconfig | 1 +
arch/riscv/include/asm/cacheflush.h | 8 ------
arch/riscv/include/asm/io.h | 10 +++++++
arch/riscv/include/asm/pgtable.h | 2 ++
arch/riscv/mm/Makefile | 1 +
arch/riscv/mm/cacheflush.c | 38 ++++++++++++++++++++++++++
arch/riscv/mm/dma-noncoherent.c | 41 -----------------------------
arch/riscv/mm/pmem.c | 21 +++++++++++++++
9 files changed, 74 insertions(+), 49 deletions(-)
create mode 100644 arch/riscv/mm/pmem.c

--
2.34.1