Post Codes

From XenonLibrary
Revision as of 22:04, 17 June 2023 by Octal450 (talk | contribs)
Jump to navigation Jump to search

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.

1BL

Not applicable to Waternoose DD1, Shiva, or when Secure ROM is not used.

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 in 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 nand image
0x19 HMACSHA_COMPUTE Generate 2BL hash
0x1A RC4_INITIALIZE Initialize 2BL RC4 decryption key
0x1B RC4_DECRYPT Decrypt 2BL with RC4 Bad nand image
0x1C SHA_COMPUTE Generate 2BL hash
0x1D SIG_VERIFY Verify 2BL hash Bad 2BL signature
0x1E BRANCH Branch to 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

Hex Name Description Possible Cause
0xD0 BEGIN CB_A entry point
0xD1 READ_FUSES Read eFUSEs
0xD2 VERIFY_OFFSET_CB_B Verify CB_B offset in flash Bad nand 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 nand image
0xD6 HMACSHA_COMPUTE_CB_B Generate CB_B hash
0xD7 RC4_INTIALIZE_CB_B Initialize CB_B RC4 decryption key
0xD8 RC4_DECRYPT_CB_B Decrypt CB_B with RC4 Bad nand image
0xD9 SHA_COMPUTE_CB_B Generate 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/CB_B


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 executer on wrong core
0x94 VERIFY_OFFSET Panic - Verify Offset Bad 2BL offset
0x95 VERIFY_HEADER Panic - Verify Header Bad 2BL header
0x96 SIG_VERIFY Panic - 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

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

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

CB/SB/CB_B