nuttx/arch
Lee Lup Yuen 0bac2efd0e Extend MMU Flags to 64-bit for T-Head C906 and Svpbmt
Currently RISC-V NuttX supports 32-bit MMU Flags inside a Page Table Entry. This PR extends the MMU Flags to 64-bit, to support T-Head C906 Core and the new RISC-V Svpbmt Extension.

T-Head C906 uses Bits 59 to 63 in a Leaf Page Table Entry to configure the Memory Type: Cacheable / Bufferable / Strongly-Ordered. For the upcoming port of NuttX to PINE64 Ox64 BL808 SBC, we need to set the Memory Type to Strongly-Ordered for I/O Memory, which requires 64-bit MMU Flags.

Details of C906 MMU: https://lupyuen.github.io/articles/plic3#t-head-errata

Newer RISC-V Cores will use the Svpbmt Extension to configure the Memory Type (Cacheable / Strongly-Ordered). Svpbmt uses Bits 61 to 62 in a Leaf Page Table Entry to define the Memory Type. This also requires 64-bit MMU Flags.

Details of Svpbmt: https://github.com/riscv/riscv-isa-manual/blob/main/src/supervisor.adoc#svpbmt
2023-12-11 02:10:14 -08:00
..
arm arch:Mark key functions to prohibit instrumentation to prevent recursive calls 2023-12-11 02:06:51 -08:00
arm64 libc: add instrument api support 2023-12-11 02:06:51 -08:00
avr arch/dumponexit: unify dump on exit to common code 2023-11-15 08:28:25 -08:00
ceva format: modify spin_lock_irqsave format 2023-10-06 20:00:04 -04:00
dummy
hc arch/dumponexit: unify dump on exit to common code 2023-11-15 08:28:25 -08:00
mips arch/dumponexit: unify dump on exit to common code 2023-11-15 08:28:25 -08:00
misoc arch/dumponexit: unify dump on exit to common code 2023-11-15 08:28:25 -08:00
or1k arch/dumponexit: unify dump on exit to common code 2023-11-15 08:28:25 -08:00
renesas arch/dumponexit: unify dump on exit to common code 2023-11-15 08:28:25 -08:00
risc-v Extend MMU Flags to 64-bit for T-Head C906 and Svpbmt 2023-12-11 02:10:14 -08:00
sim sched/procfs:use instrument to statistics run time max stack 2023-12-11 02:06:51 -08:00
sparc tcbinfo:remove total_num form tcbinfo. 2023-11-21 21:52:24 -08:00
x86 tcbinfo:remove total_num form tcbinfo. 2023-11-21 21:52:24 -08:00
x86_64 tcbinfo:remove total_num form tcbinfo. 2023-11-21 21:52:24 -08:00
xtensa arch:Mark key functions to prohibit instrumentation to prevent recursive calls 2023-12-11 02:06:51 -08:00
z16 arch/dumponexit: unify dump on exit to common code 2023-11-15 08:28:25 -08:00
z80 arch/dumponexit: unify dump on exit to common code 2023-11-15 08:28:25 -08:00
CMakeLists.txt
Kconfig libc: add instrument api support 2023-12-11 02:06:51 -08:00