The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Porting OpeniBoot
This page should act as temporary place holder for any technical information found regarding porting Openiboot to newer devices.
3GS
Reboot (WDT)
There is not a specific WDT device in 3GS device tree. The reboot sequence instead accesses several registers in PMGR.
LDR R1, =0xBF10021C LDR R3, =0xBF100214 MOVS R0, #0 MOVS R2, #1 STR R0, [R1] STR R2, [R3] LDR R2, =0xBF100210 MOV.W R3, #0x80000000 STR R3, [R2] MOVS R3, #4 STR R3, [R1] STR R0, [R2]
MIU
The MIU setup is found in the miu_init() in the LLB image instead. The register that contains MIU setting is 0xBF100000 (PMGR base address). The bit mask is now 3 instead of 7 for most other devices before this. Assume setting for map to 0x0 is 1, otherwise 2.
ROM:84006F44 CBZ R0, loc_84006F4C ROM:84006F46 CMP R0, #1 ROM:84006F48 BNE loc_84006F68 ROM:84006F4A B loc_84006F5A ROM:84006F4C loc_84006F4C ROM:84006F4C LDR R2, =0xBF100000 ROM:84006F4E LDR R3, [R2] ROM:84006F50 BIC.W R3, R3, #3 ROM:84006F54 ORR.W R3, R3, #1 ROM:84006F58 B loc_84006F66 ROM:84006F5A loc_84006F5A ROM:84006F5A LDR R2, =0xBF100000 ROM:84006F5C LDR R3, [R2] ROM:84006F5E BIC.W R3, R3, #3 ROM:84006F62 ORR.W R3, R3, #2 ROM:84006F66 ROM:84006F66 loc_84006F66 ROM:84006F66 STR R3, [R2] ROM:84006F68 ROM:84006F68 loc_84006F68 ROM:84006F68 LDR R3, =0xBF100000 ROM:84006F6A LDR R3, [R3] ROM:84006F6C BX LR