Post Codes: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
(4 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}} | {{toc|limit=3}} | ||
Line 5: | Line 5: | ||
== 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 === | ||
Line 79: | Line 81: | ||
! Hex !! Name !! Description !! Possible Cause | ! Hex !! Name !! Description !! Possible Cause | ||
|- | |- | ||
| 0x20 || || 2BL entry point | | 0x20 || || 2BL entry point || | ||
|- | |- | ||
| 0x21 || INIT_SECOTP || Initialize Secure ROM and eFUSEs || | | 0x21 || INIT_SECOTP || Initialize Secure ROM and eFUSEs || | ||
Line 304: | 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 | | 0x93 || TOO_MANY_CORES || Panic - Too Many Cores || 1BL executed on wrong core | ||
|- | |- | ||
| 0x94 || VERIFY_OFFSET || Panic - Verify 2BL Offset || Bad 2BL offset | | 0x94 || VERIFY_OFFSET || Panic - Verify 2BL Offset || Bad 2BL offset |
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 |