• Atish Patra's avatar
    RISC-V: Move all address space definition macros to one place · 2191b4f2
    Atish Patra authored
    We get the following compilation error if CONFIG_SPARSEMEM_VMEMMAP is set.
    
    ---------------------------------------------------------------
    ./arch/riscv/include/asm/pgtable-64.h: In function ‘pud_page’:
    ./include/asm-generic/memory_model.h:54:29: error: ‘vmemmap’ undeclared
    (first use in this function); did you mean ‘mem_map’?
     #define __pfn_to_page(pfn) (vmemmap + (pfn))
                                 ^~~~~~~
    ./include/asm-generic/memory_model.h:82:21: note: in expansion of
    macro ‘__pfn_to_page’
    
     #define pfn_to_page __pfn_to_page
                         ^~~~~~~~~~~~~
    ./arch/riscv/include/asm/pgtable-64.h:70:9: note: in expansion of macro
    ‘pfn_to_page’
      return pfn_to_page(pud_val(pud) >> _PAGE_PFN_SHIFT);
    ---------------------------------------------------------------
    
    Fix the compliation errors by moving all the address space definition
    macros before including pgtable-64.h.
    
    Fixes: 8ad8b727 (riscv: Add KASAN support)
    Signed-off-by: default avatarAtish Patra <atish.patra@wdc.com>
    Reviewed-by: default avatarAnup Patel <anup@brainfault.org>
    Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
    2191b4f2
pgtable.h 12.4 KB