
I agree that this is the better approach, and I would be delighted if somebody would write and submit that code for both u-boot and Linux. It's a few hundred lines and takes careful testing, as we found with our proprietary OS.
In fact. u-boot has some support for these error events, check the cpu/mpc85xx/interrupts, 8548cds, 8544ds board file and drivers/pci /fsl-pci...c. beside they has not good framework.
Linux kernel has the EDAC driver for 85xx platform in main tree, include most of error case.
In the meantime, both u-boot and Linux are susceptible to processor stalls. This one-line patch replaces those stalls with exceptions. The machine check exception handler won't diagnose the problem (e.g., it won't display "localbus parity error,") but at least we know that something happened and we have a register dump with which to begin analyzing the problem.
What is error you usually happened? L2 cache, ECM mapping, PCI[x,ex] error or local bus error?