[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190327213643.23789-3-logang@deltatee.com>
Date: Wed, 27 Mar 2019 15:36:38 -0600
From: Logan Gunthorpe <logang@...tatee.com>
To: linux-kernel@...r.kernel.org, linux-riscv@...ts.infradead.org
Cc: Stephen Bates <sbates@...thlin.com>,
Palmer Dabbelt <palmer@...ive.com>,
Christoph Hellwig <hch@....de>,
Albert Ou <aou@...s.berkeley.edu>,
Logan Gunthorpe <logang@...tatee.com>,
Jonathan Corbet <corbet@....net>
Subject: [PATCH 2/7] RISC-V: doc: Add file describing the virtual memory map
This file is similar to the x86_64 equivalent (in
Documentation/x86/x86_64/mm.txt) and describes the virtuas address space
usage for RISC-V.
Signed-off-by: Logan Gunthorpe <logang@...tatee.com>
Cc: Jonathan Corbet <corbet@....net>
Cc: Palmer Dabbelt <palmer@...ive.com>
Cc: Albert Ou <aou@...s.berkeley.edu>
---
Documentation/riscv/mm.txt | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
create mode 100644 Documentation/riscv/mm.txt
diff --git a/Documentation/riscv/mm.txt b/Documentation/riscv/mm.txt
new file mode 100644
index 000000000000..725dc85f2c65
--- /dev/null
+++ b/Documentation/riscv/mm.txt
@@ -0,0 +1,24 @@
+Sv32:
+
+00000000 - 7fffffff user space, different per mm (2G)
+80000000 - 81ffffff virtual memory map (32MB)
+82000000 - bfffffff vmalloc/ioremap space (1GB - 32MB)
+c0000000 - ffffffff direct mapping of lower phys. memory (1GB)
+
+Sv39:
+
+0000000000000000 - 0000003fffffffff user space, different per mm (256GB)
+hole caused by [38:63] sign extension
+ffffffc000000000 - ffffffc0ffffffff virtual memory map (4GB)
+ffffffc100000000 - ffffffd0ffffffff vmalloc/ioremap spac (64GB)
+ffffffd100000000 - ffffffffffffffff linear mapping of physical space (188GB)
+ ffffffd200000000 - 0xfffffff200000000 linear mapping of all physical memory
+
+The RISC-V architecture defines virtual address bits in multiples of nine
+starting from 39. These are referred to as Sv39, Sv48, Sv57 and Sv64.
+Currently only Sv39 is supported. Bits 63 through to the most-significant
+implemented bit are sign extended. This causes a hole between user space
+and kernel addresses if you interpret them as unsigned.
+
+The direct mapping covers as much of the physical memory space as
+possible so that it may cover some IO memory.
--
2.20.1
Powered by blists - more mailing lists