As noticed by Thomas, if the TOC pointer (r2) is corrupted, the code from the exception table cannot call the common exception handler function. This series tries to fix that by calling call_handler without using the TOC pointer but a pointer to the function stored at an absolute address in memory (as SLOF does), and then by restoring the value of r2 before calling the user registered exception handler. An easy way to to compute the TOC address seems to use directly the value of the load address used by QEMU instead of computing it from the PC. Laurent Vivier (2): powerpc: use well known kernel start address powerpc: restore TOC pointer powerpc/boot_rom.S | 3 ++- powerpc/cstart64.S | 23 +++++++++++++++++++---- powerpc/spapr.h | 6 ++++++ 3 files changed, 27 insertions(+), 5 deletions(-) create mode 100644 powerpc/spapr.h -- 2.5.5 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html