Line 11: |
Line 11: |
| ! Bits || Field | | ! Bits || Field |
| |- | | |- |
− | | 31-28 || Red value | + | | 31-28 || Blue value |
| |- | | |- |
| | 27-24 || Green value | | | 27-24 || Green value |
| |- | | |- |
− | | 23-20 || Blue value | + | | 23-20 || Red value |
| |- | | |- |
| | 19-0 || Description | | | 19-0 || Description |
| |} | | |} |
| | | |
− | The red, green and blue values are nibbles which represent the color that will fill the panic screen. | + | The blue, green and red values are nibbles which represent the color that will fill the panic screen. |
| Each nibble is duplicated to form a full byte before writing the final color to the display's MMIO. | | Each nibble is duplicated to form a full byte before writing the final color to the display's MMIO. |
| | | |
| == Panic colors == | | == Panic colors == |
| + | Different colors are used to represent panic events coming from different execution levels within the system. |
| + | |
| {| class=wikitable | | {| class=wikitable |
− | ! Color || Value | + | ! Color || Value || Level |
| + | |- |
| + | | <div style="width: 60px; height: 20px; background:#000000;"></div> || 0x000000 || Default |
| + | |- |
| + | | <div style="width: 60px; height: 20px; background:#0000FF;"></div> || 0x0000FF || Kernel |
| |- | | |- |
− | | 0xFF0000 || Kernel | + | | <div style="width: 60px; height: 20px; background:#FF7700;"></div> || 0xFF7700 || Secure Monitor (exception vectors) |
| |- | | |- |
− | | 0xFFFF00 || Secure Monitor | + | | <div style="width: 60px; height: 20px; background:#00FFFF;"></div> || 0x00FFFF || Secure Monitor (general errors) |
| |- | | |- |
− | | 0xFFAA00 || Hardware? | + | | <div style="width: 60px; height: 20px; background:#00AAFF;"></div> || 0x00AAFF || Secure Monitor (deep sleep) [1.0.0+] |
| |- | | |- |
− | | 0xFF00AA || Bootloader (general errors) | + | | <div style="width: 60px; height: 20px; background:#FF77FF;"></div> || 0xFF77FF || Secure Monitor (deep sleep) [4.0.0+] |
| |- | | |- |
− | | 0xAAFFFF || Bootloader (wrong bootloader) | + | | <div style="width: 60px; height: 20px; background:#AA00FF;"></div> || 0xAA00FF || Bootloader (general errors) |
| + | |- |
| + | | <div style="width: 60px; height: 20px; background:#FFFFAA;"></div> || 0xFFFFAA || Bootloader (booting SafeMode) [1.0.0-3.0.2] |
| |} | | |} |
| | | |
| == Panic codes == | | == Panic codes == |
| + | While any combination of panic colors and codes is possible, several panic codes are specifically tied to a certain color. |
| + | |
| {| class=wikitable | | {| class=wikitable |
− | ! Value || Description | + | ! Value || Color || Description |
| + | |- |
| + | | 0x0 || Any || No information |
| + | |- |
| + | | 0x1 || <div style="width: 60px; height: 20px; background:#0000FF;"></div> || Package2 signature verification failed |
| |- | | |- |
− | | 0x0 || No information | + | | 0x2 || <div style="width: 60px; height: 20px; background:#0000FF;"></div> || Package2 meta verification failed |
| |- | | |- |
− | | 0x1 || Package2 signature verification failed | + | | 0x3 || <div style="width: 60px; height: 20px; background:#0000FF;"></div> || Package2 version check failed |
| |- | | |- |
− | | 0x2 || Package2 meta verification failed | + | | 0x4 || <div style="width: 60px; height: 20px; background:#0000FF;"></div> || Package2 payload verification failed |
| |- | | |- |
− | | 0x3 || Package2 version check failed | + | | 0x5 || <div style="width: 60px; height: 20px; background:#00FFFF;"></div> || Unknown SMC |
| |- | | |- |
− | | 0x4 || Package2 payload verification failed | + | | 0x6 || <div style="width: 60px; height: 20px; background:#00FFFF;"></div> || Unknown Abort |
| |- | | |- |
− | | 0x5 || Unknown SMC | + | | 0x7 || <div style="width: 60px; height: 20px; background:#FF77FF;"></div> || Invalid CPU context |
| |- | | |- |
− | | 0x6 || Unknown Abort | + | | 0x8 || <div style="width: 60px; height: 20px; background:#FF77FF;"></div> || Invalid SE state |
| |- | | |- |
− | | 0x7 || | + | | 0x9 || <div style="width: 60px; height: 20px; background:#FF77FF;"></div> || CPU is already awake [2.0.0+] |
| |- | | |- |
− | | 0x8 || | + | | 0x10 || <div style="width: 60px; height: 20px; background:#FF7700;"></div> || Unknown exception |
| |- | | |- |
− | | 0x10 || Unknown exception | + | | 0x20 || <div style="width: 60px; height: 20px; background:#000000;"></div> || Rebooting into SafeMode |
| |- | | |- |
− | | 0x20 || Rebooting into SafeMode | + | | 0x21 || <div style="width: 60px; height: 20px; background:#000000;"></div> || Rebooting for anti-downgrade |
| |- | | |- |
− | | 0x21 || Rebooting for anti-downgrade | + | | 0x30 || <div style="width: 60px; height: 20px; background:#AA00FF;"></div> || General bootloader error |
| |- | | |- |
− | | 0x30 || General bootloader error | + | | 0x31 || <div style="width: 60px; height: 20px; background:#AA00FF;"></div> || Invalid DRAM ID |
| |- | | |- |
− | | 0x31 || Invalid DRAM ID | + | | 0x32 || <div style="width: 60px; height: 20px; background:#AA00FF;"></div> || Invalid size |
| |- | | |- |
− | | 0x32 || Invalid size | + | | 0x33 || <div style="width: 60px; height: 20px; background:#AA00FF;"></div> || Invalid argument |
| |- | | |- |
− | | 0x33 || Invalid argument | + | | 0x34 || <div style="width: 60px; height: 20px; background:#AA00FF;"></div> || Bad GPT |
| |- | | |- |
− | | 0x34 || Bad GPT | + | | 0x35 || <div style="width: 60px; height: 20px; background:#AA00FF;"></div> || Failed to boot SafeMode |
| |- | | |- |
− | | 0x35 || Failed to boot SafeMode | + | | 0x36 || <div style="width: 60px; height: 20px; background:#AA00FF;"></div> || Activity Monitor fired [4.0.0+] |
| |- | | |- |
− | | 0x40 || Show error called (kernel panic) | + | | 0x40 || <div style="width: 60px; height: 20px; background:#0000FF;"></div> || Show error called (kernel panic) |
| |} | | |} |