Memory layout: Difference between revisions
No edit summary |
mNo edit summary |
||
| (2 intermediate revisions by 2 users not shown) | |||
| Line 27: | Line 27: | ||
== ASLR Implementation == | == ASLR Implementation == | ||
The kernel uses a MT19937 random number generator, seeded by [[SMC# | The kernel uses a MT19937 random number generator, seeded by [[SMC#GenerateRandomBytes|smcGenerateRandomBytes]]. | ||
=== 1.0.0 === | === 1.0.0 === | ||
| Line 1,285: | Line 1,285: | ||
= IRAM = | = IRAM = | ||
== BIT == | == BIT == | ||
During boot, the BootROM saves the BCT in IRAM at address 0x40000100. The preceding 0x100 bytes (IRAM memory range from 0x40000000 to 0x40000100) contain a structure called BIT (Boot Info Table) which encapsulates the BCT in IRAM and is initialized by the BootROM as follows: | During boot, the BootROM saves the [[BCT]] in IRAM at address 0x40000100 with Erista, and 0x40000464 with Mariko. The preceding 0x100 bytes (IRAM memory range from 0x40000000 to 0x40000100) contain a structure called BIT (Boot Info Table) which encapsulates the BCT in IRAM and is initialized by the BootROM as follows: | ||
=== Erista === | === Erista === | ||
| Line 1,629: | Line 1,629: | ||
| 0x1D | | 0x1D | ||
| 0x03 | | 0x03 | ||
| | | Reserved | ||
| | | | ||
|- | |- | ||
| Line 1,767: | Line 1,767: | ||
| 0x2E2 | | 0x2E2 | ||
| 0x02 | | 0x02 | ||
| | | Reserved | ||
| | | | ||
|- | |- | ||
| Line 1,853: | Line 1,853: | ||
| 0x458 | | 0x458 | ||
| 0x03 | | 0x03 | ||
| | | Reserved | ||
| | | | ||
|- | |- | ||