Difference between revisions of "TYPE"

From The iPhone Wiki
Jump to: navigation, search
m
(fixed table and added link for diags)
(17 intermediate revisions by 5 users not shown)
Line 1: Line 1:
The '''TYPE''' tag is a 32-bit unsigned integer (<code>uint32_t</code>) that when viewed in big-endian(?) format, states the type of firmware image the IMG2/[[IMG3 File Format|IMG3]] is. Is is compared with the second parameter of <code>[[image_load]]</code> (register <code>r1</code><sup>[1]</sup>). If it does not match, <code>image_load(void);</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 ===
* [[Ramdisk]]: rdsk (0x7264736B)
 
  +
{|class="wikitable"
* [[Apple Logo]]: logo (0x6C6F676F)
 
  +
! Name
* [[BatteryCharging0]]:
 
  +
! Type
* [[BatteryCharging1]]:
 
  +
|-
* [[BatteryFull]]:
 
* [[BatteryLow0]]:
+
| [[AppleLogo]]
  +
| logo
* [[BatteryLow1]]:
 
  +
|-
* [[DeviceTree]]:
 
  +
| batC
* [[GlyphPlugin]]:
 
  +
|-
* [[iBEC]]: ibec (0x69626563)
 
* [[iBoot]]: ibot
+
| [[BatteryLow0]]
  +
| batl
* [[iBSS]]: ibss
 
  +
|-
* [[Kernelcache]]: krnl (0x62736E6C)
 
  +
| [[BatteryLow1]]
* [[LLB]]: illb (0x696C6C62)
 
  +
| batL
* [[NeedService]]:
 
  +
|-
* [[RecoveryMode]]: recm (0x7265636D)
 
* [[GlyphCharging]]:
+
| [[BatteryCharging]]
  +
| [[DeviceTree]]
  +
| dtre
  +
|-
  +
| [[iBoot (Bootloader)|iBoot]]
  +
| ibot
  +
|-
  +
| [[LLB]]
  +
| llbz
  +
|-
  +
| [[NeedService]]
  +
| nsrv
  +
|-
  +
| [[RecoveryMode]]
  +
| recm
  +
|-
  +
|}
  +
  +
=== IMG3+ ===
  +
{|class="wikitable"
  +
! Name
  +
! Type
  +
! Notes
  +
|-
  +
| Any
  +
| <code>0x00</code>
  +
| 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 <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
  +
|
  +
|-
  +
| [[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
  +
|
  +
|-
  +
| Boot Chime
  +
| aubt
  +
|
  +
|-
  +
| Accessibility Chime
  +
| auac
  +
|
  +
|-
  +
| Attach Chime
  +
| aupr
  +
|
  +
|-
  +
| 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 ==
  +
<references />
# [https://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARMv6FunctionCallingConventions.html Apple on ARM __fastcall]
 
   
 
{{stub|firmware}}
 
{{stub|firmware}}

Revision as of 06:28, 11 February 2021

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
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
Boot Chime aubt
Accessibility Chime auac
Attach Chime aupr
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.