~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/arch/xtensa/mmu.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/arch/xtensa/mmu.rst (Version linux-6.12-rc7) and /Documentation/arch/alpha/mmu.rst (Version linux-4.18.20)


  1 =============================                     
  2 MMUv3 initialization sequence                     
  3 =============================                     
  4                                                   
  5 The code in the initialize_mmu macro sets up M    
  6 identically to MMUv2 fixed memory mapping. Dep    
  7 CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX sy    
  8 located in addresses it was linked for (symbol    
  9 (symbol defined), so it needs to be position-i    
 10                                                   
 11 The code has the following assumptions:           
 12                                                   
 13   - This code fragment is run only on an MMU v    
 14   - TLBs are in their reset state.                
 15   - ITLBCFG and DTLBCFG are zero (reset state)    
 16   - RASID is 0x04030201 (reset state).            
 17   - PS.RING is zero (reset state).                
 18   - LITBASE is zero (reset state, PC-relative     
 19                                                   
 20 TLB setup proceeds along the following steps.     
 21                                                   
 22   Legend:                                         
 23                                                   
 24     - VA = virtual address (two upper nibbles     
 25     - PA = physical address (two upper nibbles    
 26     - pc = physical range that contains this c    
 27                                                   
 28 After step 2, we jump to virtual address in th    
 29 or 0x00000000..0x1fffffff, depending on whethe    
 30 0x40000000 or above. That address corresponds     
 31 in this code. After step 4, we jump to intende    
 32 The scheme below assumes that the kernel is lo    
 33                                                   
 34  ====== =====  =====  =====  =====   ====== ==    
 35  -      Step0  Step1  Step2  Step3          St    
 36                                                   
 37    VA      PA     PA     PA     PA     VA         
 38  ====== =====  =====  =====  =====   ====== ==    
 39  E0..FF -> E0  -> E0  -> E0          F0..FF ->    
 40  C0..DF -> C0  -> C0  -> C0          E0..EF ->    
 41  A0..BF -> A0  -> A0  -> A0          D8..DF ->    
 42  80..9F -> 80  -> 80  -> 80          D0..D7 ->    
 43  60..7F -> 60  -> 60  -> 60                       
 44  40..5F -> 40         -> pc  -> pc   40..5F ->    
 45  20..3F -> 20  -> 20  -> 20                       
 46  00..1F -> 00  -> 00  -> 00                       
 47  ====== =====  =====  =====  =====   ====== ==    
 48                                                   
 49 The default location of IO peripherals is abov    
 50 using a "ranges" property in a device tree sim    
 51 Specification, section 4.5 for details on the     
 52 simple-bus nodes. The following limitations ap    
 53                                                   
 54 1. Only top level simple-bus nodes are conside    
 55                                                   
 56 2. Only one (first) simple-bus node is conside    
 57                                                   
 58 3. Empty "ranges" properties are not supported    
 59                                                   
 60 4. Only the first triplet in the "ranges" prop    
 61                                                   
 62 5. The parent-bus-address value is rounded dow    
 63                                                   
 64 6. The IO area covers the entire 256MB segment    
 65    "ranges" triplet length field is ignored       
 66                                                   
 67                                                   
 68 MMUv3 address space layouts.                      
 69 ============================                      
 70                                                   
 71 Default MMUv2-compatible layout::                 
 72                                                   
 73                         Symbol                    
 74   +------------------+                            
 75   | Userspace        |                            
 76   +------------------+                            
 77   +------------------+                            
 78   | Page table       |  XCHAL_PAGE_TABLE_VADDR    
 79   +------------------+                            
 80   | KASAN shadow map |  KASAN_SHADOW_START        
 81   +------------------+                            
 82   +------------------+                            
 83   | VMALLOC area     |  VMALLOC_START             
 84   +------------------+  VMALLOC_END               
 85   +------------------+                            
 86   | Cache aliasing   |  TLBTEMP_BASE_1            
 87   | remap area 1     |                            
 88   +------------------+                            
 89   | Cache aliasing   |  TLBTEMP_BASE_2            
 90   | remap area 2     |                            
 91   +------------------+                            
 92   +------------------+                            
 93   | KMAP area        |  PKMAP_BASE                
 94   |                  |                            
 95   |                  |                            
 96   |                  |                            
 97   +------------------+                            
 98   | Atomic KMAP area |  FIXADDR_START             
 99   |                  |                            
100   |                  |                            
101   |                  |                            
102   +------------------+  FIXADDR_TOP               
103   +------------------+                            
104   | Cached KSEG      |  XCHAL_KSEG_CACHED_VADD    
105   +------------------+                            
106   | Uncached KSEG    |  XCHAL_KSEG_BYPASS_VADD    
107   +------------------+                            
108   | Cached KIO       |  XCHAL_KIO_CACHED_VADDR    
109   +------------------+                            
110   | Uncached KIO     |  XCHAL_KIO_BYPASS_VADDR    
111   +------------------+                            
112                                                   
113                                                   
114 256MB cached + 256MB uncached layout::            
115                                                   
116                         Symbol                    
117   +------------------+                            
118   | Userspace        |                            
119   +------------------+                            
120   +------------------+                            
121   | Page table       |  XCHAL_PAGE_TABLE_VADDR    
122   +------------------+                            
123   | KASAN shadow map |  KASAN_SHADOW_START        
124   +------------------+                            
125   +------------------+                            
126   | VMALLOC area     |  VMALLOC_START             
127   +------------------+  VMALLOC_END               
128   +------------------+                            
129   | Cache aliasing   |  TLBTEMP_BASE_1            
130   | remap area 1     |                            
131   +------------------+                            
132   | Cache aliasing   |  TLBTEMP_BASE_2            
133   | remap area 2     |                            
134   +------------------+                            
135   +------------------+                            
136   | KMAP area        |  PKMAP_BASE                
137   |                  |                            
138   |                  |                            
139   |                  |                            
140   +------------------+                            
141   | Atomic KMAP area |  FIXADDR_START             
142   |                  |                            
143   |                  |                            
144   |                  |                            
145   +------------------+  FIXADDR_TOP               
146   +------------------+                            
147   | Cached KSEG      |  XCHAL_KSEG_CACHED_VADD    
148   +------------------+                            
149   | Uncached KSEG    |  XCHAL_KSEG_BYPASS_VADD    
150   +------------------+                            
151   +------------------+                            
152   | Cached KIO       |  XCHAL_KIO_CACHED_VADDR    
153   +------------------+                            
154   | Uncached KIO     |  XCHAL_KIO_BYPASS_VADDR    
155   +------------------+                            
156                                                   
157                                                   
158 512MB cached + 512MB uncached layout::            
159                                                   
160                         Symbol                    
161   +------------------+                            
162   | Userspace        |                            
163   +------------------+                            
164   +------------------+                            
165   | Page table       |  XCHAL_PAGE_TABLE_VADDR    
166   +------------------+                            
167   | KASAN shadow map |  KASAN_SHADOW_START        
168   +------------------+                            
169   +------------------+                            
170   | VMALLOC area     |  VMALLOC_START             
171   +------------------+  VMALLOC_END               
172   +------------------+                            
173   | Cache aliasing   |  TLBTEMP_BASE_1            
174   | remap area 1     |                            
175   +------------------+                            
176   | Cache aliasing   |  TLBTEMP_BASE_2            
177   | remap area 2     |                            
178   +------------------+                            
179   +------------------+                            
180   | KMAP area        |  PKMAP_BASE                
181   |                  |                            
182   |                  |                            
183   |                  |                            
184   +------------------+                            
185   | Atomic KMAP area |  FIXADDR_START             
186   |                  |                            
187   |                  |                            
188   |                  |                            
189   +------------------+  FIXADDR_TOP               
190   +------------------+                            
191   | Cached KSEG      |  XCHAL_KSEG_CACHED_VADD    
192   +------------------+                            
193   | Uncached KSEG    |  XCHAL_KSEG_BYPASS_VADD    
194   +------------------+                            
195   | Cached KIO       |  XCHAL_KIO_CACHED_VADDR    
196   +------------------+                            
197   | Uncached KIO     |  XCHAL_KIO_BYPASS_VADDR    
198   +------------------+                            
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php