Apple Firmware Volume Information (Type 128)
Source: the AppleSmBios.h header of OpenCore, Include/Apple/IndustryStandard.
Tells the features of the firmware, which macOS and its boot loader read,
and the layout of its flash memory. The features are 64 bits wide: the
structure holds their low 32 bits, and newer firmware their high 32 bits as
the extended features. apple/imac11-3.bin carries the structure of 88 bytes,
without the extended features.
| Offset | Version | Name | Length | Value | Description |
|---|---|---|---|---|---|
|
2.0+ |
Type |
|
|
Apple Firmware Volume Information indicator |
|
2.0+ |
Length |
|
Varies |
Length of the structure |
|
2.0+ |
Handle |
|
Varies |
|
|
2.0+ |
Number of Regions |
|
Varies |
Number of the regions of the flash memory |
|
2.0+ |
Reserved |
3 |
|
|
|
2.0+ |
Firmware Features |
|
Bit field |
Features of the firmware, bits 0 to 31, see Firmware Features |
|
2.0+ |
Firmware Features Mask |
|
Bit field |
Features the firmware tells |
|
2.0+ |
Region Type Map |
8 |
Enum |
Types of the regions, see Region Types |
|
2.0+ |
Flash Map |
64 |
Varies |
Start and end addresses of the regions, a |
|
2.0+ |
Extended Firmware Features |
|
Bit field |
Features of the firmware, bits 32 to 63, on newer firmware |
|
2.0+ |
Extended Firmware Features Mask |
|
Bit field |
Extended features the firmware tells, on newer firmware |
1. Apple Firmware Volume Information — Firmware Features
| Bit | Meaning |
|---|---|
0 |
Supports booting legacy operating systems (CSM) |
1 |
Supports booting from optical drives |
2 |
Supports target disk mode |
4 |
Supports network boot |
5 |
Supports the recovery embedded into the firmware (SlingShot) |
8 |
Supports wireless networks in the firmware |
10 |
Bit 0 of the platform security policy |
11 |
Bit 1 of the platform security policy |
12 |
Firmware is locked |
14 |
Supports USB 2.0 in the firmware |
17 |
USB ports are not substituted with others by macOS |
19 |
Supports APFS |
20 |
Supports APFS, unused by the known Macs |
22 |
Supports Apple tamper resistant boot X |
24 |
Supports the platform security policy |
25 |
Supports the extended features |
28 |
Memory map is not adjusted by the boot loader on hibernation wake |
29 |
Supports UEFI Windows boot |
31 |
Memory map is not adjusted by the boot loader for the boot script |
35 |
Supports the large BaseSystem, which macOS 12 requires |
The other bits are of no known meaning.
2. Apple Firmware Volume Information — Region Types
| Value | Meaning |
|---|---|
|
Entry is not used |
|
Recovery firmware |
|
Main firmware |
|
Non-volatile variables (NVRAM) |
|
Configuration |
|
Diagnostics vault |