mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	Documentation: riscv: Document the sv57 VM layout
RISC-V has been supporting the "sv57" address translation mode for a while, but is has not been added to the VM layout documentation. Let us fix that. Signed-off-by: Björn Töpel <bjorn@rivosinc.com> Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com> Link: https://lore.kernel.org/r/20221118171556.1612190-1-bjorn@kernel.org Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
		
							parent
							
								
									f13039ceec
								
							
						
					
					
						commit
						dd3553793a
					
				
					 1 changed files with 36 additions and 0 deletions
				
			
		| 
						 | 
					@ -97,3 +97,39 @@ RISC-V Linux Kernel SV48
 | 
				
			||||||
   ffffffff00000000 |   -4    GB | ffffffff7fffffff |    2 GB | modules, BPF
 | 
					   ffffffff00000000 |   -4    GB | ffffffff7fffffff |    2 GB | modules, BPF
 | 
				
			||||||
   ffffffff80000000 |   -2    GB | ffffffffffffffff |    2 GB | kernel
 | 
					   ffffffff80000000 |   -2    GB | ffffffffffffffff |    2 GB | kernel
 | 
				
			||||||
  __________________|____________|__________________|_________|____________________________________________________________
 | 
					  __________________|____________|__________________|_________|____________________________________________________________
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RISC-V Linux Kernel SV57
 | 
				
			||||||
 | 
					------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 ========================================================================================================================
 | 
				
			||||||
 | 
					      Start addr    |   Offset   |     End addr     |  Size   | VM area description
 | 
				
			||||||
 | 
					 ========================================================================================================================
 | 
				
			||||||
 | 
					                    |            |                  |         |
 | 
				
			||||||
 | 
					   0000000000000000 |   0        | 00ffffffffffffff |   64 PB | user-space virtual memory, different per mm
 | 
				
			||||||
 | 
					  __________________|____________|__________________|_________|___________________________________________________________
 | 
				
			||||||
 | 
					                    |            |                  |         |
 | 
				
			||||||
 | 
					   0100000000000000 | +64     PB | feffffffffffffff | ~16K PB | ... huge, almost 64 bits wide hole of non-canonical
 | 
				
			||||||
 | 
					                    |            |                  |         | virtual memory addresses up to the -64 PB
 | 
				
			||||||
 | 
					                    |            |                  |         | starting offset of kernel mappings.
 | 
				
			||||||
 | 
					  __________________|____________|__________________|_________|___________________________________________________________
 | 
				
			||||||
 | 
					                                                              |
 | 
				
			||||||
 | 
					                                                              | Kernel-space virtual memory, shared between all processes:
 | 
				
			||||||
 | 
					  ____________________________________________________________|___________________________________________________________
 | 
				
			||||||
 | 
					                    |            |                  |         |
 | 
				
			||||||
 | 
					   ff1bfffffee00000 | -57     PB | ff1bfffffeffffff |    2 MB | fixmap
 | 
				
			||||||
 | 
					   ff1bffffff000000 | -57     PB | ff1bffffffffffff |   16 MB | PCI io
 | 
				
			||||||
 | 
					   ff1c000000000000 | -57     PB | ff1fffffffffffff |    1 PB | vmemmap
 | 
				
			||||||
 | 
					   ff20000000000000 | -56     PB | ff5fffffffffffff |   16 PB | vmalloc/ioremap space
 | 
				
			||||||
 | 
					   ff60000000000000 | -40     PB | ffdeffffffffffff |   32 PB | direct mapping of all physical memory
 | 
				
			||||||
 | 
					   ffdf000000000000 |  -8     PB | fffffffeffffffff |    8 PB | kasan
 | 
				
			||||||
 | 
					  __________________|____________|__________________|_________|____________________________________________________________
 | 
				
			||||||
 | 
					                                                              |
 | 
				
			||||||
 | 
					                                                              | 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
 | 
				
			||||||
 | 
					  __________________|____________|__________________|_________|____________________________________________________________
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue