Hi all, below is a series to support nommu mode on RISC-V. For now this series just works under qemu with the qemu-virt platform, but Damien has also been able to get kernel based on this tree with additional driver hacks to work on the Kendryte KD210, but that will take a while to cleanup an upstream.
A git tree is available here: git://git.infradead.org/users/hch/riscv.git riscv-nommu.5 Gitweb: http://git.infradead.org/users/hch/riscv.git/shortlog/refs/heads/riscv-nommu.5 I've also pushed out a builtroot branch that can build a RISC-V nommu root filesystem here: git://git.infradead.org/users/hch/buildroot.git riscv-nommu.2 Gitweb: http://git.infradead.org/users/hch/buildroot.git/shortlog/refs/heads/riscv-nommu.2 Changes since v4: - rebased to 5.4-rc + latest riscv fixes - clean up do_trap_break - fix an SR_XPIE issue (Paul Walmsley) - use the symbolic PAGE_OFFSET value in the flat loader (Aurabindo Jayamohanan) Changes since v3: - improve a few commit message - cleanup riscv_cpuid_to_hartid_mask - cleanup the timer handling - cleanup the IPI handling a little more - renamed CONFIG_M_MODE to CONFIG_RISCV_M_MODE - split out CONFIG_RISCV_SBI to make some of the ifdefs more obbious - use IS_ENABLED wherever possible instead of if ifdefs to make the code more readable Changes since v2: - rebased to 5.3-rc - remove the EFI image header for nommu builds - set ARCH_SLAB_MINALIGN to ensure stack alignment in the flat binary loader - minor comment improvement - use #defines for more CSRs Changes since v1: - fixes so that a kernel with this series still work on builds with an IOMMU - small clint cleanups - the binfmt_flat base and buildroot now don't put arguments on the stack