Memory layout: Difference between revisions

No edit summary
No edit summary
Line 3: Line 3:


There are two regions randomized and enforced by the kernel, each one with upper bits random and 2MB-aligned:
There are two regions randomized and enforced by the kernel, each one with upper bits random and 2MB-aligned:
* Heap region, available from [[SVC#svcGetInfo]].
* HeapRegion, available from [[SVC#svcGetInfo]].
* Stack mapping region, available from [[SVC#svcGetInfo]].
* ReservedRegion0, available from [[SVC#svcGetInfo]].
* [2.0.0+] Unknown region, available from [[SVC#svcGetInfo]].
* [2.0.0+] ReservedRegion1, available from [[SVC#svcGetInfo]].


The main binary is placed at an address that is provided to the kernel by Loader via [[SVC#svcCreateProcess]].
The main binary is placed at an address that is provided to the kernel by Loader via [[SVC#svcCreateProcess]].