<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.theiphonewiki.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=WillStrafach</id>
	<title>The iPhone Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.theiphonewiki.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=WillStrafach"/>
	<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/wiki/Special:Contributions/WillStrafach"/>
	<updated>2026-05-25T05:49:53Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IOS&amp;diff=6858</id>
		<title>IOS</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IOS&amp;diff=6858"/>
		<updated>2010-07-08T20:16:13Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:iOS}}&lt;br /&gt;
iOS, formerly known as iPhone OS, is the operating system for the [[iPhone]], [[iPod Touch]] and [[iPad]]. iOS has four abstraction layers: the Core OS layer, the Core Services layer, the Media layer, and the Cocoa Touch layer. The OS takes less than half a gigabyte (GB) of the device's total memory storage, this means that users will not get their full storage space.&lt;br /&gt;
&lt;br /&gt;
In iOS 4, it takes up ~1GB of space, probably due to the 2x graphics that have been added for the [[iPhone 4]]'s Retina display.&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=/System/Library/CoreServices/SystemVersion.plist&amp;diff=6857</id>
		<title>/System/Library/CoreServices/SystemVersion.plist</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=/System/Library/CoreServices/SystemVersion.plist&amp;diff=6857"/>
		<updated>2010-07-08T20:14:49Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This file is where [[iOS]] gets the firmware version, build number, and build type. Editing this file is often done to fake the firmware version (to trick anything that has a hardcoded check on it), changing the build type from &amp;quot;Beta&amp;quot; to something else on beta builds (to prevent expiration), and more.&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=/System/Library/CoreServices/SystemVersion.plist&amp;diff=6856</id>
		<title>/System/Library/CoreServices/SystemVersion.plist</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=/System/Library/CoreServices/SystemVersion.plist&amp;diff=6856"/>
		<updated>2010-07-08T20:14:37Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This file is where iOS gets the firmware version, build number, and build type. Editing this file is often done to fake the firmware version (to trick anything that has a hardcoded check on it), changing the build type from &amp;quot;Beta&amp;quot; to something else on beta builds (to prevent expiration), and more.&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Greenpois0n_(jailbreak)&amp;diff=6773</id>
		<title>Greenpois0n (jailbreak)</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Greenpois0n_(jailbreak)&amp;diff=6773"/>
		<updated>2010-06-28T17:55:33Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: removed &amp;quot;chronic&amp;quot; part because some may think that means me, versus meaning ChronicDev&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Greenpois0n is a cross-platform hacker toolkit that helps users to find their own exploits for jailbreaks, write custom ramdisks, and create custom firmwares. &lt;br /&gt;
&lt;br /&gt;
== Current Toolset ==&lt;br /&gt;
&lt;br /&gt;
*[http://github.com/chronicdev/cyanide GreenPois0n Cyanide]: [[iBoot]] payload toolkit to help developers discover new vulnerabilities and design super fast, low-level iBoot jailbreaks and exploit payloads, much like the way [[blackra1n]]/[[purplera1n]] works.&lt;br /&gt;
&lt;br /&gt;
*[http://github.com/chronicdev/libdioxin GreenPois0n Dioxin]: MobileDevice toolkit designed to help developers design awesome userland jailbreaks, like how [[Spirit]] works.&lt;br /&gt;
&lt;br /&gt;
*[http://github.com/chronicdev/anthrax GreenPois0n Anthrax]: iPhone ramdisk toolkit to help developers design extremely stable and portable ramdisk jailbreaks, much like the same way [[QuickPwn]]/[[redsn0w]] works.&lt;br /&gt;
&lt;br /&gt;
*[http://github.com/chronicdev/arsenic GreenPois0n Arsenic]: custom firmware toolkit to help developers design jailbreaks to help preserve [[Baseband Firmware|baseband]] and keep unlocks, much in the same way [[PwnageTool]]/[[sn0wbreeze]] works.&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=SwitchBoard.app&amp;diff=6708</id>
		<title>SwitchBoard.app</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=SwitchBoard.app&amp;diff=6708"/>
		<updated>2010-06-26T02:02:16Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:SwitchBoard.jpg|frame|right|SwitchBoard on M68AP.]]&lt;br /&gt;
&lt;br /&gt;
SwitchBoard.app is one of Apple's internal utilities. It's a simple launcher of other developer utilities. It's usually located in /AppleInternal/Applications folder along the other internal applications. Currently, there is no SwitchBoard binary available for public.&lt;br /&gt;
&lt;br /&gt;
== Origin ==&lt;br /&gt;
SwitchBoard and diagnostic utilities are copied onto device during restore with special IPSW file which is seeded only to Apple official service centers.&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
Note that this is not &amp;quot;Switchboard&amp;quot;, note the lowercase &amp;quot;b&amp;quot;, which is basically an internal &amp;quot;App Store&amp;quot; for Apple employees only.&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=S5L8930&amp;diff=6565</id>
		<title>S5L8930</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=S5L8930&amp;diff=6565"/>
		<updated>2010-06-20T14:44:23Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: /* Exploits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An SoC developed by Apple in-house chip design department. It is currently used in [[k48ap|iPad]] and [[N90ap|iPhone 4]]. Publicly, Apple refers to this chip as the '''A4'''.&lt;br /&gt;
&lt;br /&gt;
== Exploits ==&lt;br /&gt;
=== Bootrom ===&lt;br /&gt;
&lt;br /&gt;
=== iBoot / Kernel ===&lt;br /&gt;
&lt;br /&gt;
=== Userland ===&lt;br /&gt;
* [[MobileBackup Copy Exploit]] - Works up to [[iOS]] 3.2&lt;br /&gt;
* [[BPF STX Kernel Write Exploit]] - Works up to [[iOS]] 3.2&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
* '''CPU''': ARM Cortex-A8&lt;br /&gt;
* '''GPU''': PowerVR SGX 535&lt;br /&gt;
* '''A/V Playback''': PowerVR VXD&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[S5L8930 (Bootrom)]]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* http://www.apple.com/ipad/specs/&lt;br /&gt;
* http://www.brightsideofnews.com/news/2010/1/27/apple-a4-soc-unveiled---its-an-arm-cpu-and-the-gpu!.aspx&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=S5L8930&amp;diff=5988</id>
		<title>S5L8930</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=S5L8930&amp;diff=5988"/>
		<updated>2010-04-07T01:36:23Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An SoC developed by Apple in-house chip design department. It is currently used in [[k48ap|iPad]]. Publicly, Apple refers to this hip as the '''A4'''.&lt;br /&gt;
&lt;br /&gt;
== Exploits ==&lt;br /&gt;
=== Bootrom ===&lt;br /&gt;
&lt;br /&gt;
=== iBoot / Kernel ===&lt;br /&gt;
&lt;br /&gt;
=== Userland ===&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
* '''CPU''': ARM Cortex-A8&lt;br /&gt;
* '''GPU''': PowerVR SGX 535&lt;br /&gt;
* '''A/V Playback''': PowerVR VXD&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* http://www.apple.com/ipad/specs/&lt;br /&gt;
* http://www.brightsideofnews.com/news/2010/1/27/apple-a4-soc-unveiled---its-an-arm-cpu-and-the-gpu!.aspx&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=K48AP&amp;diff=5952</id>
		<title>K48AP</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=K48AP&amp;diff=5952"/>
		<updated>2010-03-29T23:20:40Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:ipad_hero_20100127.jpg|thumb|right|250px|iPad]]This is the iPad. Announced on January 27, 2010. $499 for WiFi-only variant. Features 1 GHz Apple [[S5L8930]] CPU and 9.7&amp;quot; display. Runs iPhone OS 3.2. &lt;br /&gt;
&lt;br /&gt;
== Application processor ==&lt;br /&gt;
It uses Apple-designed 1 GHz [[A4|A4]] CPU.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
'''Screen:''' 1024x768px&lt;br /&gt;
&lt;br /&gt;
'''Size:''' 9.56 inches (242.8 mm) (height) x 7.47 inches (189.7 mm) (width) x 0.5 inch (13.4 mm) (depth)&lt;br /&gt;
&lt;br /&gt;
'''Weight:''' 1.5 pounds (0.68 kg) Wi-Fi model; 1.6 pounds (0.73 kg) Wi-Fi + 3G model&lt;br /&gt;
&lt;br /&gt;
'''Battery:''' Up to 10 hours of Internet use, one month of standby&lt;br /&gt;
&lt;br /&gt;
'''3G:''' UMTS/HSDPA (850, 1900, 2100 MHz), GSM/EDGE (850, 900, 1800, 1900 MHz), data only&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=S5L8930&amp;diff=5951</id>
		<title>S5L8930</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=S5L8930&amp;diff=5951"/>
		<updated>2010-03-29T23:17:48Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: New page: An SoC developed by Apple in-house chip design department. It is currently used in iPad.  == Exploits == === Bootrom ===  === iBoot / Kernel ===  === Userland ===  == Specificati...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An SoC developed by Apple in-house chip design department. It is currently used in [[k48ap|iPad]].&lt;br /&gt;
&lt;br /&gt;
== Exploits ==&lt;br /&gt;
=== Bootrom ===&lt;br /&gt;
&lt;br /&gt;
=== iBoot / Kernel ===&lt;br /&gt;
&lt;br /&gt;
=== Userland ===&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
* '''CPU''': ARM Cortex-A9 MPCore&lt;br /&gt;
* '''GPU''': PowerVR SGX 545&lt;br /&gt;
* '''A/V Playback''': PowerVR VXD&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* http://www.apple.com/ipad/specs/&lt;br /&gt;
* http://www.brightsideofnews.com/news/2010/1/27/apple-a4-soc-unveiled---its-an-arm-cpu-and-the-gpu!.aspx&lt;br /&gt;
* http://infocenter.arm.com/help/topic/com.arm.doc.ddi0407e/DDI0407E_cortex_a9_mpcore_r2p0_trm.pdf&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Main_Page&amp;diff=5949</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Main_Page&amp;diff=5949"/>
		<updated>2010-03-29T23:16:25Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Logo by iHassan --&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Iptwiki.jpg‎]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;!-- Added a split column information box- computid --&amp;gt;&lt;br /&gt;
{{:Main Page/Welcome}}&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;background-color:orange;&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;background-color:orange; text-align:center; width:25%;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;[[Jailbreak iPhone2,1 / iPod3,1|Find bootrom exploit allowing unsigned code exec via USB (S5L8920+)]]&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;background-color:orange; text-align:center; width:25%;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;[[Unlock 2.0|Break Chain of Trust (X-Gold 608)]]&amp;lt;/b&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-2}}&lt;br /&gt;
{{HeadingA|Software}}&lt;br /&gt;
* [[/|Filesystem]]&lt;br /&gt;
* [[Firmware]]&lt;br /&gt;
* [[Keys]]&lt;br /&gt;
** [[AES Keys]]&lt;br /&gt;
** [[Apple Certificate]]&lt;br /&gt;
** [[Baseband RSA Keys|RSA Keys]]&lt;br /&gt;
** [[Baseband TEA Keys|TEA Keys]]&lt;br /&gt;
** [[NCK]]&lt;br /&gt;
* [[Protocols]]&lt;br /&gt;
** [[Normal Mode]]&lt;br /&gt;
** [[Recovery Mode (Protocols)|Recovery Mode]]&lt;br /&gt;
** [[Restore Mode]]&lt;br /&gt;
** [[DFU (Protocol)|DFU]]&lt;br /&gt;
** [[Baseband Bootrom Protocol]]&lt;br /&gt;
** [[Interactive Mode|Baseband Bootloader Protocol]]&lt;br /&gt;
* [[System Log|System Log (syslog)]]&lt;br /&gt;
{{col-2}}&lt;br /&gt;
{{HeadingB|Hardware}}&lt;br /&gt;
====iPhone====&lt;br /&gt;
* [[m68ap|iPhone (m68ap)]]&lt;br /&gt;
* [[n82ap|iPhone 3G (n82ap)]]&lt;br /&gt;
* [[N88ap|iPhone 3GS (n88ap)]]&lt;br /&gt;
&lt;br /&gt;
====iPod Touch====&lt;br /&gt;
* [[n45ap|iPod touch (n45ap)]]&lt;br /&gt;
* [[n72ap|iPod touch 2nd Generation (n72ap)]]&lt;br /&gt;
* [[N18ap|iPod touch 3rd Generation (n18ap)]]&lt;br /&gt;
&lt;br /&gt;
====iPad====&lt;br /&gt;
* [[K48ap|iPad (k48ap)]]&lt;br /&gt;
&lt;br /&gt;
====Processors====&lt;br /&gt;
* [[S5L8900]] ([[iPhone]], [[iPod Touch]], [[iPhone 3G]])&lt;br /&gt;
* [[S5L8720]] ([[iPod touch 2G]])&lt;br /&gt;
* [[S5L8920]] ([[N88AP|iPhone 3GS]])&lt;br /&gt;
* [[S5L8922]] ([[N18ap|iPod Touch 3G]])&lt;br /&gt;
* [[S5L8930]] ([[k48ap|iPad]])&lt;br /&gt;
* [[Baseband Device]]&lt;br /&gt;
&lt;br /&gt;
====Other====&lt;br /&gt;
* [[Bluetooth]]&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-2}}&lt;br /&gt;
{{HeadingA|Development}}&lt;br /&gt;
====Application Development====&lt;br /&gt;
* [[Toolchain]] (Includes tutorials)&lt;br /&gt;
* [[Toolchain 2.0]] (Includes tutorials)&lt;br /&gt;
* [[Frameworks]]&lt;br /&gt;
* [[MobileDevice Library]]&lt;br /&gt;
* [[Apple Certification Process]]&lt;br /&gt;
* [[Bypassing iPhone Code Signatures]]&lt;br /&gt;
* [[Distribution Methods]]&lt;br /&gt;
&lt;br /&gt;
====Application Copy Protection====&lt;br /&gt;
* [[Copy Protection Overview]]&lt;br /&gt;
* [[Application Structure and Signatures]]&lt;br /&gt;
* [[Mach-O Loading Process]]&lt;br /&gt;
* [[Bugging Debuggers]]&lt;br /&gt;
* [[Defeating Cracks]]&lt;br /&gt;
{{col-2}}&lt;br /&gt;
{{HeadingB|Help}}&lt;br /&gt;
====Guides====&lt;br /&gt;
* [[Tutorials]]&lt;br /&gt;
* [[Useful Links]]&lt;br /&gt;
&lt;br /&gt;
====Definitions====&lt;br /&gt;
* [[Glossary]]&lt;br /&gt;
* [[Jailbreak]]&lt;br /&gt;
* [[Activation]]&lt;br /&gt;
* [[Unlock]]&lt;br /&gt;
* [[Baseband Device|Baseband]]&lt;br /&gt;
* [[Baseband Bootloader|Bootloader]]&lt;br /&gt;
* [[DFU]]&lt;br /&gt;
* [[iBoot]]&lt;br /&gt;
* [[iBEC]]&lt;br /&gt;
* [[iBSS]]&lt;br /&gt;
* [[NORID]]&lt;br /&gt;
* [[CHIPID]]&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;background-color:orange;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;4&amp;quot; style=&amp;quot;background-color:orange; text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[Disclaimer]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC____NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IBoot-817.28&amp;diff=5948</id>
		<title>IBoot-817.28</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IBoot-817.28&amp;diff=5948"/>
		<updated>2010-03-29T23:15:43Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: New page: iBoot revision that the iPad WiFi-only model (iPad1,1) ships with.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[iBoot]] revision that the iPad WiFi-only model (iPad1,1) ships with.&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Talk:CmdArg&amp;diff=5904</id>
		<title>Talk:CmdArg</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Talk:CmdArg&amp;diff=5904"/>
		<updated>2010-03-11T12:34:57Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: unk0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== unk0 ==&lt;br /&gt;
&lt;br /&gt;
pretty sure it's the name of the command issued, as in, the equivalent of argv[0]. can anyone confirm?&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Talk:Ramdisk_(iBoot_command)&amp;diff=5881</id>
		<title>Talk:Ramdisk (iBoot command)</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Talk:Ramdisk_(iBoot_command)&amp;diff=5881"/>
		<updated>2010-03-10T15:39:08Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: /* n88ap__iBoot__blockdev */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ok, now this is just silly. --[[User:Posixninja|posixninja]] 18:34, 9 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== n88ap__iBoot__blockdev ==&lt;br /&gt;
&lt;br /&gt;
no idea what that is supposed to mean. it should be do_image_load, as image_load is jsut a wrapper function.&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Bootx_(iBoot_command)&amp;diff=5849</id>
		<title>Bootx (iBoot command)</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Bootx_(iBoot_command)&amp;diff=5849"/>
		<updated>2010-02-26T22:27:52Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: /* iPhone 3GS 8920x from iBoot-636.66 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== iPhone 3GS 8920x from iBoot-636.66 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
N88AP_iBoot:4FF007E8     n88ap__iBoot__bootx_function            ; DATA XREF: N88AP_iBoot:n88ap__iBoot__bootx�o&lt;br /&gt;
N88AP_iBoot:4FF007E8&lt;br /&gt;
N88AP_iBoot:4FF007E8     kernelcache_prepped_memory_pos= -0x10&lt;br /&gt;
N88AP_iBoot:4FF007E8     oldR4           = -0xC&lt;br /&gt;
N88AP_iBoot:4FF007E8     oldR7           = -8&lt;br /&gt;
N88AP_iBoot:4FF007E8     oldLR           = -4&lt;br /&gt;
N88AP_iBoot:4FF007E8&lt;br /&gt;
N88AP_iBoot:4FF007E8 000                 PUSH    {R4,R7,LR}      ; Push registers&lt;br /&gt;
N88AP_iBoot:4FF007EA 00C                 ADD     R7, SP, #4      ; Rd = Op1 + Op2&lt;br /&gt;
N88AP_iBoot:4FF007EC 00C                 SUB     SP, SP, #4      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF007EE 010                 CMP     R0, #1          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF007F0 010                 MOV     R4, R1          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF007F2 010                 BLE     loc_4FF00808    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF007F4 010                 LDR     R1, [R1,#0x24]  ; argv[1]&lt;br /&gt;
N88AP_iBoot:4FF007F6 010                 LDR     R0, =aHelp      ; &amp;quot;help&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF007F8 010                 BL      strcmp          ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF007FC 010                 CBNZ    R0, loc_4FF00808 ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF007FE 010                 LDR     R1, [R4,#0x10]  ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF00800 010                 LDR     R0, =aUsageSAddress ; &amp;quot;usage:\n\t%s [&amp;lt;address&amp;gt;]\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF00802 010                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF00806 010                 B       loc_4FF0081C    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF00808     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF00808&lt;br /&gt;
N88AP_iBoot:4FF00808     loc_4FF00808                            ; CODE XREF: n88ap__iBoot__bootx_function+A�j&lt;br /&gt;
N88AP_iBoot:4FF00808                                             ; n88ap__iBoot__bootx_function+14�j&lt;br /&gt;
N88AP_iBoot:4FF00808 010                 MOV.W   R0, #n88ap_ramdisk ; addr&lt;br /&gt;
N88AP_iBoot:4FF0080C 010                 MOV.W   R1, #0xF00000      ; size&lt;br /&gt;
N88AP_iBoot:4FF00810 010                 BL      check_range        ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF00814 010                 CBNZ    R0, loc_4FF00822   ; Compare and Branch on Non-Zero&lt;br /&gt;
N88AP_iBoot:4FF00816 010                 LDR     R0, =aPermissionDenied ; &amp;quot;Permission Denied\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF00818 010                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF0081C&lt;br /&gt;
N88AP_iBoot:4FF0081C     loc_4FF0081C                            ; CODE XREF: n88ap__iBoot__bootx_function+1E�j&lt;br /&gt;
N88AP_iBoot:4FF0081C 010                 MOV.W   R4, #0xFFFFFFFF ; fail&lt;br /&gt;
N88AP_iBoot:4FF00820 010                 B       loc_4FF0085C    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF00822     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF00822&lt;br /&gt;
N88AP_iBoot:4FF00822     loc_4FF00822                            ; CODE XREF: n88ap__iBoot__bootx_function+2C�j&lt;br /&gt;
N88AP_iBoot:4FF00822 010                 MOV.W   R1, #n88ap_ramdisk ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF00826 010                 LDR     R0, =aAttemptingToValidateKernelcache0x08x ; &amp;quot;Attempting to validate kernelcache @ 0x&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF00828 010                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF0082C 010                 MOV.W   R0, #n88ap_ramdisk ; memoery_pos&lt;br /&gt;
N88AP_iBoot:4FF00830 010                 MOV.W   R1, #0xF00000   ; memory_size&lt;br /&gt;
N88AP_iBoot:4FF00834 010                 MOV     R2, SP          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF00836 010                 BL      LoadImage_kernelcache_img3 ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF0083A 010                 CMP     R0, #0          ; Set cond. codes on Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF0083C 010                 MOV     R4, R0          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF0083E 010                 BGE     loc_4FF00848    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF00840 010                 LDR     R0, =aErrorLoadingKernelcache ; &amp;quot;error loading kernelcache\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF00842 010                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF00846 010                 B       loc_4FF0085C    ; Branch&lt;br /&gt;
N88AP_iBoot:4FF00848     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF00848&lt;br /&gt;
N88AP_iBoot:4FF00848     loc_4FF00848                            ; CODE XREF: n88ap__iBoot__bootx_function+56�j&lt;br /&gt;
N88AP_iBoot:4FF00848 010                 LDR     R1, [SP,#0x10+kernelcache_prepped_memory_pos] ; param_R1&lt;br /&gt;
N88AP_iBoot:4FF0084A 010                 LDR     R0, =aKernelcachePreppedAtAddress0x08x ; &amp;quot;kernelcache prepped at address 0x%08x\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF0084C 010                 BL      N88AP__iBOOT__console_printf ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF00850 010                 LDR     R2, =dword_4FF2DC40 ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF00852 010                 MOVS    R0, #3          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF00854 010                 LDR     R1, [SP,#0x10+kernelcache_prepped_memory_pos] ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF00856 010                 LDR     R2, [R2]        ; Load from Memory&lt;br /&gt;
N88AP_iBoot:4FF00858 010                 BL      jump_to_addr    ; Branch with Link&lt;br /&gt;
N88AP_iBoot:4FF0085C&lt;br /&gt;
N88AP_iBoot:4FF0085C     loc_4FF0085C                            ; CODE XREF: n88ap__iBoot__bootx_function+38�j&lt;br /&gt;
N88AP_iBoot:4FF0085C                                             ; n88ap__iBoot__bootx_function+5E�j&lt;br /&gt;
N88AP_iBoot:4FF0085C 010                 MOV     R0, R4          ; Rd = Op2&lt;br /&gt;
N88AP_iBoot:4FF0085E 010                 SUB.W   SP, R7, #4      ; Rd = Op1 - Op2&lt;br /&gt;
N88AP_iBoot:4FF00862 010                 POP     {R4,R7,PC}      ; Pop registers&lt;br /&gt;
N88AP_iBoot:4FF00862     ; End of function n88ap__iBoot__bootx_function&lt;br /&gt;
N88AP_iBoot:4FF00862&lt;br /&gt;
N88AP_iBoot:4FF00862     ; ---------------------------------------------------------------------------&lt;br /&gt;
N88AP_iBoot:4FF00864     off_4FF00864    DCD aHelp               ; DATA XREF: n88ap__iBoot__bootx_function+E�r&lt;br /&gt;
N88AP_iBoot:4FF00864                                             ; &amp;quot;help&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF00868     ; int off_4FF00868&lt;br /&gt;
N88AP_iBoot:4FF00868     off_4FF00868    DCD aUsageSAddress      ; DATA XREF: n88ap__iBoot__bootx_function+18�r&lt;br /&gt;
N88AP_iBoot:4FF00868                                             ; &amp;quot;usage:\n\t%s [&amp;lt;address&amp;gt;]\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF0086C     ; int off_4FF0086C&lt;br /&gt;
N88AP_iBoot:4FF0086C     off_4FF0086C    DCD aPermissionDenied   ; DATA XREF: n88ap__iBoot__bootx_function+2E�r&lt;br /&gt;
N88AP_iBoot:4FF0086C                                             ; &amp;quot;Permission Denied\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF00870     ; int off_4FF00870&lt;br /&gt;
N88AP_iBoot:4FF00870     off_4FF00870    DCD aAttemptingToValidateKernelcache0x08x&lt;br /&gt;
N88AP_iBoot:4FF00870                                             ; DATA XREF: n88ap__iBoot__bootx_function+3E�r&lt;br /&gt;
N88AP_iBoot:4FF00870                                             ; &amp;quot;Attempting to validate kernelcache @ 0x&amp;quot;...&lt;br /&gt;
N88AP_iBoot:4FF00874     ; int off_4FF00874&lt;br /&gt;
N88AP_iBoot:4FF00874     off_4FF00874    DCD aErrorLoadingKernelcache&lt;br /&gt;
N88AP_iBoot:4FF00874                                             ; DATA XREF: n88ap__iBoot__bootx_function+58�r&lt;br /&gt;
N88AP_iBoot:4FF00874                                             ; &amp;quot;error loading kernelcache\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF00878     ; int off_4FF00878&lt;br /&gt;
N88AP_iBoot:4FF00878     off_4FF00878    DCD aKernelcachePreppedAtAddress0x08x&lt;br /&gt;
N88AP_iBoot:4FF00878                                             ; DATA XREF: n88ap__iBoot__bootx_function+62�r&lt;br /&gt;
N88AP_iBoot:4FF00878                                             ; &amp;quot;kernelcache prepped at address 0x%08x\n&amp;quot;&lt;br /&gt;
N88AP_iBoot:4FF0087C     off_4FF0087C    DCD dword_4FF2DC40      ; DATA XREF: n88ap__iBoot__bootx_function+68�r&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=N88AP/Device_Tree&amp;diff=5834</id>
		<title>N88AP/Device Tree</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=N88AP/Device_Tree&amp;diff=5834"/>
		<updated>2010-02-21T17:36:19Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: /* Interrupts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Address Spaces ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/arm-io: base = 80000000&lt;br /&gt;
/arm-io/vic: BF200000:00030000&lt;br /&gt;
/arm-io/gpio: 83000000:00001000&lt;br /&gt;
/arm-io/pmgr: BF100000:00002000&lt;br /&gt;
/arm-io/pmgr: BFC00000:00001000&lt;br /&gt;
/arm-io/pmgr: C0000000:00004000&lt;br /&gt;
/arm-io/pmgr: CFFFC000:00004000&lt;br /&gt;
/arm-io/cdma: 87000000:0001C000&lt;br /&gt;
/arm-io/cdma: 87800000:00009000&lt;br /&gt;
/arm-io/dart0: BFE00000:00001000&lt;br /&gt;
/arm-io/dart1: BFF00000:00001000&lt;br /&gt;
/arm-io/sdio: 80000000:00001000&lt;br /&gt;
/arm-io/sha1: 80100000:00001000&lt;br /&gt;
/arm-io/ceata: 81000000:00001000&lt;br /&gt;
/arm-io/flash-controller0: 81200000:00001000&lt;br /&gt;
/arm-io/flash-controller0: 81300000:00001000&lt;br /&gt;
/arm-io/sgx: 85300000:00001000&lt;br /&gt;
/arm-io/scaler: 85500000:00001000&lt;br /&gt;
/arm-io/tv-out: 85600000:00001000&lt;br /&gt;
/arm-io/tv-out: 85200000:00001000&lt;br /&gt;
/arm-io/tv-out: 85100000:00001000&lt;br /&gt;
/arm-io/isp: 88300000:000D4000&lt;br /&gt;
/arm-io/isp: 88100000:00001000&lt;br /&gt;
/arm-io/venc: 88000000:00001000&lt;br /&gt;
/arm-io/vxd: 85000000:00100000&lt;br /&gt;
/arm-io/spi0: 82000000:00001000&lt;br /&gt;
/arm-io/spi0/nor-flash: base = 00000000&lt;br /&gt;
/arm-io/spi0/nor-flash/diagnostic-data: 00006000:00002000&lt;br /&gt;
/arm-io/spi0/nor-flash/diagnostic-data: 00004000:00002000&lt;br /&gt;
/arm-io/spi0/nor-flash/nvram: 000FC000:00002000&lt;br /&gt;
/arm-io/spi0/nor-flash/nvram: 000FE000:00002000&lt;br /&gt;
/arm-io/spi0/nor-flash/raw-device: 00008000:000F4000&lt;br /&gt;
/arm-io/spi0/nor-flash/raw-device: 00000000:00001000&lt;br /&gt;
/arm-io/spi1: 82100000:00001000&lt;br /&gt;
/arm-io/spi2: 82200000:00001000&lt;br /&gt;
/arm-io/uart0: 82500000:00001000&lt;br /&gt;
/arm-io/uart1: 82600000:00001000&lt;br /&gt;
/arm-io/uart2: 82700000:00001000&lt;br /&gt;
/arm-io/uart3: 82800000:00001000&lt;br /&gt;
/arm-io/uart4: 82900000:00001000&lt;br /&gt;
/arm-io/pke: 83100000:00001000&lt;br /&gt;
/arm-io/i2c0: 83200000:00001000&lt;br /&gt;
/arm-io/i2c2: 83400000:00001000&lt;br /&gt;
/arm-io/pwm: 83500000:00001000&lt;br /&gt;
/arm-io/otgphyctrl: 86000000:00001000&lt;br /&gt;
/arm-io/usb-otg: 86100000:00010000&lt;br /&gt;
/arm-io/iop: 86300000:00001000&lt;br /&gt;
/arm-io/iop: BF300000:00001000&lt;br /&gt;
/arm-io/clcd: 85400000:00003000&lt;br /&gt;
/arm-io/mipi-dsim: 89000000:00001000&lt;br /&gt;
/arm-io/swi: 89100000:00001000&lt;br /&gt;
/arm-io/audio-complex: 84300000:00005000&lt;br /&gt;
/arm-io/audio-complex: 84400000:00001000&lt;br /&gt;
/arm-io/i2s0: 84500000:00001000&lt;br /&gt;
/arm-io/i2s1: 84501000:00001000&lt;br /&gt;
/arm-io/i2s2: 84502000:00001000&lt;br /&gt;
/arm-io/amc: 84100000:00003000&lt;br /&gt;
/arm-io/amc: 84000000:00038000&lt;br /&gt;
/arm-io/jpeg: 88200000:00001000&lt;br /&gt;
009016B0: / [bootrom]&lt;br /&gt;
00901FF0: /chosen&lt;br /&gt;
00902740: /cpus&lt;br /&gt;
00902780: /chosen/memory-map&lt;br /&gt;
009028C0: /options&lt;br /&gt;
009028E0: /chosen/iBoot&lt;br /&gt;
00903010: /aliases&lt;br /&gt;
00903050: /cpus/cpu0 [cpu]&lt;br /&gt;
	ipi_dispatch = /arm-io/vic['IPID'](0x00000000)&lt;br /&gt;
	cpu_idle = /arm-io/pmgr['cpuI']()&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
00903CE0: /memory [memory]&lt;br /&gt;
00903F20: /pram [pram]&lt;br /&gt;
009041E0: /vram [vram]&lt;br /&gt;
00904460: /arm-io [s5l8920x-io]&lt;br /&gt;
	clock_gate = /arm-io/pmgr['clkG']()&lt;br /&gt;
00904BE0: /buttons [buttons]&lt;br /&gt;
	button_voldown = /arm-io/gpio['GPIO'](0x00001601, 0x00000000)&lt;br /&gt;
	button_volup = /arm-io/gpio['GPIO'](0x00001600, 0x00000000)&lt;br /&gt;
	wake_button_menu = /arm-io/i2c0/pmu['STAT'](0x00000180)&lt;br /&gt;
	wake_button_hold = /arm-io/i2c0/pmu['STAT'](0x00000181)&lt;br /&gt;
	button_hold = /arm-io/gpio['GPIO'](0x00001607, 0x00000100)&lt;br /&gt;
	button_menu = /arm-io/gpio['GPIO'](0x00001606, 0x00000100)&lt;br /&gt;
	button_ringerab = /arm-io/gpio['GPIO'](0x00001403, 0x00000000)&lt;br /&gt;
	interrupt-parent = /arm-io/gpio&lt;br /&gt;
00904C20: /arm-io/vic [interrupt-controller]&lt;br /&gt;
00905260: /arm-io/pmgr [timer]&lt;br /&gt;
	core_voltage_1 = /arm-io/swi['corV'](0x003C0002)&lt;br /&gt;
	core_voltage_0 = /arm-io/swi['corV'](0x003C0001)&lt;br /&gt;
	core_voltage_2 = /arm-io/swi['corV'](0x003C0003)&lt;br /&gt;
00905280: /arm-io/gpio [interrupt-controller]&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
009070B0: /arm-io/cdma [cdma]&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
00907710: /arm-io/dart0 [dart]&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
00907BE0: /arm-io/dart1 [dart]&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
009080F0: /arm-io/sdio [sdio]&lt;br /&gt;
	device_reset = /arm-io/gpio['GPIO'](0x00001605, 0x00010101)&lt;br /&gt;
	device_wake = /arm-io/gpio['GPIO'](0x00001404, 0x00000101)&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
	dma-parent = /arm-io/cdma&lt;br /&gt;
00908B70: /arm-io/sha1 [sha1]&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
	dma-parent = /arm-io/cdma&lt;br /&gt;
009090C0: /arm-io/ceata [ceata]&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
009095E0: /arm-io/flash-controller0 [fmi]&lt;br /&gt;
	device1_reset = /arm-io/pmgr['ARST'](0x00000027)&lt;br /&gt;
	device0_reset = /arm-io/pmgr['ARST'](0x00000026)&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
00909D50: /arm-io/sgx [sgx]&lt;br /&gt;
	perf_advise = /arm-io/pmgr['PRFA']()&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
00909D90: /arm-io/flash-controller0/disk [nand]&lt;br /&gt;
0090A990: /arm-io/scaler [scaler]&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
0090AF50: /arm-io/tv-out [tv-out]&lt;br /&gt;
	video_ldo = /arm-io/i2c0/pmu['pmuL'](0x0BB80002)&lt;br /&gt;
	amp_enable = /arm-io/gpio['GPIO'](0x00000A03, 0x00000101)&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
0090B9E0: /arm-io/isp [isp]&lt;br /&gt;
	sensor_shutdown = /arm-io/gpio['GPIO'](0x00000306, 0x02000101)&lt;br /&gt;
	device_reset = /arm-io/pmgr['ARST'](0x00000012)&lt;br /&gt;
	sensor_extclk = /arm-io/gpio['GPIO'](0x00000307, 0x02000101)&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
0090C4E0: /arm-io/venc [venc]&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
0090C990: /arm-io/vxd [vxd]&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
0090CE80: /arm-io/spi0 [spi]&lt;br /&gt;
	spi_cs0 = /arm-io/gpio['GPIO'](0x00001204, 0x00000001)&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
0090D5F0: /arm-io/spi1 [spi]&lt;br /&gt;
	spi_cs0 = /arm-io/gpio['GPIO'](0x00001300, 0x00010001)&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
	dma-parent = /arm-io/cdma&lt;br /&gt;
0090D630: /arm-io/spi0/nor-flash [nor-flash]&lt;br /&gt;
0090DAE0: /arm-io/spi0/nor-flash/diagnostic-data [diagnostic-data]&lt;br /&gt;
0090DE30: /arm-io/spi0/nor-flash/raw-device [raw-device]&lt;br /&gt;
0090DE50: /arm-io/spi0/nor-flash/nvram [nvram]&lt;br /&gt;
0090EFA0: /arm-io/spi2 [spi]&lt;br /&gt;
	sclk = /arm-io/gpio['GPIO'](0x00001300, 0x00000101)&lt;br /&gt;
	srdy = /arm-io/gpio['GPIO'](0x00001304, 0x00000100)&lt;br /&gt;
	fail_gpio = /arm-io/gpio['GPIO'](0x00000804, 0x00000102)&lt;br /&gt;
	mosi = /arm-io/gpio['GPIO'](0x00001302, 0x03000102)&lt;br /&gt;
	mrdy = /arm-io/gpio['GPIO'](0x00001802, 0x00000101)&lt;br /&gt;
	interrupt-parent = /arm-io/gpio&lt;br /&gt;
	dma-parent = /arm-io/cdma&lt;br /&gt;
0090EFE0: /arm-io/spi1/multi-touch [multi-touch]&lt;br /&gt;
	reset = /arm-io/gpio['GPIO'](0x00001401, 0x00010001)&lt;br /&gt;
	clock_enable = /arm-io/i2c0/pmu['GPIO'](0x00000000, 0x02000101)&lt;br /&gt;
	enable_cs = /arm-io/gpio['GPIO'](0x00001300, 0x00000101)&lt;br /&gt;
	power_ldo = /arm-io/i2c0/pmu['pmuL'](0x0708020B)&lt;br /&gt;
	interrupt-parent = /arm-io/gpio&lt;br /&gt;
00910B00: /arm-io/uart0 [uart]&lt;br /&gt;
	tx = /arm-io/gpio['GPIO'](0x00000906, 0x00000102)&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
009111C0: /arm-io/uart0/iap&lt;br /&gt;
009112D0: /arm-io/uart1 [uart]&lt;br /&gt;
	tx = /arm-io/gpio['GPIO'](0x00000802, 0x00000102)&lt;br /&gt;
	rts = /arm-io/gpio['GPIO'](0x00000804, 0x00000101)&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
	dma-parent = /arm-io/cdma&lt;br /&gt;
00911E40: /arm-io/uart2 [uart]&lt;br /&gt;
	tx = /arm-io/gpio['GPIO'](0x00000706, 0x00000102)&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
	dma-parent = /arm-io/cdma&lt;br /&gt;
00911E80: /arm-io/uart1/debug&lt;br /&gt;
009129A0: /arm-io/uart3 [uart]&lt;br /&gt;
	tx = /arm-io/gpio['GPIO'](0x00000806, 0x00000102)&lt;br /&gt;
	rts = /arm-io/gpio['GPIO'](0x00000900, 0x00000002)&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
	dma-parent = /arm-io/cdma&lt;br /&gt;
009129E0: /arm-io/uart2/umts [umts]&lt;br /&gt;
00913680: /arm-io/uart4 [uart]&lt;br /&gt;
	tx = /arm-io/gpio['GPIO'](0x00000902, 0x00000102)&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
009136C0: /arm-io/uart3/bluetooth [bluetooth]&lt;br /&gt;
	bt_wake = /arm-io/gpio['GPIO'](0x00001602, 0x00000101)&lt;br /&gt;
	bt_reset = /arm-io/gpio['GPIO'](0x00001506, 0x00000001)&lt;br /&gt;
00914460: /arm-io/uart4/gas-gauge [gas-gauge]&lt;br /&gt;
	battery_swi = /arm-io/i2c0/pmu['GPIO'](0x00000005, 0x00000100)&lt;br /&gt;
00914570: /arm-io/pke [pke]&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
00914EB0: /arm-io/i2c0 [i2c]&lt;br /&gt;
	iic_sda = /arm-io/gpio['GPIO'](0x00000401, 0x00010101)&lt;br /&gt;
	iic_scl = /arm-io/gpio['GPIO'](0x00000400, 0x00010101)&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
009156D0: /arm-io/i2c2 [i2c]&lt;br /&gt;
	iic_sda = /arm-io/gpio['GPIO'](0x00000405, 0x00010101)&lt;br /&gt;
	iic_scl = /arm-io/gpio['GPIO'](0x00000404, 0x00010101)&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
00915710: /arm-io/i2c0/accelerometer [accelerometer]&lt;br /&gt;
	interrupt-parent = /arm-io/gpio&lt;br /&gt;
00915C20: /arm-io/i2c0/compass1 [compass1]&lt;br /&gt;
00915C40: /arm-io/i2c0/compass [compass]&lt;br /&gt;
	interrupt-parent = /arm-io/gpio&lt;br /&gt;
009163F0: /arm-io/i2c0/audio0 [audio-control]&lt;br /&gt;
	reset = /arm-io/gpio['GPIO'](0x00001406, 0x00010001)&lt;br /&gt;
	mclk_control = /arm-io/pwm/codec-mclk['pwmC']()&lt;br /&gt;
	hp_detect = /arm-io/i2c0/pmu['GPIO'](0x00000004, 0x00000100)&lt;br /&gt;
	interrupt-parent = /arm-io/i2c0/pmu&lt;br /&gt;
00916F40: /arm-io/i2c0/pmu [interrupt-controller]&lt;br /&gt;
	keepact = /arm-io/gpio['GPIO'](0x00000501, 0x00000101)&lt;br /&gt;
	suspend_helper = /arm-io/pmgr['Sush']()&lt;br /&gt;
	swi_write = /arm-io/swi['swiB']()&lt;br /&gt;
	interrupt-parent = /arm-io/gpio&lt;br /&gt;
00917F70: /arm-io/i2c0/mikey [mikey]&lt;br /&gt;
	interrupt-parent = /arm-io/i2c0/pmu&lt;br /&gt;
00918520: /arm-io/i2c0/tethered [tethered]&lt;br /&gt;
00919030: /arm-io/pwm [pwm]&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
00919070: /arm-io/i2c2/als [als]&lt;br /&gt;
	interrupt-parent = /arm-io/gpio&lt;br /&gt;
00919C20: /arm-io/otgphyctrl [otgphyctrl]&lt;br /&gt;
00919C60: /arm-io/pwm/vibrator [pwm]&lt;br /&gt;
00919EC0: /arm-io/pwm/codec-mclk [pwm]&lt;br /&gt;
0091A610: /arm-io/usb-otg [usb-otg]&lt;br /&gt;
	accessory_detect = /dock['accD']()&lt;br /&gt;
	usb_500_100 = /charger['CHRG'](0x00000000)&lt;br /&gt;
	usb_swap_config = /dock['accA'](0x0000000A)&lt;br /&gt;
	usb_suspend = /charger['CHRG'](0x00000001)&lt;br /&gt;
	usb_brick_detect = /charger['CHRG'](0x00000002)&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
0091B210: /arm-io/iop [iop]&lt;br /&gt;
	device_reset = /arm-io/pmgr['ARST'](0x0000002E)&lt;br /&gt;
	jtag_enable = /arm-io/gpio['GPIO'](0x00001503, 0x00000101)&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
0091B250: /arm-io/usb-otg/usb-device [usb-device]&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
0091B660: /arm-io/usb-otg/usb-host [usb-host]&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
0091C310: /arm-io/clcd [clcd]&lt;br /&gt;
	lcd_enable = /arm-io/mipi-dsim/lcd['lcdE']()&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
0091C9F0: /arm-io/mipi-dsim [mipi-dsim]&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
0091D0A0: /arm-io/swi [swi]&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
0091D0E0: /arm-io/mipi-dsim/lcd [lcd]&lt;br /&gt;
	reset = /arm-io/gpio['GPIO'](0x00000500, 0x00000001)&lt;br /&gt;
	lcd_ldo = /arm-io/i2c0/pmu['pmuL'](0x0BB80100)&lt;br /&gt;
	interrupt-parent = /arm-io/gpio&lt;br /&gt;
0091DDE0: /arm-io/audio-complex [audio-complex]&lt;br /&gt;
	dma-parent = /arm-io/cdma&lt;br /&gt;
0091E490: /arm-io/i2s0 [i2s]&lt;br /&gt;
	mclk_frequency = /arm-io/audio-complex['MCLK']()&lt;br /&gt;
	dout = /arm-io/gpio['GPIO'](0x00001703, 0x02000000)&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
	dma-parent = /arm-io/audio-complex&lt;br /&gt;
0091E5B0: /arm-io/i2s1 [i2s]&lt;br /&gt;
	mclk_frequency = /arm-io/audio-complex['MCLK']()&lt;br /&gt;
	dout = /arm-io/gpio['GPIO'](0x00001800, 0x02000000)&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
	dma-parent = /arm-io/audio-complex&lt;br /&gt;
0091EE30: /arm-io/i2s0/audio0 [audio-data]&lt;br /&gt;
0091F230: /arm-io/i2s2 [i2s]&lt;br /&gt;
	dout = /arm-io/gpio['GPIO'](0x00001805, 0x02000000)&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
	dma-parent = /arm-io/audio-complex&lt;br /&gt;
0091FA80: /arm-io/i2s1/audio1 [audio-data]&lt;br /&gt;
00920790: /arm-io/amc [amc]&lt;br /&gt;
	device_reset = /arm-io/pmgr['ARST'](0x00000018)&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
009207D0: /arm-io/i2s2/audio2 [audio-data]&lt;br /&gt;
00921260: /arm-io/jpeg [jpeg]&lt;br /&gt;
	interrupt-parent = /arm-io/vic&lt;br /&gt;
009225C0: /dock [dock]&lt;br /&gt;
	read_acc = /arm-io/i2c0/pmu['pmuA'](0x00000003)&lt;br /&gt;
	acc_sw_en = /arm-io/i2c0/pmu['pmuL'](0x80000005)&lt;br /&gt;
	acc_detect = /arm-io/i2c0/pmu['STAT'](0x00000005)&lt;br /&gt;
	acc_pwr = /arm-io/i2c0/pmu['pmuL'](0x0CE40005)&lt;br /&gt;
	interrupt-parent = /arm-io/i2c0/pmu&lt;br /&gt;
00922D60: /charger [charger]&lt;br /&gt;
	battery_pack = /dock['accA'](0x0000000B)&lt;br /&gt;
	set_dmonitor = /arm-io/otgphyctrl['DMON'](0x00000000)&lt;br /&gt;
00923410: /baseband [baseband]&lt;br /&gt;
	bb_rst = /arm-io/gpio['GPIO'](0x00001407, 0x00000101)&lt;br /&gt;
	bt_reset = /arm-io/gpio['GPIO'](0x00001506, 0x00000001)&lt;br /&gt;
	radio_on = /arm-io/gpio['GPIO'](0x00001405, 0x00000101)&lt;br /&gt;
	bb_on = /arm-io/i2c0/pmu['GPIO'](0x00000002, 0x00010001)&lt;br /&gt;
	bb_usart0_rxd_ctrl = /arm-io/gpio['GPIO'](0x00000F02, 0x00010101)&lt;br /&gt;
	wlan_reset = /arm-io/gpio['GPIO'](0x00001605, 0x00000001)&lt;br /&gt;
	dock_uart_ctrl = /arm-io/i2c0/pmu['GPIO'](0x00000003, 0x00010101)&lt;br /&gt;
	reset_det = /arm-io/gpio['GPIO'](0x00001500, 0x00010000)&lt;br /&gt;
	umts_rxd_ctrl = /arm-io/gpio['GPIO'](0x00000F03, 0x00010101)&lt;br /&gt;
	sdio0_clk = /arm-io/gpio['GPIO'](0x00001102, 0x00010102)&lt;br /&gt;
	uart3_tx = /arm-io/gpio['GPIO'](0x00000806, 0x00000102)&lt;br /&gt;
	interrupt-parent = /arm-io/gpio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== GPIO ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;gpio&amp;gt;&lt;br /&gt;
0x0 = gpio_multi-touch_clock_enable&lt;br /&gt;
0x2 = gpio_baseband_bb_on&lt;br /&gt;
0x3 = gpio_baseband_dock_uart_ctrl&lt;br /&gt;
0x4 = gpio_audio0_hp_detect&lt;br /&gt;
0x5 = gpio_gas-gauge_battery_swi&lt;br /&gt;
0x306 = gpio_isp_sensor_shutdown&lt;br /&gt;
0x307 = gpio_isp_sensor_extclk&lt;br /&gt;
0x400 = gpio_i2c0_iic_scl&lt;br /&gt;
0x401 = gpio_i2c0_iic_sda&lt;br /&gt;
0x404 = gpio_i2c2_iic_scl&lt;br /&gt;
0x405 = gpio_i2c2_iic_sda&lt;br /&gt;
0x500 = gpio_lcd_reset&lt;br /&gt;
0x501 = gpio_pmu_keepact&lt;br /&gt;
0x706 = gpio_uart2_tx&lt;br /&gt;
0x802 = gpio_uart1_tx&lt;br /&gt;
0x804 = gpio_uart1_rts&lt;br /&gt;
0x806 = gpio_baseband_uart3_tx&lt;br /&gt;
0x900 = gpio_uart3_rts&lt;br /&gt;
0x902 = gpio_uart4_tx&lt;br /&gt;
0x906 = gpio_uart0_tx&lt;br /&gt;
0xA03 = gpio_tv-out_amp_enable&lt;br /&gt;
0xF02 = gpio_baseband_bb_usart0_rxd_ctrl&lt;br /&gt;
0xF03 = gpio_baseband_umts_rxd_ctrl&lt;br /&gt;
0x1102 = gpio_baseband_sdio0_clk&lt;br /&gt;
0x1204 = gpio_spi0_spi_cs0&lt;br /&gt;
0x1300 = gpio_multi-touch_enable_cs&lt;br /&gt;
0x1302 = gpio_spi2_mosi&lt;br /&gt;
0x1304 = gpio_spi2_srdy&lt;br /&gt;
0x1401 = gpio_multi-touch_reset&lt;br /&gt;
0x1403 = gpio_buttons_button_ringerab&lt;br /&gt;
0x1404 = gpio_sdio_device_wake&lt;br /&gt;
0x1405 = gpio_baseband_radio_on&lt;br /&gt;
0x1406 = gpio_audio0_reset&lt;br /&gt;
0x1407 = gpio_baseband_bb_rst&lt;br /&gt;
0x1500 = gpio_baseband_reset_det&lt;br /&gt;
0x1502 = gpio_usb_plugged_in          // not in devtree for some reason&lt;br /&gt;
0x1503 = gpio_iop_jtag_enable&lt;br /&gt;
0x1506 = gpio_baseband_bt_reset&lt;br /&gt;
0x1600 = gpio_buttons_button_volup&lt;br /&gt;
0x1601 = gpio_buttons_button_voldown&lt;br /&gt;
0x1602 = gpio_bluetooth_bt_wake&lt;br /&gt;
0x1605 = gpio_baseband_wlan_reset&lt;br /&gt;
0x1606 = gpio_buttons_button_menu&lt;br /&gt;
0x1607 = gpio_buttons_button_hold&lt;br /&gt;
0x1703 = gpio_i2s0_dout&lt;br /&gt;
0x1800 = gpio_i2s1_dout&lt;br /&gt;
0x1802 = gpio_spi2_mrdy&lt;br /&gt;
0x1805 = gpio_i2s2_dout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Interrupts ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;interrupts for /arm-io/gpio&amp;gt;&lt;br /&gt;
	int 00000000 = /arm-io/spi1/multi-touch&lt;br /&gt;
	int 00000001 = /arm-io/i2c2/als&lt;br /&gt;
	int 00000002 = /arm-io/mipi-dsim/lcd&lt;br /&gt;
	int 00000003 = /arm-io/i2c0/compass&lt;br /&gt;
	int 00000004 = /baseband&lt;br /&gt;
	int 00000005 = /buttons&lt;br /&gt;
	int 00000007 = /buttons&lt;br /&gt;
	int 00000090 = /arm-io/i2c0/compass&lt;br /&gt;
	int 0000009C = /arm-io/spi2&lt;br /&gt;
	int 0000009D = /arm-io/i2c0/pmu&lt;br /&gt;
	int 0000009E = /arm-io/i2c2/als&lt;br /&gt;
	int 000000A2 = /arm-io/i2c0/accelerometer&lt;br /&gt;
	int 000000A3 = /buttons&lt;br /&gt;
	int 000000A8 = /baseband&lt;br /&gt;
	int 000000AF = /arm-io/mipi-dsim/lcd&lt;br /&gt;
	int 000000B0 = /buttons&lt;br /&gt;
	int 000000B1 = /buttons&lt;br /&gt;
	int 000000B4 = /arm-io/spi1/multi-touch&lt;br /&gt;
	int 000000B6 = /buttons&lt;br /&gt;
	int 000000B7 = /buttons&lt;br /&gt;
&amp;lt;interrupts for /arm-io/i2c0/pmu&amp;gt;&lt;br /&gt;
	int 00000000 = /arm-io/i2c0/mikey&lt;br /&gt;
	int 00000005 = /dock&lt;br /&gt;
	int 00000014 = /arm-io/i2c0/audio0&lt;br /&gt;
	int 00000017 = /arm-io/i2c0/mikey&lt;br /&gt;
	int 00000054 = /arm-io/i2c0/mikey&lt;br /&gt;
&amp;lt;interrupts for /arm-io/vic&amp;gt;&lt;br /&gt;
	int 00000000 = /cpus/cpu0&lt;br /&gt;
	int 00000002 = /arm-io/nmi // not in devicetree, nand management interface&lt;br /&gt;
	int 00000003 = /arm-io/iop(dma)&lt;br /&gt;
	int 00000005 = /arm-io/pmu // also not in devicetree&lt;br /&gt;
	int 00000007 = /arm-io/swi&lt;br /&gt;
	int 00000009 = /arm-io/isp&lt;br /&gt;
	int 0000000A = /arm-io/isp&lt;br /&gt;
	int 0000000C = /arm-io/scaler&lt;br /&gt;
	int 0000000E = /arm-io/usb-otg/usb-host&lt;br /&gt;
	int 0000000F = /arm-io/pwm&lt;br /&gt;
	int 00000010 = /arm-io/pke&lt;br /&gt;
	int 00000011 = /arm-io/i2c2&lt;br /&gt;
	int 00000013 = /arm-io/i2c0&lt;br /&gt;
	int 00000014 = /arm-io/uart4&lt;br /&gt;
	int 00000015 = /arm-io/uart3&lt;br /&gt;
	int 00000016 = /arm-io/uart2&lt;br /&gt;
	int 00000017 = /arm-io/uart1&lt;br /&gt;
	int 00000018 = /arm-io/uart0&lt;br /&gt;
	int 0000001C = /arm-io/spi1&lt;br /&gt;
	int 0000001D = /arm-io/spi0&lt;br /&gt;
	int 0000001E = /arm-io/flash-controller0&lt;br /&gt;
	int 0000001F = /arm-io/flash-controller0&lt;br /&gt;
	int 00000020 = /arm-io/ceata&lt;br /&gt;
	int 00000021 = /arm-io/sha1&lt;br /&gt;
	int 00000022 = /arm-io/sdio&lt;br /&gt;
	int 00000023 = /arm-io/tv-out&lt;br /&gt;
	int 00000024 = /arm-io/mipi-dsim&lt;br /&gt;
	int 00000025 = /arm-io/clcd&lt;br /&gt;
	int 00000026 = /arm-io/venc&lt;br /&gt;
	int 00000027 = /arm-io/tv-out&lt;br /&gt;
	int 00000029 = /arm-io/sgx&lt;br /&gt;
	int 0000002A = /arm-io/vxd&lt;br /&gt;
	int 0000002B = /arm-io/cdma&lt;br /&gt;
	int 0000002C = /arm-io/cdma&lt;br /&gt;
	int 0000002D = /arm-io/cdma&lt;br /&gt;
	int 0000002E = /arm-io/cdma&lt;br /&gt;
	int 0000002F = /arm-io/cdma&lt;br /&gt;
	int 00000030 = /arm-io/cdma&lt;br /&gt;
	int 00000031 = /arm-io/cdma&lt;br /&gt;
	int 00000032 = /arm-io/cdma&lt;br /&gt;
	int 00000033 = /arm-io/cdma&lt;br /&gt;
	int 00000034 = /arm-io/cdma&lt;br /&gt;
	int 00000035 = /arm-io/cdma&lt;br /&gt;
	int 00000036 = /arm-io/cdma&lt;br /&gt;
	int 00000037 = /arm-io/cdma&lt;br /&gt;
	int 00000038 = /arm-io/cdma&lt;br /&gt;
	int 00000039 = /arm-io/cdma&lt;br /&gt;
	int 0000003A = /arm-io/cdma&lt;br /&gt;
	int 0000003B = /arm-io/cdma&lt;br /&gt;
	int 0000003C = /arm-io/cdma&lt;br /&gt;
	int 0000003D = /arm-io/cdma&lt;br /&gt;
	int 0000003E = /arm-io/cdma&lt;br /&gt;
	int 0000003F = /arm-io/cdma&lt;br /&gt;
	int 00000040 = /arm-io/cdma&lt;br /&gt;
	int 00000041 = /arm-io/cdma&lt;br /&gt;
	int 00000042 = /arm-io/cdma&lt;br /&gt;
	int 00000043 = /arm-io/cdma&lt;br /&gt;
	int 00000044 = /arm-io/cdma&lt;br /&gt;
	int 00000045 = /arm-io/cdma&lt;br /&gt;
	int 00000046 = /arm-io/amc&lt;br /&gt;
	int 00000047 = /arm-io/amc&lt;br /&gt;
	int 00000048 = /arm-io/amc&lt;br /&gt;
	int 00000049 = /arm-io/amc&lt;br /&gt;
	int 0000004A = /arm-io/amc&lt;br /&gt;
	int 0000004B = /arm-io/amc&lt;br /&gt;
	int 0000004C = /arm-io/amc&lt;br /&gt;
	int 0000004D = /arm-io/amc&lt;br /&gt;
	int 0000004E = /arm-io/amc&lt;br /&gt;
	int 0000004F = /arm-io/amc&lt;br /&gt;
	int 00000050 = /arm-io/amc&lt;br /&gt;
	int 00000051 = /arm-io/amc&lt;br /&gt;
	int 00000052 = /arm-io/amc&lt;br /&gt;
	int 00000053 = /arm-io/amc&lt;br /&gt;
	int 00000054 = /arm-io/amc&lt;br /&gt;
	int 00000055 = /arm-io/amc&lt;br /&gt;
	int 00000056 = /arm-io/amc&lt;br /&gt;
	int 00000057 = /arm-io/amc&lt;br /&gt;
	int 00000058 = /arm-io/amc&lt;br /&gt;
	int 00000059 = /arm-io/dart1&lt;br /&gt;
	int 0000005A = /arm-io/dart0&lt;br /&gt;
	int 0000005D = /arm-io/jpeg&lt;br /&gt;
	int 0000005E = /arm-io/gpio&lt;br /&gt;
	int 0000005F = /cpus/cpu0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DMA Channels ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;dma channels for /arm-io/audio-complex&amp;gt;&lt;br /&gt;
	dma 00000000 = /arm-io/i2s0&lt;br /&gt;
	dma 00000001 = /arm-io/i2s0&lt;br /&gt;
	dma 00000002 = /arm-io/i2s1&lt;br /&gt;
	dma 00000003 = /arm-io/i2s1&lt;br /&gt;
	dma 00000004 = /arm-io/i2s2&lt;br /&gt;
	dma 00000005 = /arm-io/i2s2&lt;br /&gt;
&amp;lt;dma channels for /arm-io/cdma&amp;gt;&lt;br /&gt;
	dma 00000000 = /arm-io/audio-complex&lt;br /&gt;
	dma 00000003 = /arm-io/sdio&lt;br /&gt;
	dma 00000004 = /arm-io/sha1&lt;br /&gt;
	dma 0000000A = /arm-io/uart1&lt;br /&gt;
	dma 0000000B = /arm-io/uart2&lt;br /&gt;
	dma 0000000C = /arm-io/uart3&lt;br /&gt;
	dma 0000000D = /arm-io/uart3&lt;br /&gt;
	dma 00000010 = /arm-io/spi2&lt;br /&gt;
	dma 00000011 = /arm-io/spi2&lt;br /&gt;
	dma 00000012 = /arm-io/spi1&lt;br /&gt;
	dma 00000013 = /arm-io/spi1&lt;br /&gt;
	dma 00000015 = /arm-io/audio-complex&lt;br /&gt;
	dma 00000016 = /arm-io/audio-complex&lt;br /&gt;
	dma 00000017 = /arm-io/audio-complex&lt;br /&gt;
	dma 00000018 = /arm-io/audio-complex&lt;br /&gt;
	dma 00010001 = /arm-io/uart3&lt;br /&gt;
	dma 00010004 = /arm-io/spi2&lt;br /&gt;
	dma 00040002 = /arm-io/audio-complex&lt;br /&gt;
	dma 00100004 = /arm-io/sha1&lt;br /&gt;
	dma 80000020 = /arm-io/sdio&lt;br /&gt;
	dma 801000A0 = /arm-io/sha1&lt;br /&gt;
	dma 82100010 = /arm-io/spi1&lt;br /&gt;
	dma 82100020 = /arm-io/spi1&lt;br /&gt;
	dma 82200010 = /arm-io/spi2&lt;br /&gt;
	dma 82200020 = /arm-io/spi2&lt;br /&gt;
	dma 82600024 = /arm-io/uart1&lt;br /&gt;
	dma 82700024 = /arm-io/uart2&lt;br /&gt;
	dma 82800020 = /arm-io/uart3&lt;br /&gt;
	dma 82800024 = /arm-io/uart3&lt;br /&gt;
	dma 84000000 = /arm-io/audio-complex&lt;br /&gt;
	dma 84000004 = /arm-io/audio-complex&lt;br /&gt;
	dma 84000008 = /arm-io/audio-complex&lt;br /&gt;
	dma 8400000C = /arm-io/audio-complex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Clock Gates ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;clock gates for clock id 16&amp;gt;&lt;br /&gt;
	gate 00000010 = /arm-io/sdio&lt;br /&gt;
&amp;lt;clock gates for clock id 17&amp;gt;&lt;br /&gt;
	gate 00000011 = /arm-io/sha1&lt;br /&gt;
&amp;lt;clock gates for clock id 18&amp;gt;&lt;br /&gt;
	gate 00000012 = /arm-io/ceata&lt;br /&gt;
&amp;lt;clock gates for clock id 19&amp;gt;&lt;br /&gt;
	gate 00000013 = /arm-io/flash-controller0&lt;br /&gt;
	gate 00000014 = /arm-io/flash-controller0&lt;br /&gt;
&amp;lt;clock gates for clock id 21&amp;gt;&lt;br /&gt;
	gate 00000015 = /arm-io/spi0&lt;br /&gt;
&amp;lt;clock gates for clock id 22&amp;gt;&lt;br /&gt;
	gate 00000016 = /arm-io/spi1&lt;br /&gt;
&amp;lt;clock gates for clock id 23&amp;gt;&lt;br /&gt;
	gate 00000017 = /arm-io/spi2&lt;br /&gt;
&amp;lt;clock gates for clock id 26&amp;gt;&lt;br /&gt;
	gate 0000001A = /arm-io/uart0&lt;br /&gt;
&amp;lt;clock gates for clock id 27&amp;gt;&lt;br /&gt;
	gate 0000001B = /arm-io/uart1&lt;br /&gt;
&amp;lt;clock gates for clock id 28&amp;gt;&lt;br /&gt;
	gate 0000001C = /arm-io/uart2&lt;br /&gt;
&amp;lt;clock gates for clock id 29&amp;gt;&lt;br /&gt;
	gate 0000001D = /arm-io/uart3&lt;br /&gt;
&amp;lt;clock gates for clock id 30&amp;gt;&lt;br /&gt;
	gate 0000001E = /arm-io/uart4&lt;br /&gt;
&amp;lt;clock gates for clock id 31&amp;gt;&lt;br /&gt;
	gate 0000001F = /arm-io/pke&lt;br /&gt;
&amp;lt;clock gates for clock id 32&amp;gt;&lt;br /&gt;
	gate 00000020 = /arm-io/i2c0&lt;br /&gt;
&amp;lt;clock gates for clock id 34&amp;gt;&lt;br /&gt;
	gate 00000022 = /arm-io/i2c2&lt;br /&gt;
&amp;lt;clock gates for clock id 35&amp;gt;&lt;br /&gt;
	gate 00000023 = /arm-io/pwm&lt;br /&gt;
&amp;lt;clock gates for clock id 36&amp;gt;&lt;br /&gt;
	gate 00000024 = /arm-io/otgphyctrl&lt;br /&gt;
&amp;lt;clock gates for clock id 37&amp;gt;&lt;br /&gt;
	gate 00000025 = /arm-io/usb-otg&lt;br /&gt;
&amp;lt;clock gates for clock id 39&amp;gt;&lt;br /&gt;
	gate 00000027 = /arm-io/iop&lt;br /&gt;
&amp;lt;clock gates for clock id 40&amp;gt;&lt;br /&gt;
	gate 00000028 = /arm-io/vxd&lt;br /&gt;
&amp;lt;clock gates for clock id 41&amp;gt;&lt;br /&gt;
	gate 00000029 = /arm-io/sgx&lt;br /&gt;
&amp;lt;clock gates for clock id 42&amp;gt;&lt;br /&gt;
	gate 0000002A = /arm-io/clcd&lt;br /&gt;
&amp;lt;clock gates for clock id 43&amp;gt;&lt;br /&gt;
	gate 0000002B = /arm-io/scaler&lt;br /&gt;
&amp;lt;clock gates for clock id 44&amp;gt;&lt;br /&gt;
	gate 0000002C = /arm-io/tv-out&lt;br /&gt;
&amp;lt;clock gates for clock id 45&amp;gt;&lt;br /&gt;
	gate 0000002D = /arm-io/dart0&lt;br /&gt;
&amp;lt;clock gates for clock id 46&amp;gt;&lt;br /&gt;
	gate 0000002E = /arm-io/venc&lt;br /&gt;
&amp;lt;clock gates for clock id 47&amp;gt;&lt;br /&gt;
	gate 0000002F = /arm-io/jpeg&lt;br /&gt;
&amp;lt;clock gates for clock id 48&amp;gt;&lt;br /&gt;
	gate 00000030 = /arm-io/isp&lt;br /&gt;
	gate 00000031 = /arm-io/isp&lt;br /&gt;
	gate 00000032 = /arm-io/isp&lt;br /&gt;
&amp;lt;clock gates for clock id 51&amp;gt;&lt;br /&gt;
	gate 00000033 = /arm-io/dart1&lt;br /&gt;
&amp;lt;clock gates for clock id 52&amp;gt;&lt;br /&gt;
	gate 00000034 = /arm-io/mipi-dsim&lt;br /&gt;
&amp;lt;clock gates for clock id 53&amp;gt;&lt;br /&gt;
	gate 00000035 = /arm-io/swi&lt;br /&gt;
	gate 00000036 = /arm-io/swi&lt;br /&gt;
&amp;lt;clock gates for clock id 55&amp;gt;&lt;br /&gt;
	gate 00000037 = /arm-io/audio-complex&lt;br /&gt;
&amp;lt;clock gates for clock id 56&amp;gt;&lt;br /&gt;
	gate 00000038 = /arm-io/amc&lt;br /&gt;
&amp;lt;clock gates for clock id 57&amp;gt;&lt;br /&gt;
	gate 00000039 = /arm-io/i2s0&lt;br /&gt;
&amp;lt;clock gates for clock id 58&amp;gt;&lt;br /&gt;
	gate 0000003A = /arm-io/i2s1&lt;br /&gt;
&amp;lt;clock gates for clock id 59&amp;gt;&lt;br /&gt;
	gate 0000003B = /arm-io/i2s2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=A4&amp;diff=5826</id>
		<title>A4</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=A4&amp;diff=5826"/>
		<updated>2010-02-14T09:56:01Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A4 is a SoC designed by Apple in-house chip design department. It is used in [[k48ap|iPad]].&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
* '''CPU''': ARM Cortex-A9 MPCore&lt;br /&gt;
* '''GPU''': PowerVR SGX 545&lt;br /&gt;
* '''A/V Playback''': PowerVR VXD&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* http://www.apple.com/ipad/specs/&lt;br /&gt;
* http://www.brightsideofnews.com/news/2010/1/27/apple-a4-soc-unveiled---its-an-arm-cpu-and-the-gpu!.aspx&lt;br /&gt;
* http://infocenter.arm.com/help/topic/com.arm.doc.ddi0407e/DDI0407E_cortex_a9_mpcore_r2p0_trm.pdf&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IBoot_(Bootloader)&amp;diff=5825</id>
		<title>IBoot (Bootloader)</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IBoot_(Bootloader)&amp;diff=5825"/>
		<updated>2010-02-14T09:54:20Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: /* Commands used as an exploit vector */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:iBoot}}&lt;br /&gt;
This is Apple's stage 2 bootloader for all of the iDevices. It runs what is known as [[Recovery Mode]]. It has an interactive interface which can be used over USB or serial.&lt;br /&gt;
&lt;br /&gt;
== Revisions ==&lt;br /&gt;
* [[iBoot-99]] (1A420 a.k.a. Prototype)&lt;br /&gt;
* [[iBoot-159]] (1.0.x)&lt;br /&gt;
* [[iBoot-204]] (1.1 and 1.1.1 3A109a)&lt;br /&gt;
* [[iBoot-204.0.2]] (1.1.1 3A110a)&lt;br /&gt;
* [[iBoot-204.2.9]] (1.1.2)&lt;br /&gt;
* [[iBoot-204.3.14]] (1.1.3 and 1.1.4)&lt;br /&gt;
* [[iBoot-204.3.16]] (1.1.5)&lt;br /&gt;
* [[iBoot-320.20]] (2.0.x)&lt;br /&gt;
* [[iBoot-385.22]] (2.1 and 2.1.1)&lt;br /&gt;
* [[iBoot-385.49]] (2.2 and 2.2.1)&lt;br /&gt;
* [[iBoot-596.24]] (3.0 and 3.0.1)&lt;br /&gt;
* [[iBoot-636.65]] (3.1 and 3.1.1)&lt;br /&gt;
* [[iBoot-636.66]] (3.1.1 7C146 and 3.1.2)&lt;br /&gt;
* [[iBoot-636.66.33]] (3.1.3)&lt;br /&gt;
&lt;br /&gt;
==Commands used as an exploit vector==&lt;br /&gt;
* '''diags''': Until 2.0 beta 6, the [[diags]] command would jump to code at the address provided to it. For example, if you sent &amp;quot;diags 0x9000000&amp;quot;, it would directly jump to the code at written to 0x9000000. There is now a check that only allows engineering devices to utilize this backdoor.&lt;br /&gt;
* '''arm7_go''': For firmware 2.1.1, the [[N72ap|iPod touch 2G]] iBoot contains the [[ARM7 Go]] command, which could be used to run a payload on the ARM7 in the device.&lt;br /&gt;
&lt;br /&gt;
==OpeniBoot==&lt;br /&gt;
There is an open source version of iBoot being made so that Linux on the iPhone will work. You can check out the source [http://github.com/planetbeing/iphonelinux/tree/master/openiboot here]. It is VERY useful if you are ever reversing iBoot and do not feel like finding out what certain hardware registers are yourself.&lt;br /&gt;
&lt;br /&gt;
==Remappings==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// n88&lt;br /&gt;
0x4FF00000 =&amp;gt; 0x0&lt;br /&gt;
0x40000000 =&amp;gt; 0xC0000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[iBoot (Enums)]]&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IBoot_(Bootloader)&amp;diff=5824</id>
		<title>IBoot (Bootloader)</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IBoot_(Bootloader)&amp;diff=5824"/>
		<updated>2010-02-14T09:53:57Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: /* Commands used as an exploit vector */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:iBoot}}&lt;br /&gt;
This is Apple's stage 2 bootloader for all of the iDevices. It runs what is known as [[Recovery Mode]]. It has an interactive interface which can be used over USB or serial.&lt;br /&gt;
&lt;br /&gt;
== Revisions ==&lt;br /&gt;
* [[iBoot-99]] (1A420 a.k.a. Prototype)&lt;br /&gt;
* [[iBoot-159]] (1.0.x)&lt;br /&gt;
* [[iBoot-204]] (1.1 and 1.1.1 3A109a)&lt;br /&gt;
* [[iBoot-204.0.2]] (1.1.1 3A110a)&lt;br /&gt;
* [[iBoot-204.2.9]] (1.1.2)&lt;br /&gt;
* [[iBoot-204.3.14]] (1.1.3 and 1.1.4)&lt;br /&gt;
* [[iBoot-204.3.16]] (1.1.5)&lt;br /&gt;
* [[iBoot-320.20]] (2.0.x)&lt;br /&gt;
* [[iBoot-385.22]] (2.1 and 2.1.1)&lt;br /&gt;
* [[iBoot-385.49]] (2.2 and 2.2.1)&lt;br /&gt;
* [[iBoot-596.24]] (3.0 and 3.0.1)&lt;br /&gt;
* [[iBoot-636.65]] (3.1 and 3.1.1)&lt;br /&gt;
* [[iBoot-636.66]] (3.1.1 7C146 and 3.1.2)&lt;br /&gt;
* [[iBoot-636.66.33]] (3.1.3)&lt;br /&gt;
&lt;br /&gt;
==Commands used as an exploit vector==&lt;br /&gt;
* ''diags'': Until 2.0 beta 6, the [[diags]] command would jump to code at the address provided to it. For example, if you sent &amp;quot;diags 0x9000000&amp;quot;, it would directly jump to the code at written to 0x9000000. There is now a check that only allows engineering devices to utilize this backdoor.&lt;br /&gt;
* ''arm7_go'': For firmware 2.1.1, the [[N72ap|iPod touch 2G]] iBoot contains the [[ARM7 Go]] command, which could be used to run a payload on the ARM7 in the device.&lt;br /&gt;
&lt;br /&gt;
==OpeniBoot==&lt;br /&gt;
There is an open source version of iBoot being made so that Linux on the iPhone will work. You can check out the source [http://github.com/planetbeing/iphonelinux/tree/master/openiboot here]. It is VERY useful if you are ever reversing iBoot and do not feel like finding out what certain hardware registers are yourself.&lt;br /&gt;
&lt;br /&gt;
==Remappings==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// n88&lt;br /&gt;
0x4FF00000 =&amp;gt; 0x0&lt;br /&gt;
0x40000000 =&amp;gt; 0xC0000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[iBoot (Enums)]]&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IBoot_(Bootloader)&amp;diff=5823</id>
		<title>IBoot (Bootloader)</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IBoot_(Bootloader)&amp;diff=5823"/>
		<updated>2010-02-14T09:53:38Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: /* Commands used as an exploit vector */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:iBoot}}&lt;br /&gt;
This is Apple's stage 2 bootloader for all of the iDevices. It runs what is known as [[Recovery Mode]]. It has an interactive interface which can be used over USB or serial.&lt;br /&gt;
&lt;br /&gt;
== Revisions ==&lt;br /&gt;
* [[iBoot-99]] (1A420 a.k.a. Prototype)&lt;br /&gt;
* [[iBoot-159]] (1.0.x)&lt;br /&gt;
* [[iBoot-204]] (1.1 and 1.1.1 3A109a)&lt;br /&gt;
* [[iBoot-204.0.2]] (1.1.1 3A110a)&lt;br /&gt;
* [[iBoot-204.2.9]] (1.1.2)&lt;br /&gt;
* [[iBoot-204.3.14]] (1.1.3 and 1.1.4)&lt;br /&gt;
* [[iBoot-204.3.16]] (1.1.5)&lt;br /&gt;
* [[iBoot-320.20]] (2.0.x)&lt;br /&gt;
* [[iBoot-385.22]] (2.1 and 2.1.1)&lt;br /&gt;
* [[iBoot-385.49]] (2.2 and 2.2.1)&lt;br /&gt;
* [[iBoot-596.24]] (3.0 and 3.0.1)&lt;br /&gt;
* [[iBoot-636.65]] (3.1 and 3.1.1)&lt;br /&gt;
* [[iBoot-636.66]] (3.1.1 7C146 and 3.1.2)&lt;br /&gt;
* [[iBoot-636.66.33]] (3.1.3)&lt;br /&gt;
&lt;br /&gt;
==Commands used as an exploit vector==&lt;br /&gt;
* **diags**: Until 2.0 beta 6, the [[diags]] command would jump to code at the address provided to it. For example, if you sent &amp;quot;diags 0x9000000&amp;quot;, it would directly jump to the code at written to 0x9000000. There is now a check that only allows engineering devices to utilize this backdoor.&lt;br /&gt;
* **arm7_go**: For firmware 2.1.1, the [[N72ap|iPod touch 2G]] iBoot contains the [[ARM7 Go]] command, which could be used to run a payload on the ARM7 in the device.&lt;br /&gt;
&lt;br /&gt;
==OpeniBoot==&lt;br /&gt;
There is an open source version of iBoot being made so that Linux on the iPhone will work. You can check out the source [http://github.com/planetbeing/iphonelinux/tree/master/openiboot here]. It is VERY useful if you are ever reversing iBoot and do not feel like finding out what certain hardware registers are yourself.&lt;br /&gt;
&lt;br /&gt;
==Remappings==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// n88&lt;br /&gt;
0x4FF00000 =&amp;gt; 0x0&lt;br /&gt;
0x40000000 =&amp;gt; 0xC0000000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[iBoot (Enums)]]&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Kernelcache&amp;diff=5787</id>
		<title>Kernelcache</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Kernelcache&amp;diff=5787"/>
		<updated>2010-02-03T21:39:23Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The kernelcache is basically the kernel itself as well as all of its extensions (AppleImage3NORAccess, IOAESAccelerator, IOPKEAccelerator, etc.) into one file, then packed / encrypted in an [[IMG3 File Format|IMG3]] (Firmware 2.0 and above) or [[8900 File Format|8900]] (Firmwares 1.0 [production] through 1.1.4) container.&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IBoot-636.66.33&amp;diff=5783</id>
		<title>IBoot-636.66.33</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IBoot-636.66.33&amp;diff=5783"/>
		<updated>2010-02-03T19:46:45Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Changes ==&lt;br /&gt;
* [[usb_control_msg(0x21, 2) Exploit]] fixed&lt;br /&gt;
* There are no longer assert()'s for the usb otg hardware handler functions, normally checked for in usb_core_init();&lt;br /&gt;
* Two new tasks: usb-high-current and usb-no-current&lt;br /&gt;
&lt;br /&gt;
== Allowed ==&lt;br /&gt;
=== Commands ===&lt;br /&gt;
* [[bootx (iBoot command)|bootx]]&lt;br /&gt;
* [[reboot (iBoot command)|reboot]]&lt;br /&gt;
* [[reboot (iBoot command)|reset]]&lt;br /&gt;
* [[bgcolor (iBoot command)|bgcolor]]&lt;br /&gt;
* [[setpicture (iBoot command)|setpicture]]&lt;br /&gt;
* [[go (iBoot command)|go]]&lt;br /&gt;
* [[ramdisk (iBoot command)|ramdisk]]&lt;br /&gt;
* [[devicetree (iBoot command)|devicetree]]&lt;br /&gt;
* [[getenv (iBoot command)|getenv]]&lt;br /&gt;
* [[setenv (iBoot command)|setenv]]&lt;br /&gt;
* [[saveenv (iBoot command)|saveenv]]&lt;br /&gt;
&lt;br /&gt;
=== Environmental Vars ===&lt;br /&gt;
* [[auto-boot (iBoot variable)|auto-boot]]&lt;br /&gt;
* [[boot-args (iBoot variable)|boot-args]]&lt;br /&gt;
* [[debug-uarts (iBoot variable)|debug-uarts]]&lt;br /&gt;
* [[filesize (iBoot variable)|filesize]]&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Recovery_Mode&amp;diff=5782</id>
		<title>Recovery Mode</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Recovery_Mode&amp;diff=5782"/>
		<updated>2010-02-03T17:41:12Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Recovery Mode is a failsafe in [[iBoot]] that is used to reflash the device with a new OS, whether the currently installed one is somehow damaged or the device is undergoing an upgrade via [[iTunes]].&lt;br /&gt;
&lt;br /&gt;
== Entering Recovery Mode ==&lt;br /&gt;
# Turn the device completely off and disconnect it from cable/dock.&lt;br /&gt;
# Hold down the home button.&lt;br /&gt;
# While holding down the home button connect to a computer with a cable (easiest) or dock.&lt;br /&gt;
# Keep holding down the home button until you see a connect-to-[[iTunes]] screen (on a QuickPwn'ed phone a drawing of Steve might be shown). You are now in recovery mode.&lt;br /&gt;
&lt;br /&gt;
To escape Recovery Mode and power the phone off simply hold down power and home buttons for ten seconds.&lt;br /&gt;
&lt;br /&gt;
==Protocols==&lt;br /&gt;
*[[Recovery Mode 0x1280]] in pre-2.0&lt;br /&gt;
*[[Recovery Mode 0x1281]] in 2.0 and above&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Debug-uarts_(iBoot_variable)&amp;diff=5781</id>
		<title>Debug-uarts (iBoot variable)</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Debug-uarts_(iBoot_variable)&amp;diff=5781"/>
		<updated>2010-02-03T17:39:28Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: New page: If set to 1, LLB and iBoot will give debug output over serial while booting or while in Recovery Mode]. This allows you to see things like the list of firmware images in flash ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If set to 1, [[LLB]] and [[iBoot]] will give debug output over serial while booting or while in [[Recovery Mode]]]. This allows you to see things like the list of firmware images in flash and the information that it output whilst the LCD is initialized (ie. pre-&amp;quot;[[Recovery Mode]]&amp;quot; output).&lt;br /&gt;
&lt;br /&gt;
Note that as a consequence, when set to 1, output over USB may be very choppy for reasons that have not yet been investigated.&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Auto-boot_(iBoot_variable)&amp;diff=5780</id>
		<title>Auto-boot (iBoot variable)</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Auto-boot_(iBoot_variable)&amp;diff=5780"/>
		<updated>2010-02-03T17:35:46Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: New page: If set to false or 0, the device will boot straight into recovery mode when powered on. iBoot is what checks for this variable while booting. If set to true or 1, the device will boot ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If set to false or 0, the device will boot straight into recovery mode when powered on. [[iBoot]] is what checks for this variable while booting. If set to true or 1, the device will boot normally.&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IBoot-636.66.33&amp;diff=5779</id>
		<title>IBoot-636.66.33</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IBoot-636.66.33&amp;diff=5779"/>
		<updated>2010-02-03T17:33:59Z</updated>

		<summary type="html">&lt;p&gt;WillStrafach: New page: == Allowed == === Commands === * bootx * reboot * reset * bgcolor * [[setpicture...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Allowed ==&lt;br /&gt;
=== Commands ===&lt;br /&gt;
* [[bootx (iBoot command)|bootx]]&lt;br /&gt;
* [[reboot (iBoot command)|reboot]]&lt;br /&gt;
* [[reboot (iBoot command)|reset]]&lt;br /&gt;
* [[bgcolor (iBoot command)|bgcolor]]&lt;br /&gt;
* [[setpicture (iBoot command)|setpicture]]&lt;br /&gt;
* [[go (iBoot command)|go]]&lt;br /&gt;
* [[ramdisk (iBoot command)|ramdisk]]&lt;br /&gt;
* [[devicetree (iBoot command)|devicetree]]&lt;br /&gt;
* [[getenv (iBoot command)|getenv]]&lt;br /&gt;
* [[setenv (iBoot command)|setenv]]&lt;br /&gt;
* [[saveenv (iBoot command)|saveenv]]&lt;br /&gt;
&lt;br /&gt;
=== Environmental Vars ===&lt;br /&gt;
* [[auto-boot (iBoot variable)|auto-boot]]&lt;br /&gt;
* [[boot-args (iBoot variable)|boot-args]]&lt;br /&gt;
* [[debug-uarts (iBoot variable)|debug-uarts]]&lt;br /&gt;
* [[filesize (iBoot variable)|filesize]]&lt;/div&gt;</summary>
		<author><name>WillStrafach</name></author>
		
	</entry>
</feed>