linux/arch/riscv
Anup Patel 387181dcdb
RISC-V: Always compile mm/init.c with cmodel=medany and notrace
The Linux RISC-V 32bit kernel is broken after we moved setup_vm() from
kernel/setup.c to mm/init.c because Linux RISC-V 32bit kernel by default
uses cmodel=medlow which results in a non-position-independent setup_vm().

This patch fixes Linux RISC-V 32bit kernel booting by:
1. Forcing cmodel=medany for mm/init.c
2. Moving remaing MM-related stuff va_pa_offset, pfn_base and
   empty_zero_page from kernel/setup.c to mm/init.c

Further, the setup_vm() cannot handle GCC instrumentation for FTRACE so
we disable it for mm/init.c by not using "-pg" compiler flag.

Fixes: 6f1e9e946f ("RISC-V: Move setup_vm() to mm/init.c")
Suggested-by: Christoph Hellwig <hch@lst.de>
Suggested-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Mike Rapoport <rppt@linux.ibm.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
2019-03-26 18:25:06 -07:00
..
boot RISC-V: Build flat and compressed kernel images 2018-11-20 05:19:09 -08:00
configs RISC-V: defconfig: Add CRYPTO_DEV_VIRTIO=y 2019-01-23 14:09:01 -08:00
include riscv: fix accessing 8-byte variable from RV32 2019-03-26 18:24:51 -07:00
kernel RISC-V: Always compile mm/init.c with cmodel=medany and notrace 2019-03-26 18:25:06 -07:00
lib RISC-V: lib: minor asm cleanup 2018-12-21 08:17:02 -08:00
mm RISC-V: Always compile mm/init.c with cmodel=medany and notrace 2019-03-26 18:25:06 -07:00
net bpf, riscv: add BPF JIT for RV64G 2019-02-05 16:56:10 +01:00
Kconfig DMA mapping updates for 5.1 2019-03-10 11:54:48 -07:00
Kconfig.debug RISC-V: Remove EARLY_PRINTK support 2018-12-17 10:23:46 -08:00
Makefile bpf, riscv: add BPF JIT for RV64G 2019-02-05 16:56:10 +01:00