[PATCH 0/3] Highmem support for 32-bit RISC-V

Eric Lin
2020-03-31T09:49:57Z

With Highmem support, the kernel can map more than 1GB physical memory.

This patchset implements Highmem for RV32, referencing to mostly nds32
and others like arm and mips, and it has been tested on Andes A25MP platform.

Eric Lin (3):
riscv/mm: Add pkmap region and CONFIG_HIGHMEM
riscv/mm: Implement kmap() and kmap_atomic()
riscv/mm: Add pkmap in print_vm_layout()

arch/riscv/Kconfig | 18 +++++++
arch/riscv/include/asm/fixmap.h | 9 +++-
arch/riscv/include/asm/highmem.h | 49 +++++++++++++++++
arch/riscv/include/asm/pgtable.h | 27 ++++++++++
arch/riscv/mm/Makefile | 1 +
arch/riscv/mm/highmem.c | 74 +++++++++++++++++++++++++
arch/riscv/mm/init.c | 92 ++++++++++++++++++++++++++++++--
7 files changed, 266 insertions(+), 4 deletions(-)
create mode 100644 arch/riscv/include/asm/highmem.h
create mode 100644 arch/riscv/mm/highmem.c

--
2.17.0