Difference between revisions of "TYPE"

From The iPhone Wiki
Jump to: navigation, search
m (Changed a few things)
 
(7 intermediate revisions by 3 users not shown)
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 value 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)
 
  +
|-
* [[Kernelcache]]: krnl (0x62736E6C)
 
  +
| ANE Firmware
* Kernelcache restore: rkrn
 
  +
| anef
* [[LLB]]: illb (0x696C6C62)
 
  +
|
* [[NeedService]]: nsrv (0x6E737276)
 
  +
|-
* OS restore image: rosi
 
  +
| AOP
* PE’s RTOS environment: pert
 
  +
| aopf
* PE’s Hammer test: hmmr
 
  +
|
* [[Ramdisk]]: rdsk (0x7264736B)
 
  +
|-
* [[RecoveryMode]]: recm (0x7265636D)
 
  +
| [[AppleLogo]]
* [[SEP-Firmware]] (SEP OS): sepi (0x73657069)
 
  +
| logo
* SEP OS (restore): rsep
 
  +
| Used during boot
* 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
 
  +
|-
* SiVal’s RBM test: rbmt
 
  +
| Audio Codec Firmware
* SiVal’s PHLEET test: phlt
 
  +
| acfw
* tsys tester
 
  +
|
  +
|-
  +
| AVE Firmware
  +
| avef
  +
|
  +
|-
  +
| [[BatteryCharging0]]
  +
| chg0
  +
| Charging indicator (bright), used in the battery low screen
  +
|-
  +
| [[BatteryCharging1]]
  +
| chg1
  +
| Charging Indicator (dim), used in the battery low screen
  +
|-
  +
| [[BatteryFull]]
  +
| batF
  +
| Only used in China to indicate battery status while device is off.
  +
|-
  +
| [[BatteryLow0]]
  +
| bat0
  +
| Empty battery, used in the battery low screen
  +
|-
  +
| [[BatteryLow1]]
  +
| bat1
  +
| Red composed onto empty battery, used in the battery low screen
  +
|-
  +
| CFELoader
  +
| cfel
  +
| 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
  +
|-
  +
| [[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
  +
| Used in the battery low screen
  +
|-
  +
| [[GlyphPlugin]]
  +
| glyP
  +
| Used in the battery low screen
  +
|-
  +
| 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
  +
| Used in the battery low screen with power reserve enabled, allowing the iPhone to still use transit cards when the iPhone is off.
  +
|-
  +
| LowPowerWallet1
  +
| lpw1
  +
| Used in the battery low screen with power reserve enabled, allowing the iPhone to still use transit cards when the iPhone is off.
  +
|-
  +
| LowPowerWallet2
  +
| lpw2
  +
| Used in the battery low screen with power reserve enabled, allowing the iPhone to still use transit cards when the iPhone is off.
  +
|-
  +
| Mac EFI
  +
| mefi
  +
| Used only on T2 Macs
  +
|-
  +
| [[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
  +
| Used when device is in [[Recovery Mode]]
  +
|-
  +
| RestoreDeviceTree
  +
| rdtr
  +
|
  +
|-
  +
| RestoreKernelCache
  +
| rkrn
  +
|
  +
|-
  +
| RestoreLogo
  +
| rlgo
  +
| Same as appleLogo
  +
|-
  +
| 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
  +
|
  +
|-
  +
| [[Chime|Boot Chime]]
  +
| aubt
  +
| Raw audio file
  +
|-
  +
| [[Chime|Accessibility Chime]]
  +
| auac
  +
| Raw audio file
  +
|-
  +
| [[Chime|Attach Chime]]
  +
| aupr
  +
| Raw audio file
  +
|-
  +
| Aux Kernel Cache
  +
| auxk
  +
|
  +
|-
  +
| Base System Trust Cache
  +
| bstc
  +
|
  +
|-
  +
| x86 Base System Trust Cache
  +
| xbtc
  +
|
  +
|-
  +
| Base System Volume Root Hash
  +
| csys
  +
|
  +
|-
  +
| System Volume Root Hash
  +
| isys
  +
|
  +
|-
  +
| x86 System Volume Root hash
  +
| xsys
  +
|
  +
|-
  +
| System Volume Canonical Metadata
  +
| msys
  +
| Compressed gzip file
  +
|-
  +
| x86 System Volume Canonical Metadata
  +
| xsys
  +
| Compressed gzip file
  +
|-
  +
| Unknowns
  +
| ibdt, ansf (ANS (Storage Controller) Firmware?), rans, ciof, dcpf, tmuf, rpmp, lpol, rtmu, rcio, rdcp, nsrv
  +
|
  +
|-
  +
|}
   
 
== References ==
 
== References ==

Latest revision as of 10:30, 21 July 2022

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 value 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 Used during boot
Audio Codec Firmware acfw
AVE Firmware avef
BatteryCharging0 chg0 Charging indicator (bright), used in the battery low screen
BatteryCharging1 chg1 Charging Indicator (dim), used in the battery low screen
BatteryFull batF Only used in China to indicate battery status while device is off.
BatteryLow0 bat0 Empty battery, used in the battery low screen
BatteryLow1 bat1 Red composed onto empty battery, used in the battery low screen
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 Used in the battery low screen
GlyphPlugin glyP Used in the battery low screen
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 Used in the battery low screen with power reserve enabled, allowing the iPhone to still use transit cards when the iPhone is off.
LowPowerWallet1 lpw1 Used in the battery low screen with power reserve enabled, allowing the iPhone to still use transit cards when the iPhone is off.
LowPowerWallet2 lpw2 Used in the battery low screen with power reserve enabled, allowing the iPhone to still use transit cards when the iPhone is off.
Mac EFI mefi Used only on T2 Macs
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 Used when device is in Recovery Mode
RestoreDeviceTree rdtr
RestoreKernelCache rkrn
RestoreLogo rlgo Same as appleLogo
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
Boot Chime aubt Raw audio file
Accessibility Chime auac Raw audio file
Attach Chime aupr Raw audio file
Aux Kernel Cache auxk
Base System Trust Cache bstc
x86 Base System Trust Cache xbtc
Base System Volume Root Hash csys
System Volume Root Hash isys
x86 System Volume Root hash xsys
System Volume Canonical Metadata msys Compressed gzip file
x86 System Volume Canonical Metadata xsys Compressed gzip file
Unknowns ibdt, ansf (ANS (Storage Controller) Firmware?), rans, ciof, dcpf, tmuf, rpmp, lpol, rtmu, rcio, rdcp, nsrv

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.