con un clic
analyze-oops
// Analyze a kernel Oops from the printk buffer in a PearPC memory dump
// Analyze a kernel Oops from the printk buffer in a PearPC memory dump
| name | analyze-oops |
| description | Analyze a kernel Oops from the printk buffer in a PearPC memory dump |
| allowed-tools | Bash, Read, Grep |
| argument-hint | ["dump-file"] |
Use scripts/debug/memdump.py to extract and analyze the Oops.
Extract the Oops:
python3 scripts/debug/memdump.py oops ${ARGUMENTS:-memdump_jit.bin}
Decode pt_regs (use the REGS address from the Oops output):
python3 scripts/debug/memdump.py regs DUMP_FILE REGS_ADDRESS
Disassemble around NIP and LR (convert VA to PA: PA = VA - 0xC0000000):
python3 scripts/debug/disasm_ppc.py DUMP_FILE PA_OF_NIP 16
python3 scripts/debug/disasm_ppc.py DUMP_FILE PA_OF_LR 16
Search for the NIP value in both dumps:
python3 scripts/debug/memdump.py find memdump_generic.bin NIP_VALUE
python3 scripts/debug/memdump.py find memdump_jit.bin NIP_VALUE
Check if NIP is a valid address:
Report: exception type, faulting address, caller, what the code was trying to do.
Check that aarch64 JIT interpreter functions match generic CPU behavior
Analyze jitc.log to find JIT compilation issues — fragment gaps, branch overflow, bad codegen
Analyze the JIT dispatch trace to diagnose boot stalls or crashes
Compare memory regions between generic and JIT memory dumps to find divergences
Extract and display the Linux kernel printk ring buffer from a PearPC memory dump