Changes

846 bytes added ,  06:53, 12 November 2012
no edit summary
Line 32: Line 32:  
| FCRAM
 
| FCRAM
 
|}
 
|}
 +
 +
=ARM11 User-land memory regions=
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Virtual Address
 +
!  Size
 +
!  Description
 +
|-
 +
| 0x00100000 / 0x14000000
 +
|
 +
| The [[ExeFS]]:/.code is usually loaded here, most executables are loaded to 0x00100000.
 +
|-
 +
| 0x08000000
 +
|
 +
| Heap mapped by [[SVC|ControlMemory]]
 +
|-
 +
| 0x1EC00000
 +
|
 +
| IO registers, the mapped IO pages which each process can access is specified in the [[NCCH#CXI|CXI]] exheader.(Applications normally don't have access to registers in this range)
 +
|}
 +
 +
All executable pages are read-only, and data pages have the execute-never permission set. Normally .text from the loaded ExeFS:/.code is the only mapped executable memory. Executable [[RO Services|CROs]] can be loaded into memory, once loaded the CRO .text section memory page permissions are changed via [[SVC|ControlProcessMemory]] from RW- to R-X.