Changes

Jump to navigation Jump to search
24 bytes removed ,  13:21, 23 March 2016
Reordering
Line 1: Line 1: −
=ARM11 Physical memory regions =
+
= Physical Memory =
 +
 
 +
== ARM11 ==
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 69: Line 71:  
|}
 
|}
   −
==0x17E10000==
+
===0x17E10000===
 
The 32bit register at 0x17E10000+0x100 only has bit0 set when, on New3DS, [[PTMSYSM:ConfigureNew3DSCPU]] was used with bit1 set for the input value(the L2 cache flag). All other bits in this register are normally all-zero. Therefore: bit0 set = new cache hardware enabled, clear = new cache hardware disabled(this bit is how the ARM11-kernel checks whether the additional cache hw is enabled).
 
The 32bit register at 0x17E10000+0x100 only has bit0 set when, on New3DS, [[PTMSYSM:ConfigureNew3DSCPU]] was used with bit1 set for the input value(the L2 cache flag). All other bits in this register are normally all-zero. Therefore: bit0 set = new cache hardware enabled, clear = new cache hardware disabled(this bit is how the ARM11-kernel checks whether the additional cache hw is enabled).
   Line 81: Line 83:  
* Clears bit0 in 32bit register 0x17E10000+0x100.
 
* Clears bit0 in 32bit register 0x17E10000+0x100.
   −
=ARM9 Physical memory regions =
+
=== 0x1F000000 ([[New_3DS]]-only) ===
 +
This area is used by [[QTM Services]](starting at offset 0x200000, size 0x180000). This area is not accessible to the GPU on the old 3DS. The old 3DS and New 3DS GSP module has vaddr->physaddr conversion code for this entire region. On the New 3DS, only the first 0x200000-bytes (half of this memory) are accessible to the GPU.
 +
 
 +
== ARM9 ==
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 155: Line 160:  
|}
 
|}
   −
==ARM9 MPU regions==
+
==ARM9 MPU Setup==
 
For the below instruction permissions: RO = memory is executable, while None = not-executable.
 
For the below instruction permissions: RO = memory is executable, while None = not-executable.
   Line 550: Line 555:  
0x01FFFC00 size 0x100-bytes starting with [[9.5.0-22|9.5.0-X]] is the FIRM header used during FIRM-launching.
 
0x01FFFC00 size 0x100-bytes starting with [[9.5.0-22|9.5.0-X]] is the FIRM header used during FIRM-launching.
 
|}
 
|}
  −
=[[New_3DS]] physical 0x1F000000 memory=
  −
This area is used by [[QTM Services]](starting at offset 0x200000, size 0x180000). This area is not accessible to the GPU on the old 3DS. The old 3DS and New 3DS GSP module has vaddr->physaddr conversion code for this entire region. On the New 3DS, only the first 0x200000-bytes (half of this memory) are accessible to the GPU.
      
=Memory map by firmware=
 
=Memory map by firmware=
549

edits

Navigation menu