Line 198:
Line 198:
! Physical address range/start
! Physical address range/start
! Size
! Size
−
! Userland memory permissions
−
! Kernel-mode memory permissions
! Description
! Description
|-
|-
Line 205:
Line 203:
| 0x32000000 - 0x32800000
| 0x32000000 - 0x32800000
| 0x800000
| 0x800000
−
|
−
|
| Loader and system libraries
| Loader and system libraries
|-
|-
| 0x01800000
| 0x01800000
| ?
| ?
−
|
−
|
|
|
| This is the [[Coreinit.rpl|codegen]]/JIT memory area, only available under processes which have it enabled under cos.xml(the size comes from cos.xml too).
| This is the [[Coreinit.rpl|codegen]]/JIT memory area, only available under processes which have it enabled under cos.xml(the size comes from cos.xml too).
Line 218:
Line 212:
| 0x0??????? - 0x10000000
| 0x0??????? - 0x10000000
| End of app MEM2 region (see [[Physical_Memory|here]])
| End of app MEM2 region (see [[Physical_Memory|here]])
−
|
−
|
|
|
| App executable and libraries (start varies, but end is always 0x10000000)
| App executable and libraries (start varies, but end is always 0x10000000)
Line 226:
Line 218:
| App MEM2 region (see [[Physical_Memory|here]])
| App MEM2 region (see [[Physical_Memory|here]])
| 0x40000000
| 0x40000000
−
|
−
|
| Application/library data area (may be smaller)
| Application/library data area (may be smaller)
|-
|-
Line 233:
Line 223:
|
|
| 0x40000000
| 0x40000000
−
|
−
|
| Overlay of application memory (used by loader?)
| Overlay of application memory (used by loader?)
|-
|-
Line 240:
Line 228:
| 0x14000000 - 0x18000000
| 0x14000000 - 0x18000000
| 0x04000000
| 0x04000000
−
|
−
|
| Some sort of hardware communication area
| Some sort of hardware communication area
|-
|-
| 0xefe00000 - 0xefe80000
| 0xefe00000 - 0xefe80000
−
|
−
|
|
|
|
|
Line 254:
Line 238:
| 0x00000000 - 0x02000000
| 0x00000000 - 0x02000000
| 0x02000000
| 0x02000000
−
|
−
|
| MEM1
| MEM1
|-
|-
Line 261:
Line 243:
| 0x1b000000 - 0x1b800000
| 0x1b000000 - 0x1b800000
| 0x00800000
| 0x00800000
−
|
−
|
| [[Loader]] chunk buffer
| [[Loader]] chunk buffer
|-
|-
Line 268:
Line 248:
| 0x18000000 - 0x1b000000
| 0x18000000 - 0x1b000000
| 0x03000000
| 0x03000000
−
|
−
|
| Read-only shared data (system fonts mostly)
| Read-only shared data (system fonts mostly)
|-
|-
Line 275:
Line 253:
| 0x0c000000 - 0x0c400000
| 0x0c000000 - 0x0c400000
| 0x00400000
| 0x00400000
−
|
−
|
| Espresso IO registers.
| Espresso IO registers.
|-
|-
Line 282:
Line 258:
| 0x0c000000 - 0x0c0c0000
| 0x0c000000 - 0x0c0c0000
| 0x000c0000
| 0x000c0000
−
|
−
|
| {{hw|Processor Interface}}
| {{hw|Processor Interface}}
|-
|-
Line 289:
Line 263:
| 0x0c200000 - 0x0c280000
| 0x0c200000 - 0x0c280000
| 0x00080000
| 0x00080000
−
|
−
|
| {{hw|GX2 Registers}}
| {{hw|GX2 Registers}}
|-
|-
Line 296:
Line 268:
| 0x0c280000 - 0x0c2a0000
| 0x0c280000 - 0x0c2a0000
| 0x00020000
| 0x00020000
−
|
−
|
| DSP registers
| DSP registers
|-
|-
Line 303:
Line 273:
| 0x0c2a0000 - 0x0c2c0000
| 0x0c2a0000 - 0x0c2c0000
| 0x00020000
| 0x00020000
−
|
−
|
| GX2 FIFO space? (Radeon PKT3 sent here)
| GX2 FIFO space? (Radeon PKT3 sent here)
|-
|-
Line 310:
Line 278:
| 0x0c320000 - 0x0c400000
| 0x0c320000 - 0x0c400000
| 0x000e0000
| 0x000e0000
−
|
−
|
| Espresso OTP (and other stuff?)
| Espresso OTP (and other stuff?)
|-
|-
| 0xfd000000 - 0xfd??????
| 0xfd000000 - 0xfd??????
| 0x0d000000
| 0x0d000000
−
|
−
|
|
|
| {{hw|Latte Registers}}
| {{hw|Latte Registers}}
Line 324:
Line 288:
| 0x0d040250 - 0x0d046c00
| 0x0d040250 - 0x0d046c00
| 0x000069b0
| 0x000069b0
−
|
−
|
| I2C registers
| I2C registers
|-
|-
Line 331:
Line 293:
| 0x0d046e00 - 0x0d060520
| 0x0d046e00 - 0x0d060520
| 0x00019720
| 0x00019720
−
|
−
|
| AI registers?
| AI registers?
|-
|-
Line 338:
Line 298:
| 0x1b800000 - 0x1b880000
| 0x1b800000 - 0x1b880000
| 0x00080000
| 0x00080000
−
|
−
|
| Kernel heap
| Kernel heap
|-
|-
Line 345:
Line 303:
| ?
| ?
| 0x00020000
| 0x00020000
−
|
−
|
| Codegen area used with OSCodegenCopy. It's unknown when this contains actual proper data.
| Codegen area used with OSCodegenCopy. It's unknown when this contains actual proper data.
|-
|-
Line 352:
Line 308:
| ?
| ?
| 0x00020000
| 0x00020000
−
|
−
|
| Codegen area used with OSCodegenCopy. It's unknown when this contains actual proper data.
| Codegen area used with OSCodegenCopy. It's unknown when this contains actual proper data.
|-
|-
Line 359:
Line 313:
| ?
| ?
| 0x00020000
| 0x00020000
−
|
−
|
| Codegen area used with OSCodegenCopy. It's unknown when this contains actual proper data.
| Codegen area used with OSCodegenCopy. It's unknown when this contains actual proper data.
|-
|-
Line 366:
Line 318:
| 0xffe00000 - 0xfff20000
| 0xffe00000 - 0xfff20000
| 0x00120000
| 0x00120000
−
|
−
|
| Kernel ancast image
| Kernel ancast image
|-
|-
| 0xffffffe0(?) - 0xfffffffc(?)
| 0xffffffe0(?) - 0xfffffffc(?)
−
|
−
|
|
|
|
|
| Per-thread data (e.g. pointer to thread descriptor and thread queue)
| Per-thread data (e.g. pointer to thread descriptor and thread queue)
|}
|}