svpbmt and t-head memory types

A patchset in state Mainline for linux-kernel

From: Heiko Stuebner <heiko@...> Date: Tue, 21 Dec 2021 01:38:05 +0100

Again a first round completely internal. I still need to clean up the t-head defines and rework commit messages and maybe some comments a bit. But overall it's very satisfying to see the same kernel image boot on: - beaglev ... as before - qemu ... with the svpbmt qemu patch - d1-nezha ;-) So, comments welcome. Guo Ren (2): riscv: Fixup _PAGE_CHG_MASK usage in pgtable riscv: pgtable: Add custom protection_map init Heiko Stuebner (8): riscv: prevent null-pointer dereference with sbi_remote_fence_i riscv: integrate alternatives better into the main architecture riscv: allow different stages with alternatives riscv: implement module alternatives riscv: add cpufeature handling via alternatives riscv: remove FIXMAP_PAGE_IO and fall back to its default value riscv: implement ALTERNATIVE_2 macro riscv: add memory-type errata for T-Head Wei Fu (2): dt-bindings: riscv: add MMU Standard Extensions support for Svpbmt riscv: add RISC-V Svpbmt extension supports .../devicetree/bindings/riscv/cpus.yaml | 10 ++ arch/riscv/Kconfig | 4 + arch/riscv/Kconfig.erratas | 29 ++-- arch/riscv/Kconfig.socs | 1 - arch/riscv/Makefile | 2 +- arch/riscv/errata/Makefile | 2 +- arch/riscv/errata/sifive/errata.c | 10 +- arch/riscv/errata/thead/Makefile | 1 + arch/riscv/errata/thead/errata.c | 85 +++++++++++ arch/riscv/include/asm/alternative-macros.h | 72 ++++------ arch/riscv/include/asm/alternative.h | 18 ++- arch/riscv/include/asm/errata_list.h | 20 +++ arch/riscv/include/asm/fixmap.h | 2 - arch/riscv/include/asm/pgtable-32.h | 10 ++ arch/riscv/include/asm/pgtable-64.h | 70 +++++++++- arch/riscv/include/asm/pgtable-bits.h | 4 - arch/riscv/include/asm/pgtable.h | 42 ++++-- arch/riscv/include/asm/vendorid_list.h | 1 + arch/riscv/kernel/Makefile | 1 + arch/riscv/{errata => kernel}/alternative.c | 55 +++++++- arch/riscv/kernel/cpufeature.c | 132 +++++++++++++++++- arch/riscv/kernel/head.S | 2 + arch/riscv/kernel/module.c | 29 ++++ arch/riscv/kernel/sbi.c | 10 +- arch/riscv/kernel/smpboot.c | 2 - arch/riscv/kernel/traps.c | 2 +- arch/riscv/mm/cacheflush.c | 25 ++-- arch/riscv/mm/init.c | 24 ++++ mm/mmap.c | 4 + 29 files changed, 572 insertions(+), 97 deletions(-) create mode 100644 arch/riscv/errata/thead/Makefile create mode 100644 arch/riscv/errata/thead/errata.c rename arch/riscv/{errata => kernel}/alternative.c (56%) -- 2.30.2

Patches in this set

Statistics

  • 12 individual patches
  • 584 lines added
  • 109 lines removed
 

Recent Patches

About Us

Sed lacus. Donec lectus. Nullam pretium nibh ut turpis. Nam bibendum. In nulla tortor, elementum vel, tempor at, varius non, purus. Mauris vitae nisl nec metus placerat consectetuer.

Read More...