NCCH/Extended Header: Difference between revisions
| (2 intermediate revisions by 2 users not shown) | |||
| Line 9: | Line 9: | ||
All values are little endian unless otherwise specified. | All values are little endian unless otherwise specified. | ||
See also: [https://github.com/ | See also: [https://github.com/3DSGuy/Project_CTR/blob/20f708450b9c6e7f64eafa6c2a8eeb25a630c69a/ctrtool/exheader.h] | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
| Line 494: | Line 494: | ||
|- | |- | ||
| <code>0b11111111100x</code> | | <code>0b11111111100x</code> | ||
| Map address range | | Map IO/static address range | ||
| Describes a memory mapping like the 0b111111111110 descriptor, but an entire range rather than a single page is mapped. | | Describes a memory mapping like the 0b111111111110 descriptor, but an entire range rather than a single page is mapped. Another 0b11111111100x descriptor must follow this one to denote the (exclusive) end of the address range to map. Bit20 on the first descriptor: map read-only (otherwise RW), bit20 on the second descriptor: map static (cacheable, otherwise IO if the bit is not set) | ||
|- | |- | ||
| <code>0b111111111110</code> | | <code>0b111111111110</code> | ||
| Map memory page | | Map IO memory page | ||
| Bits 0-19: page index to map (virtual address >> 12; the physical address is determined per-page according to [[Memory layout]]); Bit 20: Map read-only (otherwise read-write) | | Bits 0-19: page index to map (virtual address >> 12; the physical address is determined per-page according to [[Memory layout]]); Bit 20: Map read-only (otherwise read-write) | ||
|} | |} | ||