lkml.org 
[lkml]   [2021]   [Sep]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 08/10] Documentation: riscv: Add sv48 description to VM layout
    Date
    sv48 was just introduced, so add its virtual memory layout to the
    documentation.

    Signed-off-by: Alexandre Ghiti <alexandre.ghiti@canonical.com>
    ---
    Documentation/riscv/vm-layout.rst | 36 +++++++++++++++++++++++++++++++
    1 file changed, 36 insertions(+)

    diff --git a/Documentation/riscv/vm-layout.rst b/Documentation/riscv/vm-layout.rst
    index b7f98930d38d..f10128e0a95f 100644
    --- a/Documentation/riscv/vm-layout.rst
    +++ b/Documentation/riscv/vm-layout.rst
    @@ -61,3 +61,39 @@ RISC-V Linux Kernel SV39
    ffffffff00000000 | -4 GB | ffffffff7fffffff | 2 GB | modules, BPF
    ffffffff80000000 | -2 GB | ffffffffffffffff | 2 GB | kernel
    __________________|____________|__________________|_________|____________________________________________________________
    +
    +
    +RISC-V Linux Kernel SV48
    +------------------------
    +
    +::
    +
    + ========================================================================================================================
    + Start addr | Offset | End addr | Size | VM area description
    + ========================================================================================================================
    + | | | |
    + 0000000000000000 | 0 | 00007fffffffffff | 128 TB | user-space virtual memory, different per mm
    + __________________|____________|__________________|_________|___________________________________________________________
    + | | | |
    + 0000800000000000 | +128 TB | ffff7fffffffffff | ~16M TB | ... huge, almost 64 bits wide hole of non-canonical
    + | | | | virtual memory addresses up to the -128 TB
    + | | | | starting offset of kernel mappings.
    + __________________|____________|__________________|_________|___________________________________________________________
    + |
    + | Kernel-space virtual memory, shared between all processes:
    + ____________________________________________________________|___________________________________________________________
    + | | | |
    + ffff800000000000 | -128 TB | ffff8fffffffffff | 16 TB | kasan
    + ffff9dfffee00000 | -94 TB | ffff9dfffeffffff | 2 MB | fixmap
    + ffff9dffff000000 | -94 TB | ffff9dffffffffff | 16 MB | PCI io
    + ffff9e0000000000 | -94 TB | ffff9fffffffffff | 2 TB | vmemmap
    + ffffa00000000000 | -92 TB | ffffbfffffffffff | 32 TB | vmalloc/ioremap space
    + ffffc00000000000 | -64 TB | fffffffeffffffff | 64 TB | direct mapping of all physical memory
    + __________________|____________|__________________|_________|____________________________________________________________
    + |
    + | Identical layout to the 39-bit one from here on:
    + ____________________________________________________________|____________________________________________________________
    + | | | |
    + ffffffff00000000 | -4 GB | ffffffff7fffffff | 2 GB | modules, BPF
    + ffffffff80000000 | -2 GB | ffffffffffffffff | 2 GB | kernel
    + __________________|____________|__________________|_________|____________________________________________________________
    --
    2.30.2
    \
     
     \ /
      Last update: 2021-09-29 17:00    [W:4.079 / U:0.160 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site