• Anup Patel's avatar
    RISC-V: Move DT mapping outof fixmap · 8f3a2b4a
    Anup Patel authored
    Currently, RISC-V reserves 1MB of fixmap memory for device tree. However,
    it maps only single PMD (2MB) space for fixmap which leaves only < 1MB space
    left for other kernel features such as early ioremap which requires fixmap
    as well. The fixmap size can be increased by another 2MB but it brings
    additional complexity and changes the virtual memory layout as well.
    If we require some additional feature requiring fixmap again, it has to be
    moved again.
    
    Technically, DT doesn't need a fixmap as the memory occupied by the DT is
    only used during boot. That's why, We map device tree in early page table
    using two consecutive PGD mappings at lower addresses (< PAGE_OFFSET).
    This frees lot of space in fixmap and also makes maximum supported
    device tree size supported as PGDIR_SIZE. Thus, init memory section can be used
    for the same purpose as well. This simplifies fixmap implementation.
    Signed-off-by: default avatarAnup Patel <anup.patel@wdc.com>
    Signed-off-by: default avatarAtish Patra <atish.patra@wdc.com>
    Reviewed-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
    Signed-off-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
    8f3a2b4a
pgtable.h 12.2 KB