• Palmer Dabbelt's avatar
    Merge patch series "riscv: Use PUD/P4D/PGD pages for the linear mapping" · 2e75ab31
    Palmer Dabbelt authored
    Alexandre Ghiti <alexghiti@rivosinc.com> says:
    
    This patchset intends to improve tlb utilization by using hugepages for
    the linear mapping.
    
    As reported by Anup in v6, when STRICT_KERNEL_RWX is enabled, we must
    take care of isolating the kernel text and rodata so that they are not
    mapped with a PUD mapping which would then assign wrong permissions to
    the whole region: it is achieved the same way as arm64 by using the
    memblock nomap API which isolates those regions and re-merge them afterwards
    thus avoiding any issue with the system resources tree creation.
    
    arch/riscv/include/asm/page.h |  19 ++++++-
     arch/riscv/mm/init.c          | 102 ++++++++++++++++++++++++++--------
     arch/riscv/mm/physaddr.c      |  16 ++++++
     drivers/of/fdt.c              |  11 ++--
     4 files changed, 118 insertions(+), 30 deletions(-)
    
    * b4-shazam-merge:
      riscv: Use PUD/P4D/PGD pages for the linear mapping
      riscv: Move the linear mapping creation in its own function
      riscv: Get rid of riscv_pfn_base variable
    
    Link: https://lore.kernel.org/r/20230324155421.271544-1-alexghiti@rivosinc.comSigned-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
    2e75ab31
page.h 5.73 KB