Memory layout: Difference between revisions
No edit summary |
|||
Line 98: | Line 98: | ||
* vmem 0xFFFFFFF800000000 is mapped to physmem 0x80000000. Similar to above, except tmp=0 due to wrap-around, etc. The chunksize used when increasing addr is 0xfffffff840000000, with another +=0x40000000 separate from the addr cmp for the loop. | * vmem 0xFFFFFFF800000000 is mapped to physmem 0x80000000. Similar to above, except tmp=0 due to wrap-around, etc. The chunksize used when increasing addr is 0xfffffff840000000, with another +=0x40000000 separate from the addr cmp for the loop. | ||
** "endaddr = 0x3fffffff + (<size from above> | 0xfffffff800000000); enaddr = (endaddr & 0xffffffffc0000000)-1; if(endaddr >= 0xfffffff800000001){<map mem>}" | ** "endaddr = 0x3fffffff + (<size from above> | 0xfffffff800000000); enaddr = (endaddr & 0xffffffffc0000000)-1; if(endaddr >= 0xfffffff800000001){<map mem>}" | ||
* Initializes level2 pagetable descriptor for vmem 0xFFFFFFF7C0000000. descriptor = 0x3 | physaddr. physaddr is core-specific. | * Initializes level2 pagetable descriptor for vmem 0xFFFFFFF7C0000000. descriptor = 0x3 | physaddr. physaddr is core-specific. | ||
Line 115: | Line 113: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! | ! Virtual | ||
! | ! Physical | ||
! Size | ! Size | ||
! | ! Attributes | ||
! Permissions | ! Permissions | ||
! Description | ! Description | ||
|- | |- | ||
| | | 0xFFFFFFF800000000-... || 0x80000000 || ... || ? || ? || Raw DRAM access | ||
| | |||
| | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | 0xFFFFFFF7FFC00000-0xFFFFFFF7FFC62FFF || 0x800A0000 || 0x63000 || 0x78B || R-X || Kernel .text | ||
| | |||
| | |||
| | |||
| | |||
| Kernel . | |||
|- | |- | ||
| | | 0xFFFFFFF7FFC63000-0xFFFFFFF7FFC65FFF || 0x80103000 || 0x3000 || 0x6000000000078B || R-- || Kernel .rodata | ||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
|- | |- | ||
| 0xFFFFFFF7FFC66000-0xFFFFFFF7FFC6EFFF || 0x80106000 || 0x9000 || 0x6000000000070B || RW- || Kernel .data+.bss | |||
|- | |- | ||
| 0xFFFFFFF7FFDCA000 || 0x80060000 | | 0xFFFFFFF7FFDCA000-0xFFFFFFF7FFDCAFFF || 0x80060000 || 0x1000 || 0x6000000000070B || RW- || | ||
|- | |- | ||
| 0xFFFFFFF7FFDCB000 || 0x80061000 | | 0xFFFFFFF7FFDCB000-0xFFFFFFF7FFDCBFFF || 0x80061000 || 0x1000 || 0x6000000000070B || RW- || | ||
|- | |- | ||
| 0xFFFFFFF7FFDCE000 || 0x80068000 | | 0xFFFFFFF7FFDCE000-0xFFFFFFF7FFDCEFFF || 0x80068000 || 0x1000 || 0x6000000000070B || RW- || | ||
|- | |- | ||
| 0xFFFFFFF7FFDD4000 || 0x80062000 | | 0xFFFFFFF7FFDD4000-0xFFFFFFF7FFDD4FFF || 0x80062000 || 0x1000 || 0x6000000000070B || RW- || | ||
|- | |- | ||
| 0xFFFFFFF7FFDD5000 || 0x80063000 | | 0xFFFFFFF7FFDD5000-0xFFFFFFF7FFDD5FFF || 0x80063000 || 0x1000 || 0x6000000000070B || RW- || | ||
|- | |- | ||
| 0xFFFFFFF7FFDD8000 || 0x8006A000 | | 0xFFFFFFF7FFDD8000-0xFFFFFFF7FFDD8FFF || 0x8006A000 || 0x1000 || 0x6000000000070B || RW- || | ||
|- | |- | ||
| 0xFFFFFFF7FFDD9000 || 0x8006B000 | | 0xFFFFFFF7FFDD9000-0xFFFFFFF7FFDD9FFF || 0x8006B000 || 0x1000 || 0x6000000000070B || RW- || | ||
|- | |- | ||
| 0xFFFFFFF7FFDDE000 || 0x80064000 | | 0xFFFFFFF7FFDDE000-0xFFFFFFF7FFDDEFFF || 0x80064000 || 0x1000 || 0x6000000000070B || RW- || | ||
|- | |- | ||
| 0xFFFFFFF7FFDDF000 || 0x80065000 | | 0xFFFFFFF7FFDDF000-0xFFFFFFF7FFDDFFFF || 0x80065000 || 0x1000 || 0x6000000000070B || RW- || | ||
|- | |- | ||
| 0xFFFFFFF7FFDE2000 || 0x8006C000 | | 0xFFFFFFF7FFDE2000-0xFFFFFFF7FFDE2FFF || 0x8006C000 || 0x1000 || 0x6000000000070B || RW- || | ||
|- | |- | ||
| 0xFFFFFFF7FFDE3000 || 0x8006D000 | | 0xFFFFFFF7FFDE3000-0xFFFFFFF7FFDE3FFF || 0x8006D000 || 0x1000 || 0x6000000000070B || RW- || | ||
|- | |- | ||
| 0xFFFFFFF7FFDE8000 || 0x80066000 | | 0xFFFFFFF7FFDE8000-0xFFFFFFF7FFDE8FFF || 0x80066000 || 0x1000 || 0x6000000000070B || RW- || | ||
|- | |- | ||
| 0xFFFFFFF7FFDE9000 || 0x80067000 | | 0xFFFFFFF7FFDE9000-0xFFFFFFF7FFDE9FFF || 0x80067000 || 0x1000 || 0x6000000000070B || RW- || | ||
|- | |- | ||
| 0xFFFFFFF7FFDCF000 || 0x80069000 | | 0xFFFFFFF7FFDCF000-0xFFFFFFF7FFDCFFFF || 0x80069000 || 0x1000 || 0x6000000000070B || RW- || | ||
|- | |- | ||
| 0xFFFFFFF7FFDEC000 || 0x8006E000 | | 0xFFFFFFF7FFDEC000-0xFFFFFFF7FFDECFFF || 0x8006E000 || 0x1000 || 0x6000000000070B || RW- || | ||
|- | |- | ||
| 0xFFFFFFF7FFDED000 || 0x8006F000 | | 0xFFFFFFF7FFDED000-0xFFFFFFF7FFDEDFFF || 0x8006F000 || 0x1000 || 0x6000000000070B || RW- || | ||
|- | |- | ||
| 0xFFFFFFF7FFDD2000 || 0x80070000 | | 0xFFFFFFF7FFDD2000-0xFFFFFFF7FFDD2FFF || 0x80070000 || 0x1000 || 0x6000000000070B || RW- || | ||
|- | |- | ||
| 0xFFFFFFF7FFDDC000 || 0x80071000 | | 0xFFFFFFF7FFDDC000-0xFFFFFFF7FFDDCFFF || 0x80071000 || 0x1000 || 0x6000000000070B || RW- || | ||
|- | |- | ||
| 0xFFFFFFF7FFDE6000 || 0x80072000 | | 0xFFFFFFF7FFDE6000-0xFFFFFFF7FFDE6FFF || 0x80072000 || 0x1000 || 0x6000000000070B || RW- || | ||
| | |||
| | |||
| | |||
|- | |- | ||
| 0xFFFFFFF7FFDF0000-0xFFFFFFF7FFDF0FFF || 0x80073000 || 0x1000 || 0x6000000000070B || RW- || | |||
|- | |- | ||
| 0xFFFFFFF7FFDC6000 | | 0xFFFFFFF7FFDC6000-0xFFFFFFF7FFDC6FFF || 0x70019000 || 0x1000 || 0x60000000000607 || RW- || MC IO | ||
| 0x70019000 | |||
|- | |- | ||
| 0xFFFFFFF7FFDC4000 | | 0xFFFFFFF7FFDC4000-0xFFFFFFF7FFDC4FFF || 0x7001C000 || 0x1000 || 0x60000000000607 || RW- || MC0 IO | ||
| 0x7001C000 | |||
|- | |- | ||
| 0xFFFFFFF7FFDC2000 | | 0xFFFFFFF7FFDC2000-0xFFFFFFF7FFDC2FFF || 0x7001D000 || 0x1000 || 0x60000000000607 || RW- || MC1 IO | ||
| 0x7001D000 | |||
|- | |- | ||
| 0xFFFFFFF7FFDC0000 | | 0xFFFFFFF7FFDC0000-0xFFFFFFF7FFDC0FFF || 0x60006000 || 0x1000 || 0x60000000000607 || RW- || CLK IO | ||
| 0x60006000 | |||
|- | |- | ||
| 0xFFFFFFF7FFDC8000 | | 0xFFFFFFF7FFDC8000-0xFFFFFFF7FFDC8FFF || 0x70006000 || 0x1000 || 0x60000000000607 || RW- || UART-A IO | ||
| 0x70006000 | |||
|- | |- | ||
| 0xFFFFFFF7FFDFB000 | | 0xFFFFFFF7FFDFB000-0xFFFFFFF7FFDFBFFF || 0x50041000 || 0x1000 || 0x60000000000607 || RW- || Interrupt Distributor IO | ||
| 0x50041000 | |||
|- | |- | ||
| 0xFFFFFFF7FFDFD000 | | 0xFFFFFFF7FFDFD000-0xFFFFFFF7FFDFDFFF || 0x50042000 || 0x1000 || 0x60000000000607 || RW- || Interrupt Controller IO | ||
| 0x50042000 | |||
|} | |} | ||