Dear Matt and all: This is PowerPC405 exception handling part. This patch consist of two parts.
I create this just in case, if you think that this is not needed, please ignore them. 1) WatchDogException vector routine for ppc4xx. It cause Oops with MachineCheckException as other PPC4xx do. 2) Trivial bug fix in head_booke.h Trivial bug fix of CRITICAL_EXCEPTION macro. Signed-off-by: Takeharu KATO <kato.takeharu at jp.fujitsu.com> diff -uprN linux-2.6.11-rc5.orig/arch/ppc/kernel/head_4xx.S linux-2.6.11-rc5-ppc4xx/arch/ppc/kernel/head_4xx.S --- linux-2.6.11-rc5.orig/arch/ppc/kernel/head_4xx.S 2005-02-27 15:30:39.000000000 +0900 +++ linux-2.6.11-rc5-ppc4xx/arch/ppc/kernel/head_4xx.S 2005-02-28 21:47:42.531317912 +0900 @@ -484,11 +484,11 @@ label: */ STND_EXCEPTION(0x1010, FITException, UnknownException) +#endif /* 0x1020 - Watchdog Timer (WDT) Exception */ CRITICAL_EXCEPTION(0x1020, WDTException, UnknownException) -#endif /* 0x1100 - Data TLB Miss Exception * As the name implies, translation is not in the MMU, so search the diff -uprN linux-2.6.11-rc5.orig/arch/ppc/kernel/head_booke.h linux-2.6.11-rc5-ppc4xx/arch/ppc/kernel/head_booke.h --- linux-2.6.11-rc5.orig/arch/ppc/kernel/head_booke.h 2005-02-27 15:27:12.000000000 +0900 +++ linux-2.6.11-rc5-ppc4xx/arch/ppc/kernel/head_booke.h 2005-02-28 21:50:05.060650160 +0900 @@ -194,8 +194,8 @@ label: CRITICAL_EXCEPTION_PROLOG; \ addi r3,r1,STACK_FRAME_OVERHEAD; \ EXC_XFER_TEMPLATE(hdlr, n+2, (MSR_KERNEL & ~(MSR_ME|MSR_DE|MSR_CE)), \ - NOCOPY, transfer_to_handler_full, \ - ret_from_except_full) + NOCOPY, crit_transfer_to_handler, \ + ret_from_crit_exc) #define MCHECK_EXCEPTION(n, label, hdlr) \ START_EXCEPTION(label); \