RISC-V nommu support v4

From: Christoph Hellwig
Date: Tue Sep 03 2019 - 05:32:44 EST

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.4



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



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
- 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
- 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
- small clint cleanups
- the binfmt_flat base and buildroot now don't put arguments on the stack