riscv: Fix relocatable kernels with early alternatives using -fno-pie
authorAlexandre Ghiti <alexghiti@rivosinc.com>
Fri, 26 May 2023 15:46:30 +0000 (17:46 +0200)
committerPalmer Dabbelt <palmer@rivosinc.com>
Wed, 31 May 2023 14:07:07 +0000 (07:07 -0700)
commit8dc2a7e8027fbeca0c7df81d4c82e735a59b5741
tree2972f6e851fe076e8216b9581bdbabbd553798b7
parented309ce522185583b163bd0c74f0d9f299fe1826
riscv: Fix relocatable kernels with early alternatives using -fno-pie

Early alternatives are called with the mmu disabled, and then should not
access any global symbols through the GOT since it requires relocations,
relocations that we do before but *virtually*. So only use medany code
model for this early code.

Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com>
Tested-by: Conor Dooley <conor.dooley@microchip.com> # booted on nezha & unmatched
Fixes: 39b33072941f ("riscv: Introduce CONFIG_RELOCATABLE")
Link: https://lore.kernel.org/r/20230526154630.289374-1-alexghiti@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/errata/Makefile
arch/riscv/kernel/Makefile