Starlet: Unterschied zwischen den Versionen
ICON (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Der "Hollywood"-Grafikchip der '''Wii''' beinhaltet einen ARM9-Co-Prozessor, der Ein-/Ausgabe- und Sicherheitsvorgänge verwaltet. Dieser '''Security-Proze…“) |
ICON (Diskussion | Beiträge) K (Abstand) |
||
(12 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Das "[[Hollywood]]"-MCM der '''Wii''' beinhaltet im Vegas-Chiplet einen ARM9-Co-Prozessor, der Ein-/Ausgabe- und Sicherheitsvorgänge verwaltet. Dieser '''Security-Prozessor''' wurde von [[Team Twiizers]] '''Starlet''' getauft. Nintendo nennt ihn intern schlicht '''IOP''' (I/O Processor). Eine Iteration des Starlet ist der [[Starbuck]] der Wii U. | |||
[[Datei:Hollywood annotated.jpg|mini|rechts|Die-Fotografie des Vegas-Chiplets in Hollywood; Starlet sowie dessen dedizierter S-RAM befindet sich rechts unten. Ebenfalls rechts unten (klein, links neben dem 32K S-RAM Block) befindet sich der Mask-ROM, welcher boot0 enthält.]] | |||
== Spezifikationen == | == Spezifikationen == | ||
* NEC ARM926EJ-S SoC | * NEC ARM926EJ-S SoC | ||
* [[w:Byte-Reihenfolge|Big-Endian]] für Kompatibilität mit dem [[Broadway]] | * [[w:Byte-Reihenfolge|Big-Endian]] für Kompatibilität mit dem [[Broadway]] | ||
* ARM und Thumb | * [[w:ARM-Architektur|ARM]]- und [[w:ARM-Architektur#Thumb-Befehlssatz|Thumb]]-Befehlssatz | ||
* Getaktet auf 243 MHz (wie | * Getaktet auf 243 MHz (wie auch die anderen Komponenten des Hollywood) | ||
* 96 KB S-RAM | |||
* Mask-ROM: enthält boot0 | |||
* eFuse/OTP-Bereich: enthält boot1-Prüfsumme sowie verschiedene Keys | |||
== Bootvorgang == | == Bootvorgang == | ||
Der Starlet ist der erste Prozessor, der Code auf der Wii ausführt. | Der Starlet ist der erste Prozessor, der Code auf der Wii ausführt. | ||
# Starlet bootet von einer internen Mask ROM, "BOOT0" | # Starlet bootet von einer internen Mask ROM, "BOOT0" (1300 Bytes Code von bis zu 4 KB) | ||
# [[boot0 (Wii)|boot0]] entschlüsselt, verifiziert und startet die ersten NAND-Blöcke "BOOT1" | # [[boot0 (Wii)|boot0]] entschlüsselt, verifiziert (anhand der boot1-Prüfsumme aus dem OTP) und startet die ersten NAND-Blöcke "BOOT1" (bis zu 48 Blöcke des Speichers) | ||
# [[boot1 (Wii)|boot1]] | # [[boot1 (Wii)|boot1]] sucht aus 2 vorhandenen Kopien die zu verwendende Kopie von boot2 aus. Dies bietet rudimentäre Bricksicherheit, da bei einem Update immer nur eine Kopie von boot2 überschrieben wird. | ||
# [[boot1 (Wii)|boot1]] lädt, entschlüsselt, verifiziert (mithilfe des E-Ticket-Service) und startet BOOT2 | |||
# [[boot2 (Wii)|boot2]] [[w:Bootstrapping (Informatik)|bootstrapped]] und lädt dann die eingebettete ELF-Datei | # [[boot2 (Wii)|boot2]] [[w:Bootstrapping (Informatik)|bootstrapped]] und lädt dann die eingebettete ELF-Datei | ||
# [[boot2 (Wii)|boot2]] startet IOS | # [[boot2 (Wii)|boot2]] startet IOS | ||
# [[IOS]] lädt Code in den EXI-Buffer und | # [[IOS]] lädt Code in den EXI-Buffer und startet den [[Broadway]] | ||
== Einzelnachweise == | == Einzelnachweise == | ||
* [https://wiibrew.org/wiki/Hardware/Starlet Hardware/Starlet] auf WiiBrew | * [https://wiibrew.org/wiki/Hardware/Starlet Hardware/Starlet] auf WiiBrew | ||
{{Top Icon Wii}} | {{Top Icon Wii}} | ||
{{Navbox Hardware}} | |||
[[Kategorie:Hardware]] | [[Kategorie:Hardware]] | ||
[[Kategorie:Nintendo Wii]] |
Aktuelle Version vom 7. August 2023, 12:59 Uhr
Das "Hollywood"-MCM der Wii beinhaltet im Vegas-Chiplet einen ARM9-Co-Prozessor, der Ein-/Ausgabe- und Sicherheitsvorgänge verwaltet. Dieser Security-Prozessor wurde von Team Twiizers Starlet getauft. Nintendo nennt ihn intern schlicht IOP (I/O Processor). Eine Iteration des Starlet ist der Starbuck der Wii U.
Spezifikationen
- NEC ARM926EJ-S SoC
- Big-Endian für Kompatibilität mit dem Broadway
- ARM- und Thumb-Befehlssatz
- Getaktet auf 243 MHz (wie auch die anderen Komponenten des Hollywood)
- 96 KB S-RAM
- Mask-ROM: enthält boot0
- eFuse/OTP-Bereich: enthält boot1-Prüfsumme sowie verschiedene Keys
Bootvorgang
Der Starlet ist der erste Prozessor, der Code auf der Wii ausführt.
- Starlet bootet von einer internen Mask ROM, "BOOT0" (1300 Bytes Code von bis zu 4 KB)
- boot0 entschlüsselt, verifiziert (anhand der boot1-Prüfsumme aus dem OTP) und startet die ersten NAND-Blöcke "BOOT1" (bis zu 48 Blöcke des Speichers)
- boot1 sucht aus 2 vorhandenen Kopien die zu verwendende Kopie von boot2 aus. Dies bietet rudimentäre Bricksicherheit, da bei einem Update immer nur eine Kopie von boot2 überschrieben wird.
- boot1 lädt, entschlüsselt, verifiziert (mithilfe des E-Ticket-Service) und startet BOOT2
- boot2 bootstrapped und lädt dann die eingebettete ELF-Datei
- boot2 startet IOS
- IOS lädt Code in den EXI-Buffer und startet den Broadway
Einzelnachweise
- Hardware/Starlet auf WiiBrew