[PATCH v4 0/6] Fixmap support and MM cleanups

From: Anup Patel
Date: Wed Feb 13 2019 - 01:32:01 EST


This patchset does:
1. Moves MM related code from kernel/setup.c to mm/init.c
2. Implements compile-time fixed mappings

Using fixed mappings available, we can now get earlyprints
even without SBI calls. For example, we can use kernel
parameter "earlycon=uart8250,mmio,0x10000000" to get early
prints on QEMU virt machine without using SBI calls.

The patchset is tested on QEMU virt machine. It is based on
Linux-5.0-rc6 and can be found at riscv_fixmap_v4 branch of:
https://github.com/avpatel/linux.git.

Changes since v3:
- Re-worked and simplified PATCH6

Changes since v2:
- Fixed commit description of PATCH6
- Ensured commit description of all PATCH use upto 72
characters per line

Changes since v1:
- Use more characters per line in changelog of PATCH3
- Removed #ifndef __ASSEMBLY__ from PATCH5
- Use more characters per line in commets of PATCH5
- Added PATCH6 to implement keepinitrd kernel parameter

Anup Patel (6):
RISC-V: Move free_initrd_mem() to kernel/setup.c
RISC-V: Setup init_mm before parse_early_param()
RISC-V: Move setup_bootmem() to mm/init.c
RISC-V: Move setup_vm() to mm/init.c
RISC-V: Implement compile-time fixed mappings
RISC-V: Free-up initrd in free_initrd_mem()

arch/riscv/Kconfig | 3 +
arch/riscv/include/asm/fixmap.h | 44 +++++++++++
arch/riscv/include/asm/pgtable.h | 1 +
arch/riscv/kernel/setup.c | 107 +++-----------------------
arch/riscv/mm/init.c | 124 ++++++++++++++++++++++++++++++-
5 files changed, 180 insertions(+), 99 deletions(-)
create mode 100644 arch/riscv/include/asm/fixmap.h

--
2.17.1