|
|
|
@ -129,21 +129,6 @@ enum : VAddr {
|
|
|
|
|
PROCESS_IMAGE_MAX_SIZE = 0x08000000,
|
|
|
|
|
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
|
|
|
|
|
/// memory.
|
|
|
|
|
LINEAR_HEAP_VADDR = 0x14000000,
|
|
|
|
@ -176,14 +161,39 @@ enum : VAddr {
|
|
|
|
|
SHARED_PAGE_SIZE = 0x00001000,
|
|
|
|
|
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.
|
|
|
|
|
NEW_LINEAR_HEAP_VADDR = 0x30000000,
|
|
|
|
|
NEW_LINEAR_HEAP_SIZE = 0x10000000,
|
|
|
|
|
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
|
|
|
|
|