Difference between revisions of "TYPE"

From The iPhone Wiki
Jump to: navigation, search
(oof)
(Reorganized into tables, updated information)
Line 1: Line 1:
The '''TYPE''' tag is a 32-bit unsigned integer (<code>uint32_t</code>) that when viewed in little-endian format, states the type of firmware image the IMG2/[[IMG3 File Format|IMG3]]/[[IMG4 File Format|IMG4/IM4P]] file is. Is is compared with the second parameter of <code>[[image_load]]</code> (register <code>r1</code><ref>[https://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARMv6FunctionCallingConventions.html Apple on ARM __fastcall]</ref>). If it does not match, <code>image_load</code> will fail and the image will not be loaded. If <code>0</code> is passed in <code>r1</code>, then the check is skipped.
+
The '''TYPE''' tag is a 32-bit unsigned integer (<code>uint32_t</code>) that, when viewed in little-endian format, states the type of firmware image the IMG2/[[IMG3 File Format|IMG3]]/[[IMG4 File Format|IMG4/IM4P]] file is. This type is passed to <code>load_selected_image</code> and then <code>[[Image load|image_load]]</code> early in the [[BootROM|SecureROM]] boot process, where a non-NULL pointer check is performed.
   
 
== Types ==
 
== Types ==
 
=== IMG2 ===
 
=== IMG2 ===
  +
{|class="wikitable"
* [[AppleLogo]]: logo (0x6C6F676F)
 
  +
! Name
* [[BatteryCharging]]: batC (0x62617443)
 
  +
! Type
* [[BatteryLow0]]: batl (0x6261744C)
 
  +
|-
* [[BatteryLow1]]: batL (0x6261746C)
 
  +
| [[AppleLogo]]
* [[DeviceTree]]: dtre (0x64747265)
 
  +
| logo
* [[iBoot (Bootloader)|iBoot]]: ibot (0x69626F74)
 
  +
|-
* [[LLB]]: llbz (0x6C6C627A)
 
  +
| [[BatteryCharging]]
* [[NeedService]]: nsrv (0x6E737276)
 
  +
| batC
* [[RecoveryMode]]: recm (0x7265636D)
 
  +
|-
  +
| [[BatteryLow0]]
  +
| batl
  +
|-
  +
| [[BatteryLow1]]
  +
| batL
  +
|-
  +
| [[DeviceTree]]
  +
| dtre
  +
|-
  +
| [[iBoot (Bootloader)|iBoot]]
  +
| ibot
  +
|-
  +
| [[LLB]]
  +
| llbz
  +
|-
  +
| [[NeedService]]
  +
| nsrv
  +
|-
  +
| [[RecoveryMode]]
  +
| recm
  +
|-
  +
|}
   
 
=== IMG3+ ===
 
=== IMG3+ ===
  +
{|class="wikitable"
* Any: ''empty string'' (0x00000000)
 
  +
! Name
* [[AppleLogo]]: logo (0x6C6F676F)
 
  +
! Type
* [[BatteryCharging0]] (charging – bright): chg0 (0x63686730)
 
  +
! Notes
* [[BatteryCharging1]] (charging – dim): chg1 (0x63686731)
 
  +
|-
* [[BatteryFull]]: batF (0x62617446)
 
  +
| Any
* [[BatteryLow0]] (empty): bat0 (0x62617430)
 
  +
| <code>0x00</code>
* [[BatteryLow1]] (red, composed onto empty): bat1 (0x62617431)
 
  +
| Represents ''any'' image type
* Dali: dali
 
  +
|-
* [[DeviceTree]]: dtre (0x64747265)
 
  +
| ACIBT
* DeviceTree restore: rdtr
 
  +
| acib
* Diagnostics: diag
 
  +
| ACI Bluetooth
* Environment variables: ienv
 
  +
|-
* FDR Trust object for AP: fdrt
 
  +
| ACIWIFI
* FDR Trust object for SEP: fdrs
 
  +
| aciw
* [[GlyphCharging]]: glyC (0x676C7943)
 
  +
| ACI WiFi
* [[GlyphPlugin]]: glyP (0x676C7950)
 
  +
|-
* Hypervisor/monitor: hypr
 
  +
| Alamo
* [[iBEC]]: ibec (0x69626563)
 
  +
| almo
* [[iBoot (Bootloader)|iBoot]]: ibot (0x69626F74)
 
  +
|-
* [[iBSS]]: ibss (0x69627373)
 
  +
| ANE Firmware
* [[Kernelcache]]: krnl (0x62736E6C)
 
  +
| anef
* Kernelcache restore: rkrn
 
  +
|-
* [[LLB]]: illb (0x696C6C62)
 
  +
| AOP
* [[NeedService]]: nsrv (0x6E737276)
 
  +
| aopf
* Restore Logo: rlgo
 
  +
|-
* OS restore image: rosi
 
  +
| [[AppleLogo]]
* PE’s RTOS environment : pert
 
  +
| logo
* PE’s Hammer test: hmmr
 
  +
|-
* Homer : homr
 
* Maggie Firmware : magg
+
| Audio Codec Firmware
  +
| acfw
* Alamo : almo
 
  +
|-
* Audio Codec Firmware : acfw
 
  +
| avef
* GPU Firmware : gfxf
 
  +
|-
* Wireless Power(?) : wchf
 
  +
| [[BatteryCharging0]]
* SmartIOFirmware : siof
 
  +
| chg0
* ANE Firmware : anef
 
  +
| Charging indicator (bright)
* Static Trust Cache : trst
 
  +
|-
* Restore Trust Cache : rtsc
 
  +
| [[BatteryCharging1]]
* EngineeringTrustcache: dtrs
 
  +
| chg1
* LoadableTrustCache: ltrs
 
  +
| Charging Indicator (dim)
* Low Power Wallet 0 : lpw0
 
  +
|-
* Low Power Wallet 1 : lpw1
 
  +
| [[BatteryFull]]
* Low Power Wallet 2 : lpw2
 
  +
| batF
* [[Ramdisk]]: rdsk (0x7264736B)
 
  +
|-
* [[RecoveryMode]]: recm (0x7265636D)
 
  +
| [[BatteryLow0]]
* [[SEP-Firmware]] (SEP OS): sepi (0x73657069)
 
  +
| bat0
* Restore SEP OS (the same tag is also present in sepboot): rsep
 
  +
| Empty battery
* AOP Firmware : aopf
 
  +
|-
* AVE : avef
 
  +
| [[BatteryLow1]]
* Input Device : ipdf
 
  +
| bat1
* Mac EFI : mefi
 
  +
| Red composed onto empty battery
* PMP : pmpf
 
  +
|-
* System Locker : lckr
 
  +
| CFELoader
* ACIWIFI : aciw
 
  +
| cfel
* ACIBT : acib
 
  +
| Silicon Validation <ref>[https://www.linkedin.com/jobs/view/silicon-validation-test-and-triage-engineer-at-apple-543262317 Job listing on LinkedIn]</ref> CFE loader
* LeapHaptics : lphp
 
  +
|-
* OSRamdisk : osrd
 
  +
| [[Dali]]
* WCHFirmwareUpdater : wchf
 
  +
| dali
* iBootTest : itst
 
  +
|-
* SCE : scef
 
  +
| [[DeviceTree]]
* RTP : rtpf
 
  +
| dtre
* PersonalizedDMG : pdmg
 
  +
|-
* SiVal’s (Silicon Validation<ref>[https://www.linkedin.com/jobs/view/silicon-validation-test-and-triage-engineer-at-apple-543262317 Job listing on LinkedIn]</ref>) CFE loader: cfel
 
  +
| Diags
* SiVal’s RBM test: rbmt
 
  +
| diag
* SiVal’s PHLEET test: phlt
 
  +
|-
* tsys tester
 
  +
| EngineeringTrustCache
* ispf
 
* Multitouch Firmware : mtfw
+
| AVE Firmware
  +
| dtrs
  +
|-
  +
| Environment Variables
  +
| ienv
  +
|-
  +
| FDR Trust Object for AP
  +
| fdrt
  +
|-
  +
| FDR Trust Object for SEP
  +
| fdrs
  +
|-
  +
| [[GlyphCharging]]
  +
| glyC
  +
|-
  +
| [[GlyphPlugin]]
  +
| glyP
  +
|-
  +
| GPU Firmware
  +
| gfxf
  +
|-
  +
| Homer
  +
| homr
  +
|-
  +
| Hypervisor
  +
| hypr
  +
|-
  +
| [[iBEC]]
  +
| ibec
  +
|-
  +
| [[iBoot (Bootloader)|iBoot]]
  +
| ibot
  +
|-
  +
| iBootTest
  +
| itst
  +
|-
  +
| [[iBSS]]
  +
| ibss
  +
|-
  +
| Input Device
  +
| ipdf
  +
|-
  +
| iSpoof(?)
  +
| ispf
  +
|-
  +
| [[Kernelcache|KernelCache]]
  +
| krnl
  +
|-
  +
| LeapHaptics
  +
| lphp
  +
|-
  +
| [[LLB]]
  +
| illb
  +
|-
  +
| LoadableTrustCache
  +
| ltrs
  +
|-
  +
| LowPowerWallet0
  +
| lpw0
  +
|-
  +
| LowPowerWallet1
  +
| lpw1
  +
|-
  +
| LowPowerWallet2
  +
| lpw2
  +
|-
  +
| Mac EFI
  +
| mefi
  +
|-
  +
| [[Maggie Firmware]]
  +
| magg
  +
|-
  +
| Multitouch Firmware
  +
| mtfw
  +
|-
  +
| [[NeedService]]
  +
| nsrv
  +
|-
  +
| OSRamdisk
  +
| osrd
  +
|-
  +
| PEHammer
  +
| hmmr
  +
| [[PE]] Hammer test
  +
|-
  +
| PersonalizedDMG
  +
| pdmg
  +
|-
  +
| PERTOS
  +
| pert
  +
| [[PE]] [https://en.wikipedia.org/wiki/Real-time_operating_system RTOS] environment
  +
|-
  +
| PHLEET
  +
| phlt
  +
| Silicon Validation PHLEET test
  +
|-
  +
| PMP
  +
| pmpf
  +
|-
  +
| [[Restore Ramdisk|RestoreRamDisk]]
  +
| rdsk
  +
|-
  +
| RBM
  +
| rbmt
  +
| Silicon Validation RBM test
  +
|-
  +
| [[RecoveryMode]]
  +
| recm
  +
|-
  +
| RestoreDeviceTree
  +
| rdtr
  +
|-
  +
| RestoreKernelCache
  +
| rkrn
  +
|-
  +
| RestoreLogo
  +
| rlgo
  +
|-
  +
| RestoreOS
  +
| rosi
  +
|-
  +
| RestoreSEP
  +
| rsep
  +
| rsep is also present in [[sepboot]]
  +
|-
  +
| RestoreTrustCache
  +
| rtsc
  +
|-
  +
| RTP
  +
| rtpf
  +
|-
  +
| SCE
  +
| scef
  +
|-
  +
| [[Secure Enclave Processor|SEP]]
  +
| sepi
  +
|-
  +
| SmartIOFirmware
  +
| siof
  +
|-
  +
| StaticTrustCache
  +
| trst
  +
|-
  +
| System Locker
  +
| lckr
  +
|-
  +
| TSYS Tester
  +
| tsys
  +
|-
  +
| WCHFirmwareUpdater
  +
| wchf
  +
|-
  +
| Wireless Charging
  +
| wchf
  +
|-
  +
|}
   
 
== References ==
 
== References ==

Revision as of 21:59, 20 April 2020

The TYPE tag is a 32-bit unsigned integer (uint32_t) that, when viewed in little-endian format, states the type of firmware image the IMG2/IMG3/IMG4/IM4P file is. This type is passed to load_selected_image and then image_load early in the SecureROM boot process, where a non-NULL pointer check is performed.

Types

IMG2

Name Type
AppleLogo logo
BatteryCharging batC
BatteryLow0 batl
BatteryLow1 batL
DeviceTree dtre
iBoot ibot
LLB llbz
NeedService nsrv
RecoveryMode recm

IMG3+

Name Type Notes
Any 0x00 Represents any image type
ACIBT acib ACI Bluetooth
ACIWIFI aciw ACI WiFi
Alamo almo
ANE Firmware anef
AOP aopf
AppleLogo logo
Audio Codec Firmware acfw
AVE Firmware avef
BatteryCharging0 chg0 Charging indicator (bright)
BatteryCharging1 chg1 Charging Indicator (dim)
BatteryFull batF
BatteryLow0 bat0 Empty battery
BatteryLow1 bat1 Red composed onto empty battery
CFELoader cfel Silicon Validation [1] CFE loader
Dali dali
DeviceTree dtre
Diags diag
EngineeringTrustCache dtrs
Environment Variables ienv
FDR Trust Object for AP fdrt
FDR Trust Object for SEP fdrs
GlyphCharging glyC
GlyphPlugin glyP
GPU Firmware gfxf
Homer homr
Hypervisor hypr
iBEC ibec
iBoot ibot
iBootTest itst
iBSS ibss
Input Device ipdf
iSpoof(?) ispf
KernelCache krnl
LeapHaptics lphp
LLB illb
LoadableTrustCache ltrs
LowPowerWallet0 lpw0
LowPowerWallet1 lpw1
LowPowerWallet2 lpw2
Mac EFI mefi
Maggie Firmware magg
Multitouch Firmware mtfw
NeedService nsrv
OSRamdisk osrd
PEHammer hmmr PE Hammer test
PersonalizedDMG pdmg
PERTOS pert PE RTOS environment
PHLEET phlt Silicon Validation PHLEET test
PMP pmpf
RestoreRamDisk rdsk
RBM rbmt Silicon Validation RBM test
RecoveryMode recm
RestoreDeviceTree rdtr
RestoreKernelCache rkrn
RestoreLogo rlgo
RestoreOS rosi
RestoreSEP rsep rsep is also present in sepboot
RestoreTrustCache rtsc
RTP rtpf
SCE scef
SEP sepi
SmartIOFirmware siof
StaticTrustCache trst
System Locker lckr
TSYS Tester tsys
WCHFirmwareUpdater wchf
Wireless Charging wchf

References

Tango Utilities-terminal.png This firmware article is a "stub", an incomplete page. Please add more content to this article and remove this tag.