Post Codes: Difference between revisions

From XenonLibrary
Jump to navigation Jump to search
No edit summary
 
(25 intermediate revisions by the same user not shown)
Line 1: Line 1:
The [[Xbox 360]] uses Post Codes to report the current step of the [[boot process]]. They can be read using 8 post points on the bottom of the [[motherboard]] which form a hex byte.
The [[Xbox 360]] uses '''Post Codes''' to report the current step of the [[boot process]]. They can be read using 8 post points on the bottom of the [[motherboard]] which form a hex byte.
 
{{toc|limit=3}}


== Post Codes List ==
== Post Codes List ==
The "Possible Cause" indicates possible reasons for post code if the unit is displaying an [[Errors|error code]] on the front panel or hanging on boot.
The "Possible Cause" indicates possible reasons for post code if the unit is displaying an [[Errors|error code]] on the front panel or hanging on boot.
Note: On DD1 CPUs, which use [[Titan]] for [[FSB]] training, the first code is 0x15.


=== 1BL ===
=== 1BL ===
Not applicable to [[Waternoose#DD1|Waternoose DD1]], [[Shiva]], or when [[Secure ROM]] is not used.


{|class="wikitable"
{|class="wikitable"
Line 20: Line 23:
| 0x14 || FSB_CONFIG_TX_CREDITS || FSB function 4 || FSB fail
| 0x14 || FSB_CONFIG_TX_CREDITS || FSB function 4 || FSB fail
|-
|-
| 0x15 || FETCH_OFFSET || Fetch 2BL offset in flash || GPU, SB, Nand
| 0x15 || FETCH_OFFSET || Fetch 2BL offset from flash || GPU, SB, Nand
|-
|-
| 0x16 || FETCH_HEADER || Fetch 2BL header from flash ||  
| 0x16 || FETCH_HEADER || Fetch 2BL header from flash ||  
Line 26: Line 29:
| 0x17 || VERIFY_HEADER || Verify 2BL header || Bad 2BL header
| 0x17 || VERIFY_HEADER || Verify 2BL header || Bad 2BL header
|-
|-
| 0x18 || FETCH_CONTENTS || Copy 2BL to SRAM || Bad nand image
| 0x18 || FETCH_CONTENTS || Copy 2BL to SRAM || Bad 2BL image
|-
|-
| 0x19 || HMACSHA_COMPUTE || Generate 2BL hash ||  
| 0x19 || HMACSHA_COMPUTE || Compute 2BL HMAC hash ||  
|-
|-
| 0x1A || RC4_INITIALIZE || Initialize 2BL RC4 decryption key ||  
| 0x1A || RC4_INITIALIZE || Initialize 2BL RC4 ||  
|-
|-
| 0x1B || RC4_DECRYPT || Decrypt 2BL with RC4 || Bad nand image
| 0x1B || RC4_DECRYPT || Decrypt 2BL || Bad 2BL image
|-
|-
| 0x1C || SHA_COMPUTE|| Generate 2BL hash ||  
| 0x1C || SHA_COMPUTE|| Compute 2BL hash ||  
|-
|-
| 0x1D || SIG_VERIFY || Verify 2BL hash || Bad 2BL signature
| 0x1D || SIG_VERIFY || Verify 2BL hash || Bad 2BL signature
Line 42: Line 45:


=== 2BL ===
=== 2BL ===
Later [[retail]] systems uses a [[split 2BL]] which added the CB_A and renamed the CB to CB_B. Earlier units and [[developer]] systems use a single 2BL.


==== CB_A ====
==== CB_A ====
Line 53: Line 55:
| 0xD1 || READ_FUSES || Read eFUSEs ||  
| 0xD1 || READ_FUSES || Read eFUSEs ||  
|-
|-
| 0xD2 || VERIFY_OFFSET_CB_B || Verify CB_B offset in flash || Bad nand image
| 0xD2 || VERIFY_OFFSET_CB_B || Verify CB_B offset from flash || Bad CB_B image
|-
|-
| 0xD3 || FETCH_HEADER_CB_B || Fetch CB_B header from flash ||  
| 0xD3 || FETCH_HEADER_CB_B || Fetch CB_B header from flash ||  
Line 59: Line 61:
| 0xD4 || VERIFY_HEADER_CB_B || Verify CB_B header || Bad CB_B header
| 0xD4 || VERIFY_HEADER_CB_B || Verify CB_B header || Bad CB_B header
|-
|-
| 0xD5 || FETCH_CONTENTS_CB_B || Copy CB_B to SRAM || Bad nand image
| 0xD5 || FETCH_CONTENTS_CB_B || Copy CB_B to SRAM || Bad CB_B image
|-
|-
| 0xD6 || HMACSHA_COMPUTE_CB_B || Generate CB_B hash ||  
| 0xD6 || HMACSHA_COMPUTE_CB_B || Generate CB_B hash ||  
|-
|-
| 0xD7 || RC4_INTIALIZE_CB_B || Initialize CB_B RC4 decryption key ||  
| 0xD7 || RC4_INTIALIZE_CB_B || Initialize CB_B RC4 ||  
|-
|-
| 0xD8 || RC4_DECRYPT_CB_B || Decrypt CB_B with RC4 || Bad nand image
| 0xD8 || RC4_DECRYPT_CB_B || Decrypt CB_B || Bad CB_B image
|-
|-
| 0xD9 || SHA_COMPUTE_CB_B || Generate CB_B hash ||  
| 0xD9 || SHA_COMPUTE_CB_B || Compute CB_B hash ||  
|-
|-
| 0xDA || SHA_VERIFY_CB_B || Verify CB_B hash || Bad CB_B signature
| 0xDA || SHA_VERIFY_CB_B || Verify CB_B hash || Bad CB_B signature
Line 74: Line 76:
|}
|}


==== CB/SB/CB_B ====
==== CB, SB, and CB_B ====
 
{|class="wikitable"
! Hex !! Name !! Description !! Possible Cause
|-
| 0x20 || || 2BL entry point ||
|-
| 0x21 || INIT_SECOTP || Initialize Secure ROM and eFUSEs ||
|-
| 0x22 || INIT_SECENG || Initialize security engine ||
|-
| 0x23 || INIT_SYSRAM || Initialize system RAM || Bad GPU, RAM
|-
| 0x24 || VERIFY_OFFSET_3BL || Verify 3BL offset from flash || Bad 3BL image
|-
| 0x25 || LOCATE_3BL || Locate 3BL in flash || Bad nand image
|-
| 0x26 || FETCH_HEADER_3BL || Fetch 3BL header from flash ||
|-
| 0x27 || VERIFY_HEADER_3BL || Verify 3BL header || Bad 3BL header
|-
| 0x28 || FETCH_CONTENTS || Copy 3BL to SRAM || Bad 3BL image
|-
| 0x29 || HMACSHA_COMPUTE_3BL || Compute 3BL hash ||
|-
| 0x2A || RC4_INITIALIZE_3BL || Initialize 3BL RC4 ||
|-
| 0x2B || RC4_DECRYPT_3BL || Decrypt 3BL || Bad 3BL image
|-
| 0x2C || SHA_COMPUTE_3BL || Compute 3BL hash ||
|-
| 0x2D || SHA_VERIFY_3BL || Verify 3BL hash || Bad 3BL signature
|-
| 0x2E || HWINIT || Hardware initialization || Bad GPU, RAM
|-
| 0x2F || RELOCATE || Relocate to system RAM ||
|-
| 0x30 || VERIFY_OFFSET_4BL || Verify 4BL offset from flash || Bad nand image
|-
| 0x31 || FETCH_HEADER_4BL || Fetch 4BL header from flash ||
|-
| 0x32 || VERIFY_HEADER_4BL || Verify 4BL header || Bad 4BL header
|-
| 0x33 || FETCH_CONTENTS_4BL || Copy 4BL to RAM || Bad 4BL image
|-
| 0x34 || HMACSHA_COMPUTE_4BL || Compute 4BL hash ||
|-
| 0x35 || RC4_INITIALIZE_4BL || Initialize 4BL RC4 ||
|-
| 0x36 || RC4_DECRYPT_4BL || Decrypt 4BL || Bad 4BL image
|-
| 0x37 || SHA_COMPUTE_4BL || Compute 4BL hash ||
|-
| 0x38 || SIG_VERIFY_4BL || Verify 4BL hash || Bad 4BL signature
|-
| 0x39 || SHA_VERIFY_4BL || Verify 4BL hash || Bad 4BL signature
|-
| 0x3A || BRANCH || Branch to 4BL ||
|-
| 0x3B || PCI_INIT || Initialize PCI ||
|}
 
=== 4BL ===
 
{|class="wikitable"
! Hex !! Name !! Description !! Possible Cause
|-
| 0x40 || || 4BL entry point ||
|-
| 0x41 || VERIFY_OFFSET || Verify 5BL offset in flash || Bad 5BL image
|-
| 0x42 || FETCH_HEADER || Fetch 5BL header from flash ||
|-
| 0x43 || VERIFY_HEADER || Verify 5BL header || Bad 5BL header
|-
| 0x44 || FETCH_CONENTS || Copy 5BL to RAM || Bad 5BL image
|-
| 0x45 || HMACSHA_COMPUTE || Compute 5BL hash ||
|-
| 0x46 || RC4_INITIALIZE || Initialize 5BL RC4 ||
|-
| 0x47 || RC4_DECRYPT || Decrypt 5BL || Bad 5BL image
|-
| 0x48 || SHA_COMPUTE || Compute 5BL hash ||
|-
| 0x49 || SHA_VERIFY || Verify 5BL hash || Bad 5BL signature
|-
| 0x4A || LOAD_6BL || Load 6BL ||
|-
| 0x4B || LZX_EXPAND || Expand 6BL ||
|-
| 0x4C || SWEEP_CACHES || Clear L1 and L2 cache ||
|-
| 0x4D || DECODE_FUSES || Decode fuses ||
|-
| 0x4E || FETCH_OFFSET_6BL || Fetch 6BL offset from flash ||
|-
| 0x4F || VERIFY_OFFSET_6BL || Verify 6BL offset || Bad 6BL offset
|-
| 0x50 || LOAD_UPDATE_1 || Load Patch Slot 1 || Bad patch slot 1 image
|-
| 0x51 || LOAD_UPDATE_2 || Load Patch Slot 2 || Bad patch slot 2 image
|-
| 0x52 || BRANCH || Branch to hypervisor ||
|-
| 0x53 || DECRYPT_VERIFY_HV_CERT || Decrypt and verify HV cert || Bad HV cert
|}
 
=== Hypervisor ===
 
{|class="wikitable"
! Hex !! Name !! Description !! Possible Cause
|-
| 0x58 || INIT_HYPERVISOR || Initialize hypervisor ||
|-
| 0x59 || INIT_SOC_MMIO || Initialize SoC MMIO || Bad CPU
|-
| 0x5A || INIT_XEX_TRAINING || Initialize XEX training ||
|-
| 0x5B || INIT_KEYRING || Initialize key ring ||
|-
| 0x5C || INIT_KEYS || Initialize keys ||
|-
| 0x5D || INIT_SOC_INT || Initialize SoC interrupts ||
|-
| 0x5E || INIT_SOC_INT_COMPLETE || Hypervisor initialization complete ||
|}
 
=== Kernel ===


{|class="wikitable"
! Hex !! Name !! Description !! Possible Cause
|-
| 0x60 || INIT_KERNEL || Initialize kernel ||
|-
| 0x61 || INITIAL_HAL_PHASE_0 || Initialize HAL phase 0 ||
|-
| 0x62 || INIT_PROCESS_OBJECTS || Initialize process objects ||
|-
| 0x63 || INIT_KERNEL_DEBUGGER || Initialize kernel debugger ||
|-
| 0x64 || INIT_MEMORY_MANAGER || Initialize memory manager ||
|-
| 0x65 || INIT_STACKS || Initialize stacks ||
|-
| 0x66 || INIT_OBJECT_SYSTEM || Initialize object system ||
|-
| 0x67 || INIT_PHASE1_THREAD || Initialize phase 1 thread ||
|-
| 0x68 || INIT_PROCESSORS || Initialize processors ||
|-
| 0x69 || INIT_KEEYVAULT || Initialize keyvault || Bad keyvault
|-
| 0x6A || INIT_HAL_PHASE_1 || Initialize HAL phase 1 ||
|-
| 0x6B || INIT_SFC_DRIVER || Initialize flash controller ||
|-
| 0x6C || INIT_SECURITY || Initialize security ||
|-
| 0x6D || INIT_KEY_EX_VAULT || Initialize extended keyvault || Bad keyvault
|-
| 0x6E || INIT_SETTINGS || Initialize settings ||
|-
| 0x6F || INIT_POWER_MODE || Initialize power mode ||
|-
| 0x70 || INIT_VIDEO_DRIVER || Initialize video driver ||
|-
| 0x71 || INIT_AUDIO_DRIVER || Initialize audio driver ||
|-
| 0x72 || INIT_BOOT_ANIMATION || Initialize bootanim.xex, XMADecoder, XAudioRender || Missing/corrupted bootanim.xex
|-
| 0x73 || INIT_SATA_DRIVER || Initialize SATA driver ||
|-
| 0x74 || INIT_SHADOWBOOT || Initialize shadowboot ||
|-
| 0x75 || INIT_DUMP_SYSTEM || Initialize dump system ||
|-
| 0x76 || INIT_SYSTEM_ROOT || Initialize system root ||
|-
| 0x77 || INIT_OTHER_DRIVERS || Initialize other drivers ||
|-
| 0x78 || INIT_STFS_DRIVER || Initialize STFS driver ||
|-
| 0x79 || LOAD_XAM || Initialize xam.xex || Missing/corrupted xam.xex
|}


----
== Panic Codes List ==
The "Possible Cause" indicates possible reasons for post code if the unit is displaying an [[Errors|error code]] on the front panel or hanging on boot.


=== 1BL Panics ===
=== 1BL Panics ===
Line 120: Line 306:
| 0x92 || WRONG_THREAD || Panic - Wrong Thread || 1BL executed on wrong thread
| 0x92 || WRONG_THREAD || Panic - Wrong Thread || 1BL executed on wrong thread
|-
|-
| 0x93 || TOO_MANY_CORES || Panic - Too Many Cores || 1BL executer on wrong core
| 0x93 || TOO_MANY_CORES || Panic - Too Many Cores || 1BL executed on wrong core
|-
|-
| 0x94 || VERIFY_OFFSET || Panic - Verify Offset || Bad 2BL offset
| 0x94 || VERIFY_OFFSET || Panic - Verify 2BL Offset || Bad 2BL offset
|-
|-
| 0x95 || VERIFY_HEADER || Panic - Verify Header || Bad 2BL header
| 0x95 || VERIFY_HEADER || Panic - Verify 2BL Header || Bad 2BL header
|-
|-
| 0x96 || SIG_VERIFY || Panic - Signature Verify || Bad 2BL signature
| 0x96 || SIG_VERIFY || Panic - 2BL Signature Verify || Bad 2BL signature
|-
|-
| 0x97 || NONHOST_RESUME_STATUS || Panic - Non Host Resume Status ||  
| 0x97 || NONHOST_RESUME_STATUS || Panic - Non Host Resume Status ||  
Line 133: Line 319:
|}
|}


----
=== 2BL Panics ===
 
=== 2BL ===
Later [[retail]] systems uses a [[split 2BL]] which added the CB_A and renamed the CB to CB_B. Earlier units and [[developer]] systems use a single 2BL.


==== CB_A ====
==== CB_A ====
Line 143: Line 326:
! Hex !! Name !! Description !! Possible Cause
! Hex !! Name !! Description !! Possible Cause
|-
|-
| 0xF0 || VERIFY_OFFSET_CB_B || Panic - Verify Offset || Bad CB_B offset
| 0xF0 || VERIFY_OFFSET_CB_B || Panic - CB_B Verify Offset || Bad CB_B offset
|-
|-
| 0xF1 || VERIFY_HEADER_CB_B || Panic - Verify Header || Bad CB_B header
| 0xF1 || VERIFY_HEADER_CB_B || Panic - CB_B Verify Header || Bad CB_B header
|-
|-
| 0xF2 || SHA_VERIFY_CB_B || Panic - Signature Verify || Bad CB_B signature
| 0xF2 || SHA_VERIFY_CB_B || Panic - CB_B Signature Verify || Bad CB_B signature
|-
|-
| 0xF3 || ENTRY_SIZE_INVALID_CB_B || Panic - Entry Size Invalid || CB_B size too large
| 0xF3 || ENTRY_SIZE_INVALID_CB_B || Panic - Entry Size Invalid || CB_B size too large
|}
|}


==== CB/SB/CB_B ====
==== CB, SB, and CB_B ====
 
{|class="wikitable"
! Hex !! Name !! Description !! Possible Cause
|-
| 0x9B || VERIFY_SECOTP_1 || Panic - Verify eFUSE ||
|-
| 0x9C || VERIFY_SECOTP_2 || Panic - Verify eFUSE ||
|-
| 0x9D || VERIFY_SECOTP_3 || Panic - Verify Console Type ||
|-
| 0x9E || VERIFY_SECOTP_4 || Panic - Verify Console Type ||
|-
| 0x9F || VERIFY_SECOTP_5 || Panic - Verify Console Type ||
|-
| 0xA0 || VERIFY_SECOTP_6 || Panic - Verify 2BL Revocation || 2BL LDV mismatch
|-
| 0xA1 || VERIFY_SECOTP_7 || Panic - Verify Secure ROM 7 ||
|-
| 0xA2 || VERIFY_SECOTP_8 || Panic - Verify Secure ROM 8 ||
|-
| 0xA3 || VERIFY_SECOTP_9 || Panic - Verify Secure ROM 9 ||
|-
| 0xA4 || VERIFY_SECOTP_10 || Panic - Verify SMC HMAC || Bad SMC HMAC
|-
| 0xA5 || VERIFY_OFFSET_3BL || Panic - Verify 3BL Offset || Bad 3BL offset
|-
| 0xA6 || LOCATE_3BL || Panic - Locate 3BL || Bad nand image
|-
| 0xA7 || VERIFY_HEADER_3BL || Panic - Verify 3BL Header || Bad 3BL header
|-
| 0xA8 || SIG_VERIFY_3BL || Panic - 3BL Signature Verify || Bad 3BL signature
|-
| 0xA9 || HWINIT || Panic - Hardware Init ||
|-
| 0xAA || VERIFY_OFFSET_4BL || Panic - Verify 4BL Offset || Bad 4BL offset
|-
| 0xAB || VERIFY_HEADER_4BL || Panic - Verify 4BL Header || Bad 4BL header
|-
| 0xAC || SIG_VERIFY_4BL || Panic - 4BL Signature Verify || Bad 4BL signature
|-
| 0xAD || SHA_VERIFY_4BL || Panic - 4BL Signature Verify || Bad 4BL signature
|-
| 0xAE || UNEXPECTED_INTERRUPT || Panic - Unknown Interrupt Vector ||
|-
| 0xAF || UNSUPPORTED_RAM_SIZE || Panic - Unsupported RAM Size || Bad GPU, RAM
|-
| 0xB0 || VERIFY_CONSOLE_TYPE || Panic - Verify Console Type || Console type mismatch
|}
 
=== 4BL Panics ===
 
{|class="wikitable"
! Hex !! Name !! Description !! Possible Cause
|-
| 0xB1 || VERIFY_OFFSET || Panic - Verify 5BL Offset || Bad 5BL offset
|-
| 0xB2 || VERIFY_HEADER || Panic - Verify 5BL Header|| Bad 5BL header
|-
| 0xB3 || SHA_VERIFY || Panic - 5BL Signature Verify || Bad 5BL signature
|-
| 0xB4 || LZX_EXPAND || Panic - 5BL LZX Decompression || Bad 5BL image
|-
| 0xB5 || VERIFY_OFFSET_6BL || Panic - Verify 6BL Offset || Bad 6BL offset
|-
| 0xB6 || DECODE_FUSES || Panic - Decode Fuses ||
|-
| 0xB7 || UPDATE_MISSING || Panic - Update Missing || Bad patch slot image
|-
| 0xB8 || SHA_VERIFY_6BL || Panic - 6BL Signature Verify || Bad 6BL signature
|}
 
=== 5BL/6BL Panics ===
 
{|class="wikitable"
! Hex !! Name !! Description !! Possible Cause
|-
| 0xC1 || LZX_EXPAND_1 || Panic - LDICreateDecompression ||
|-
| 0xC2 || LZX_EXPAND_2 || Panic - 7BL Size Verification || Bad 7BL image
|-
| 0xC3 || LZX_EXPAND_3 || Panic - Header/Patch Fragment Info || Bad 7BL image
|-
| 0xC4 || LZX_EXPAND_4 || Panic - Unexpected LDI Fragment ||
|-
| 0xC5 || LZX_EXPAND_5 || Panic - LDISetWindowData ||
|-
| 0xC6 || LZX_EXPAND_6 || Panic - LDIDecompress || Bad 7BL image
|-
| 0xC7 || LZX_EXPAND_7 || Panic - LDIResetDecompression ||
|-
| 0xC8 || SHA_VERIFY || Panic - 7BL Signature Verify || Bad 7BL signature
|}


=== Hypervisor ===


----
{|class="wikitable"
! Hex !! Name !! Description !! Possible Cause
|-
| 0xFF || FATAL || Panic - Hypervisor Error ||
|}


{{Debug and Repair}}
{{Debug and Repair}}

Latest revision as of 00:42, 9 August 2024

The Xbox 360 uses Post Codes to report the current step of the boot process. They can be read using 8 post points on the bottom of the motherboard which form a hex byte.

Post Codes List

The "Possible Cause" indicates possible reasons for post code if the unit is displaying an error code on the front panel or hanging on boot.

Note: On DD1 CPUs, which use Titan for FSB training, the first code is 0x15.

1BL

Hex Name Description Possible Cause
0x10 BEGIN 1BL entry point
0x11 FSB_CONFIG_PHY_CONTROL FSB function 1 FSB fail
0x12 FSB_CONFIG_RX_STATE FSB function 2 FSB fail
0x13 FSB_CONFIG_TX_STATE FSB function 3 FSB fail
0x14 FSB_CONFIG_TX_CREDITS FSB function 4 FSB fail
0x15 FETCH_OFFSET Fetch 2BL offset from flash GPU, SB, Nand
0x16 FETCH_HEADER Fetch 2BL header from flash
0x17 VERIFY_HEADER Verify 2BL header Bad 2BL header
0x18 FETCH_CONTENTS Copy 2BL to SRAM Bad 2BL image
0x19 HMACSHA_COMPUTE Compute 2BL HMAC hash
0x1A RC4_INITIALIZE Initialize 2BL RC4
0x1B RC4_DECRYPT Decrypt 2BL Bad 2BL image
0x1C SHA_COMPUTE Compute 2BL hash
0x1D SIG_VERIFY Verify 2BL hash Bad 2BL signature
0x1E BRANCH Branch to 2BL

2BL

CB_A

Hex Name Description Possible Cause
0xD0 CB_A entry point
0xD1 READ_FUSES Read eFUSEs
0xD2 VERIFY_OFFSET_CB_B Verify CB_B offset from flash Bad CB_B image
0xD3 FETCH_HEADER_CB_B Fetch CB_B header from flash
0xD4 VERIFY_HEADER_CB_B Verify CB_B header Bad CB_B header
0xD5 FETCH_CONTENTS_CB_B Copy CB_B to SRAM Bad CB_B image
0xD6 HMACSHA_COMPUTE_CB_B Generate CB_B hash
0xD7 RC4_INTIALIZE_CB_B Initialize CB_B RC4
0xD8 RC4_DECRYPT_CB_B Decrypt CB_B Bad CB_B image
0xD9 SHA_COMPUTE_CB_B Compute CB_B hash
0xDA SHA_VERIFY_CB_B Verify CB_B hash Bad CB_B signature
0xDB BRANCH_CB_B Branch to CB_B

CB, SB, and CB_B

Hex Name Description Possible Cause
0x20 2BL entry point
0x21 INIT_SECOTP Initialize Secure ROM and eFUSEs
0x22 INIT_SECENG Initialize security engine
0x23 INIT_SYSRAM Initialize system RAM Bad GPU, RAM
0x24 VERIFY_OFFSET_3BL Verify 3BL offset from flash Bad 3BL image
0x25 LOCATE_3BL Locate 3BL in flash Bad nand image
0x26 FETCH_HEADER_3BL Fetch 3BL header from flash
0x27 VERIFY_HEADER_3BL Verify 3BL header Bad 3BL header
0x28 FETCH_CONTENTS Copy 3BL to SRAM Bad 3BL image
0x29 HMACSHA_COMPUTE_3BL Compute 3BL hash
0x2A RC4_INITIALIZE_3BL Initialize 3BL RC4
0x2B RC4_DECRYPT_3BL Decrypt 3BL Bad 3BL image
0x2C SHA_COMPUTE_3BL Compute 3BL hash
0x2D SHA_VERIFY_3BL Verify 3BL hash Bad 3BL signature
0x2E HWINIT Hardware initialization Bad GPU, RAM
0x2F RELOCATE Relocate to system RAM
0x30 VERIFY_OFFSET_4BL Verify 4BL offset from flash Bad nand image
0x31 FETCH_HEADER_4BL Fetch 4BL header from flash
0x32 VERIFY_HEADER_4BL Verify 4BL header Bad 4BL header
0x33 FETCH_CONTENTS_4BL Copy 4BL to RAM Bad 4BL image
0x34 HMACSHA_COMPUTE_4BL Compute 4BL hash
0x35 RC4_INITIALIZE_4BL Initialize 4BL RC4
0x36 RC4_DECRYPT_4BL Decrypt 4BL Bad 4BL image
0x37 SHA_COMPUTE_4BL Compute 4BL hash
0x38 SIG_VERIFY_4BL Verify 4BL hash Bad 4BL signature
0x39 SHA_VERIFY_4BL Verify 4BL hash Bad 4BL signature
0x3A BRANCH Branch to 4BL
0x3B PCI_INIT Initialize PCI

4BL

Hex Name Description Possible Cause
0x40 4BL entry point
0x41 VERIFY_OFFSET Verify 5BL offset in flash Bad 5BL image
0x42 FETCH_HEADER Fetch 5BL header from flash
0x43 VERIFY_HEADER Verify 5BL header Bad 5BL header
0x44 FETCH_CONENTS Copy 5BL to RAM Bad 5BL image
0x45 HMACSHA_COMPUTE Compute 5BL hash
0x46 RC4_INITIALIZE Initialize 5BL RC4
0x47 RC4_DECRYPT Decrypt 5BL Bad 5BL image
0x48 SHA_COMPUTE Compute 5BL hash
0x49 SHA_VERIFY Verify 5BL hash Bad 5BL signature
0x4A LOAD_6BL Load 6BL
0x4B LZX_EXPAND Expand 6BL
0x4C SWEEP_CACHES Clear L1 and L2 cache
0x4D DECODE_FUSES Decode fuses
0x4E FETCH_OFFSET_6BL Fetch 6BL offset from flash
0x4F VERIFY_OFFSET_6BL Verify 6BL offset Bad 6BL offset
0x50 LOAD_UPDATE_1 Load Patch Slot 1 Bad patch slot 1 image
0x51 LOAD_UPDATE_2 Load Patch Slot 2 Bad patch slot 2 image
0x52 BRANCH Branch to hypervisor
0x53 DECRYPT_VERIFY_HV_CERT Decrypt and verify HV cert Bad HV cert

Hypervisor

Hex Name Description Possible Cause
0x58 INIT_HYPERVISOR Initialize hypervisor
0x59 INIT_SOC_MMIO Initialize SoC MMIO Bad CPU
0x5A INIT_XEX_TRAINING Initialize XEX training
0x5B INIT_KEYRING Initialize key ring
0x5C INIT_KEYS Initialize keys
0x5D INIT_SOC_INT Initialize SoC interrupts
0x5E INIT_SOC_INT_COMPLETE Hypervisor initialization complete

Kernel

Hex Name Description Possible Cause
0x60 INIT_KERNEL Initialize kernel
0x61 INITIAL_HAL_PHASE_0 Initialize HAL phase 0
0x62 INIT_PROCESS_OBJECTS Initialize process objects
0x63 INIT_KERNEL_DEBUGGER Initialize kernel debugger
0x64 INIT_MEMORY_MANAGER Initialize memory manager
0x65 INIT_STACKS Initialize stacks
0x66 INIT_OBJECT_SYSTEM Initialize object system
0x67 INIT_PHASE1_THREAD Initialize phase 1 thread
0x68 INIT_PROCESSORS Initialize processors
0x69 INIT_KEEYVAULT Initialize keyvault Bad keyvault
0x6A INIT_HAL_PHASE_1 Initialize HAL phase 1
0x6B INIT_SFC_DRIVER Initialize flash controller
0x6C INIT_SECURITY Initialize security
0x6D INIT_KEY_EX_VAULT Initialize extended keyvault Bad keyvault
0x6E INIT_SETTINGS Initialize settings
0x6F INIT_POWER_MODE Initialize power mode
0x70 INIT_VIDEO_DRIVER Initialize video driver
0x71 INIT_AUDIO_DRIVER Initialize audio driver
0x72 INIT_BOOT_ANIMATION Initialize bootanim.xex, XMADecoder, XAudioRender Missing/corrupted bootanim.xex
0x73 INIT_SATA_DRIVER Initialize SATA driver
0x74 INIT_SHADOWBOOT Initialize shadowboot
0x75 INIT_DUMP_SYSTEM Initialize dump system
0x76 INIT_SYSTEM_ROOT Initialize system root
0x77 INIT_OTHER_DRIVERS Initialize other drivers
0x78 INIT_STFS_DRIVER Initialize STFS driver
0x79 LOAD_XAM Initialize xam.xex Missing/corrupted xam.xex

Panic Codes List

The "Possible Cause" indicates possible reasons for post code if the unit is displaying an error code on the front panel or hanging on boot.

1BL Panics

Hex Name Description Possible Cause
0x81 MACHINECHECK Panic - Machine Check
0x82 DATA_STORAGE Panic - Data Storage
0x83 DATA_SEGMENT Panic - Data Segment
0x84 INSTRUCTION_STORAGE Panic - Instruction Storage
0x85 INSTRUCTION_SEGMENT Panic - Instruction Segment
0x86 EXTERNAL Panic - External CPU interrupt triggered
0x87 ALIGNMENT Panic - Alignment
0x88 PROGRAM Panic - Program Illegal instruction
0x89 FPU_UNAVAILABLE Panic - FPU Unavailable
0x8A DECREMENTER Panic - Decrementer
0x8B HYPERVISOR_DECREMENTER Panic - Hypervisor Decrementer
0x8C SYSTEM_CALL Panic - System Call
0x8D TRACE Panic - Trace
0x8E VPU_UNAVAILABLE Panic - VPU Unavailable
0x8F MAINTENANCE Panic - Maintenance
0x90 VMX_ASSIST Panic - VMX Assist
0x91 THERMAL_MANAGEMENT Panic - Thermal Management
0x92 WRONG_THREAD Panic - Wrong Thread 1BL executed on wrong thread
0x93 TOO_MANY_CORES Panic - Too Many Cores 1BL executed on wrong core
0x94 VERIFY_OFFSET Panic - Verify 2BL Offset Bad 2BL offset
0x95 VERIFY_HEADER Panic - Verify 2BL Header Bad 2BL header
0x96 SIG_VERIFY Panic - 2BL Signature Verify Bad 2BL signature
0x97 NONHOST_RESUME_STATUS Panic - Non Host Resume Status
0x98 NEXT_STAGE_SIZE Panic - Next Stage Size 2BL size too large

2BL Panics

CB_A

Hex Name Description Possible Cause
0xF0 VERIFY_OFFSET_CB_B Panic - CB_B Verify Offset Bad CB_B offset
0xF1 VERIFY_HEADER_CB_B Panic - CB_B Verify Header Bad CB_B header
0xF2 SHA_VERIFY_CB_B Panic - CB_B Signature Verify Bad CB_B signature
0xF3 ENTRY_SIZE_INVALID_CB_B Panic - Entry Size Invalid CB_B size too large

CB, SB, and CB_B

Hex Name Description Possible Cause
0x9B VERIFY_SECOTP_1 Panic - Verify eFUSE
0x9C VERIFY_SECOTP_2 Panic - Verify eFUSE
0x9D VERIFY_SECOTP_3 Panic - Verify Console Type
0x9E VERIFY_SECOTP_4 Panic - Verify Console Type
0x9F VERIFY_SECOTP_5 Panic - Verify Console Type
0xA0 VERIFY_SECOTP_6 Panic - Verify 2BL Revocation 2BL LDV mismatch
0xA1 VERIFY_SECOTP_7 Panic - Verify Secure ROM 7
0xA2 VERIFY_SECOTP_8 Panic - Verify Secure ROM 8
0xA3 VERIFY_SECOTP_9 Panic - Verify Secure ROM 9
0xA4 VERIFY_SECOTP_10 Panic - Verify SMC HMAC Bad SMC HMAC
0xA5 VERIFY_OFFSET_3BL Panic - Verify 3BL Offset Bad 3BL offset
0xA6 LOCATE_3BL Panic - Locate 3BL Bad nand image
0xA7 VERIFY_HEADER_3BL Panic - Verify 3BL Header Bad 3BL header
0xA8 SIG_VERIFY_3BL Panic - 3BL Signature Verify Bad 3BL signature
0xA9 HWINIT Panic - Hardware Init
0xAA VERIFY_OFFSET_4BL Panic - Verify 4BL Offset Bad 4BL offset
0xAB VERIFY_HEADER_4BL Panic - Verify 4BL Header Bad 4BL header
0xAC SIG_VERIFY_4BL Panic - 4BL Signature Verify Bad 4BL signature
0xAD SHA_VERIFY_4BL Panic - 4BL Signature Verify Bad 4BL signature
0xAE UNEXPECTED_INTERRUPT Panic - Unknown Interrupt Vector
0xAF UNSUPPORTED_RAM_SIZE Panic - Unsupported RAM Size Bad GPU, RAM
0xB0 VERIFY_CONSOLE_TYPE Panic - Verify Console Type Console type mismatch

4BL Panics

Hex Name Description Possible Cause
0xB1 VERIFY_OFFSET Panic - Verify 5BL Offset Bad 5BL offset
0xB2 VERIFY_HEADER Panic - Verify 5BL Header Bad 5BL header
0xB3 SHA_VERIFY Panic - 5BL Signature Verify Bad 5BL signature
0xB4 LZX_EXPAND Panic - 5BL LZX Decompression Bad 5BL image
0xB5 VERIFY_OFFSET_6BL Panic - Verify 6BL Offset Bad 6BL offset
0xB6 DECODE_FUSES Panic - Decode Fuses
0xB7 UPDATE_MISSING Panic - Update Missing Bad patch slot image
0xB8 SHA_VERIFY_6BL Panic - 6BL Signature Verify Bad 6BL signature

5BL/6BL Panics

Hex Name Description Possible Cause
0xC1 LZX_EXPAND_1 Panic - LDICreateDecompression
0xC2 LZX_EXPAND_2 Panic - 7BL Size Verification Bad 7BL image
0xC3 LZX_EXPAND_3 Panic - Header/Patch Fragment Info Bad 7BL image
0xC4 LZX_EXPAND_4 Panic - Unexpected LDI Fragment
0xC5 LZX_EXPAND_5 Panic - LDISetWindowData
0xC6 LZX_EXPAND_6 Panic - LDIDecompress Bad 7BL image
0xC7 LZX_EXPAND_7 Panic - LDIResetDecompression
0xC8 SHA_VERIFY Panic - 7BL Signature Verify Bad 7BL signature

Hypervisor

Hex Name Description Possible Cause
0xFF FATAL Panic - Hypervisor Error