svpbmt and t-head memory types
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
- [0001] riscv: prevent null-pointer dereference with (raw)
- [0002] riscv: integrate alternatives better into the main (raw)
- [0003] riscv: Fixup _PAGE_CHG_MASK usage in pgtable (raw)
- [0004] riscv: allow different stages with alternatives (raw)
- [0005] riscv: implement module alternatives (raw)
- [0006] riscv: add cpufeature handling via alternatives (raw)
- [0007] riscv: pgtable: Add custom protection_map init (raw)
- [0008] dt-bindings: riscv: add MMU Standard Extensions support (raw)
- [0009] riscv: add RISC-V Svpbmt extension supports (raw)
- [0010] riscv: remove FIXMAP_PAGE_IO and fall back to its (raw)
- [0011] riscv: implement ALTERNATIVE_2 macro (raw)
- [0012] riscv: add memory-type errata for T-Head (raw)
Statistics
- 12 individual patches
- 584 lines added
- 109 lines removed