| From: |
| Christoph Hellwig <hch-AT-lst.de> |
| To: |
| Palmer Dabbelt <palmer-AT-sifive.com>, Paul Walmsley <paul.walmsley-AT-sifive.com> |
| Subject: |
| RISC-V nommu support v6 |
| Date: |
| Mon, 28 Oct 2019 13:10:31 +0100 |
| Message-ID: |
| <20191028121043.22934-1-hch@lst.de> |
| Cc: |
| Damien Le Moal <damien.lemoal-AT-wdc.com>, linux-riscv-AT-lists.infradead.org, linux-kernel-AT-vger.kernel.org |
| Archive-link: |
| Article |
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.6
Gitweb:
http://git.infradead.org/users/hch/riscv.git/shortlog/ref...
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...
Changes since v5:
- rebased to Linux 5.4-rc5
- fix up a newly sneaked in use of ->sepc in the perf callchain code
- fix out of tree builds with the generated loader.lds
- replace the plic context hack with a cleaner solution
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