mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-11-25 22:57:22 +00:00
memory: Add regions for map region, "new" map region, etc.
This commit is contained in:
parent
3923b0f589
commit
69ee9edd8d
1 changed files with 29 additions and 19 deletions
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue