|
@@ -129,21 +129,6 @@ enum : VAddr {
|
|
|
PROCESS_IMAGE_MAX_SIZE = 0x08000000,
|
|
PROCESS_IMAGE_MAX_SIZE = 0x08000000,
|
|
|
PROCESS_IMAGE_VADDR_END = PROCESS_IMAGE_VADDR + PROCESS_IMAGE_MAX_SIZE,
|
|
PROCESS_IMAGE_VADDR_END = PROCESS_IMAGE_VADDR + PROCESS_IMAGE_MAX_SIZE,
|
|
|
|
|
|
|
|
- /// Area where IPC buffers are mapped onto.
|
|
|
|
|
- IPC_MAPPING_VADDR = 0x04000000,
|
|
|
|
|
- IPC_MAPPING_SIZE = 0x04000000,
|
|
|
|
|
- IPC_MAPPING_VADDR_END = IPC_MAPPING_VADDR + IPC_MAPPING_SIZE,
|
|
|
|
|
-
|
|
|
|
|
- /// Application heap (includes stack).
|
|
|
|
|
- HEAP_VADDR = 0x108000000,
|
|
|
|
|
- HEAP_SIZE = 0xF0000000,
|
|
|
|
|
- HEAP_VADDR_END = HEAP_VADDR + HEAP_SIZE,
|
|
|
|
|
-
|
|
|
|
|
- /// Area where shared memory buffers are mapped onto.
|
|
|
|
|
- SHARED_MEMORY_VADDR = 0x10000000,
|
|
|
|
|
- SHARED_MEMORY_SIZE = 0x04000000,
|
|
|
|
|
- SHARED_MEMORY_VADDR_END = SHARED_MEMORY_VADDR + SHARED_MEMORY_SIZE,
|
|
|
|
|
-
|
|
|
|
|
/// Maps 1:1 to an offset in FCRAM. Used for HW allocations that need to be linear in physical
|
|
/// Maps 1:1 to an offset in FCRAM. Used for HW allocations that need to be linear in physical
|
|
|
/// memory.
|
|
/// memory.
|
|
|
LINEAR_HEAP_VADDR = 0x14000000,
|
|
LINEAR_HEAP_VADDR = 0x14000000,
|
|
@@ -176,14 +161,39 @@ enum : VAddr {
|
|
|
SHARED_PAGE_SIZE = 0x00001000,
|
|
SHARED_PAGE_SIZE = 0x00001000,
|
|
|
SHARED_PAGE_VADDR_END = SHARED_PAGE_VADDR + SHARED_PAGE_SIZE,
|
|
SHARED_PAGE_VADDR_END = SHARED_PAGE_VADDR + SHARED_PAGE_SIZE,
|
|
|
|
|
|
|
|
- /// Area where TLS (Thread-Local Storage) buffers are allocated.
|
|
|
|
|
- TLS_AREA_VADDR = 0x228000000,
|
|
|
|
|
- TLS_ENTRY_SIZE = 0x200,
|
|
|
|
|
-
|
|
|
|
|
/// Equivalent to LINEAR_HEAP_VADDR, but expanded to cover the extra memory in the New 3DS.
|
|
/// Equivalent to LINEAR_HEAP_VADDR, but expanded to cover the extra memory in the New 3DS.
|
|
|
NEW_LINEAR_HEAP_VADDR = 0x30000000,
|
|
NEW_LINEAR_HEAP_VADDR = 0x30000000,
|
|
|
NEW_LINEAR_HEAP_SIZE = 0x10000000,
|
|
NEW_LINEAR_HEAP_SIZE = 0x10000000,
|
|
|
NEW_LINEAR_HEAP_VADDR_END = NEW_LINEAR_HEAP_VADDR + NEW_LINEAR_HEAP_SIZE,
|
|
NEW_LINEAR_HEAP_VADDR_END = NEW_LINEAR_HEAP_VADDR + NEW_LINEAR_HEAP_SIZE,
|
|
|
|
|
+
|
|
|
|
|
+ /// Area where TLS (Thread-Local Storage) buffers are allocated.
|
|
|
|
|
+ TLS_AREA_VADDR = NEW_LINEAR_HEAP_VADDR_END,
|
|
|
|
|
+ TLS_ENTRY_SIZE = 0x200,
|
|
|
|
|
+ TLS_AREA_SIZE = 0x10000000,
|
|
|
|
|
+ TLS_ADREA_VADDR_END = TLS_AREA_VADDR + TLS_AREA_SIZE,
|
|
|
|
|
+
|
|
|
|
|
+ /// Application stack
|
|
|
|
|
+ STACK_VADDR = TLS_ADREA_VADDR_END,
|
|
|
|
|
+ STACK_SIZE = 0x10000,
|
|
|
|
|
+ STACK_VADDR_END = STACK_VADDR + STACK_SIZE,
|
|
|
|
|
+
|
|
|
|
|
+ /// Application heap
|
|
|
|
|
+ /// Size is confirmed to be a static value on fw 3.0.0
|
|
|
|
|
+ HEAP_VADDR = 0x108000000,
|
|
|
|
|
+ HEAP_SIZE = 0x180000000,
|
|
|
|
|
+ HEAP_VADDR_END = HEAP_VADDR + HEAP_SIZE,
|
|
|
|
|
+
|
|
|
|
|
+ /// New map region
|
|
|
|
|
+ /// Size is confirmed to be a static value on fw 3.0.0
|
|
|
|
|
+ NEW_MAP_REGION_VADDR = HEAP_VADDR_END,
|
|
|
|
|
+ NEW_MAP_REGION_SIZE = 0x80000000,
|
|
|
|
|
+ NEW_MAP_REGION_VADDR_END = NEW_MAP_REGION_VADDR + NEW_MAP_REGION_SIZE,
|
|
|
|
|
+
|
|
|
|
|
+ /// Map region
|
|
|
|
|
+ /// Size is confirmed to be a static value on fw 3.0.0
|
|
|
|
|
+ MAP_REGION_VADDR = NEW_MAP_REGION_VADDR_END,
|
|
|
|
|
+ MAP_REGION_SIZE = 0x1000000000,
|
|
|
|
|
+ MAP_REGION_VADDR_END = MAP_REGION_VADDR + MAP_REGION_SIZE,
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
/// Currently active page table
|
|
/// Currently active page table
|