Memory layout: Difference between revisions

No edit summary
Mako (talk | contribs)
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#GetRandomBytes|smcGetRandomBytes]].
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
|   
|   
|-
|-