Dieser Artikel betrifft die Nintendo Wii

HW AHBPROT: Unterschied zwischen den Versionen

Aus WiiDatabase Wiki
Zur Navigation springenZur Suche springen
K (Änderungen von Eis am Stiel (Diskussion) wurden auf die letzte Version von ICON zurückgesetzt)
Markierung: Zurücksetzung
 
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:HW_AHBPROT}}
{{DISPLAYTITLE:HW_AHBPROT}}
== HW_AHB<ref>[https://de.wikipedia.org/wiki/Advanced_High-performance_Bus Advanced High-performance Bus - Wikipedia]</ref> ==
'''HW_AHB''' steht für "Hardware Advanced High-performance Bus"<ref>[https://de.wikipedia.org/wiki/Advanced_High-performance_Bus Advanced High-performance Bus - Wikipedia]</ref> und ist Teil der Advanced Microcontroller Bus Architecture (AMBA) von ARM Limited (ARM).
'''HW_AHB''' steht für Hardware Advanced High-performance Bus und ist Teil der Advanced Microcontroller Bus Architecture (AMBA) von ARM Limited (ARM).


Der AHB unterstützt:
== HW_AHB-Zugriff ==
* mehrere Bus-Master
Wenn die HW_AHB-Protection ('''HW_AHBPROT''', intern '''ACRBUSPROT''' genannt<ref>[https://wiidatabase.de/leak-bei-broadon-source-code-fuer-ios-datasheets-interne-dokumente-und-mehr-veroeffentlicht/ Leak bei BroadOn: Source-Code für IOS, Datasheets, interne Dokumente und mehr veröffentlicht]</ref>) deaktiviert wird, wird voller Zugriff auf die gesamte Hardware der Wii gewährt. Dafür wird kein cIOS benötigt; der [[Homebrewkanal]] deaktiviert HW_AHBPROT und diese Deaktivierung bleibt bestehen, wenn eine Homebrew das IOS nicht neu lädt.
* burst transfers
* split transactions
* pipelined operations
* single-cycle bus master handover
* single clock operation
* non-tristate implementation
* große Busbreiten (64/128 Bit)


== HW_AHB-Zugriff ==
Fälschlicherweise wird oft von einer "Aktivierung von HW_AHBPROT" gesprochen, was faktisch aber unsinnig ist, da der Schutz deaktiviert werden soll.
Wenn die HW_AHB-Protection ('''HW_AHBPROT''') deaktiviert wird, wird voller Zugriff auf die gesamte Hardware der Wii gewährt. Dafür wird kein cIOS benötigt, der [[Homebrewkanal]] deaktiviert HW_AHBPROT und diese Deaktivierung bleibt bestehen, wenn eine Homebrew das IOS nicht neu lädt.


=== MEMPROT ===
=== MEMPROT ===
Mit deaktivierter HW_AHBPROT ist es möglich, '''MEMPROT''' (Memory Protection) zu deaktivieren. Das IOS reserviert den oberen Teil von MEM2 für seine eigene Nutzung<ref>[http://wiibrew.org/wiki/Memory_Map Memory Map - WiiBrew]</ref> - dadurch können temporäre Patches auf das IOS angewendet werden, inklusive [[Trucha Bug|Signatur]]-, NAND- und [[ES_Identify|ES]]-Patches.
Mit deaktivierter HW_AHBPROT ist es möglich, '''MEMPROT''' (Memory Protection) zu deaktivieren. Das IOS reserviert den oberen Teil von MEM2 für seine eigene Nutzung<ref>[http://wiibrew.org/wiki/Memory_Map Memory Map - WiiBrew]</ref> - dadurch können temporäre Patches auf das IOS angewendet werden, inklusive [[Trucha Bug|Signatur]]-, NAND- und [[ES_Identify|ES]]-Patches.
== Geschichte ==
Auf der Suche nach einer Lösung für ein Problem innerhalb von BootMii, bei dem die Buttons in [[IOS254|BootMii/IOS]] nicht funktionierten, stieß bushing von Team Twiizers auf das "Access Rights" Bit in der [[TMD]] einer WAD, die am Ende der Herstellung einer Wii verwendet wird.<ref>[https://hackmii.com/2009/08/of-tmds-and-hardware/ of TMDs and hardware]</ref> Wird dieses Bit gesetzt, so wird der komplette Zugriff auf die gesamte Hardware direkt vom PPC aus gewährt. Bushing vermutete, dass dies das Testen der Hardware vereinfacht haben soll. Der [[Homebrewkanal]] hat ebenfalls dieses Bit ab v1.0.8 gesetzt und ermöglicht es so jeder Applikation, die über den HBC gestartet wird, HW_AHBPROT zu deaktivieren. Dies hat den Vorteil, dass kein gepatchtes IOS mehr benötigt wird, da jede Anwendung das aktuelle IOS selbst temporär patchen kann.
In früheren Versionen des Homebrewkanals führte die Deaktivierung von HW_AHBPROT zu Abstürzen, wenn die Internetverbindung noch nicht initialisiert war. Dieses Problem wurde später mit einem neuen Patch "ES_SET_AHBPROT" behoben - wird ein IOS (üblicherweise das [[IOS36]] und [[IOS236]]) mit diesem Patch geladen, wird HW_AHBPROT auch für jedes weitere geladene IOS deaktiviert.


== Einzelnachweise ==
== Einzelnachweise ==
Zeile 24: Zeile 20:
{{Top Icon Wii}}
{{Top Icon Wii}}
{{Navbox IOS}}
{{Navbox IOS}}
[[Kategorie:IOS]]
[[Kategorie:Nintendo Wii]]

Aktuelle Version vom 28. Juli 2023, 09:08 Uhr

HW_AHB steht für "Hardware Advanced High-performance Bus"[1] und ist Teil der Advanced Microcontroller Bus Architecture (AMBA) von ARM Limited (ARM).

HW_AHB-Zugriff

Wenn die HW_AHB-Protection (HW_AHBPROT, intern ACRBUSPROT genannt[2]) deaktiviert wird, wird voller Zugriff auf die gesamte Hardware der Wii gewährt. Dafür wird kein cIOS benötigt; der Homebrewkanal deaktiviert HW_AHBPROT und diese Deaktivierung bleibt bestehen, wenn eine Homebrew das IOS nicht neu lädt.

Fälschlicherweise wird oft von einer "Aktivierung von HW_AHBPROT" gesprochen, was faktisch aber unsinnig ist, da der Schutz deaktiviert werden soll.

MEMPROT

Mit deaktivierter HW_AHBPROT ist es möglich, MEMPROT (Memory Protection) zu deaktivieren. Das IOS reserviert den oberen Teil von MEM2 für seine eigene Nutzung[3] - dadurch können temporäre Patches auf das IOS angewendet werden, inklusive Signatur-, NAND- und ES-Patches.

Geschichte

Auf der Suche nach einer Lösung für ein Problem innerhalb von BootMii, bei dem die Buttons in BootMii/IOS nicht funktionierten, stieß bushing von Team Twiizers auf das "Access Rights" Bit in der TMD einer WAD, die am Ende der Herstellung einer Wii verwendet wird.[4] Wird dieses Bit gesetzt, so wird der komplette Zugriff auf die gesamte Hardware direkt vom PPC aus gewährt. Bushing vermutete, dass dies das Testen der Hardware vereinfacht haben soll. Der Homebrewkanal hat ebenfalls dieses Bit ab v1.0.8 gesetzt und ermöglicht es so jeder Applikation, die über den HBC gestartet wird, HW_AHBPROT zu deaktivieren. Dies hat den Vorteil, dass kein gepatchtes IOS mehr benötigt wird, da jede Anwendung das aktuelle IOS selbst temporär patchen kann.

In früheren Versionen des Homebrewkanals führte die Deaktivierung von HW_AHBPROT zu Abstürzen, wenn die Internetverbindung noch nicht initialisiert war. Dieses Problem wurde später mit einem neuen Patch "ES_SET_AHBPROT" behoben - wird ein IOS (üblicherweise das IOS36 und IOS236) mit diesem Patch geladen, wird HW_AHBPROT auch für jedes weitere geladene IOS deaktiviert.

Einzelnachweise