riscv/mm: Add XIP_FIXUP for riscv_pfn_base
authorPalmer Dabbelt <palmer@rivosinc.com>
Fri, 4 Feb 2022 21:14:08 +0000 (13:14 -0800)
committerPalmer Dabbelt <palmer@rivosinc.com>
Fri, 4 Feb 2022 21:27:23 +0000 (13:27 -0800)
This manifests as a crash early in boot on VexRiscv.

Signed-off-by: Myrtle Shah <gatecat@ds0.me>
[Palmer: split commit]
Fixes: 44c922572952 ("RISC-V: enable XIP")
Cc: stable@vger.kernel.org
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/mm/init.c

index eecfacac2cc51dc8c5f18f7da2b976fd76ad4641..c27294128e182d77d8f0b7e29ac35b4549069943 100644 (file)
@@ -232,6 +232,7 @@ static pmd_t __maybe_unused early_dtb_pmd[PTRS_PER_PMD] __initdata __aligned(PAG
 
 #ifdef CONFIG_XIP_KERNEL
 #define pt_ops                 (*(struct pt_alloc_ops *)XIP_FIXUP(&pt_ops))
+#define riscv_pfn_base         (*(unsigned long  *)XIP_FIXUP(&riscv_pfn_base))
 #define trampoline_pg_dir      ((pgd_t *)XIP_FIXUP(trampoline_pg_dir))
 #define fixmap_pte             ((pte_t *)XIP_FIXUP(fixmap_pte))
 #define early_pg_dir           ((pgd_t *)XIP_FIXUP(early_pg_dir))