Maple: killing a process that causes a machine check exception
jfaslist
jfaslist at yahoo.fr
Wed May 24 00:59:35 EST 2006
Hi,
By applying the following mods (plse see below), i was able to have a
user process that caused a machine check exception to be terminated (on
a Maple platform), as expected. I was wondering why the PPC64 had a
different ME handling than PPC which does send the SIGBUS to the process?
Thanks
Regards,
-jean-francois simon
diff -urN -X linux-2.6.16.14/Documentation/dontdiff
linux-2.6.16.14/arch/powerpc/kernel/traps.c
linux-2.6.16.14.vmeberr_fix/arch/powerpc/kernel/traps.c
--- linux-2.6.16.14/arch/powerpc/kernel/traps.c 2006-05-04
17:03:45.000000000 -0700
+++ linux-2.6.16.14.vmeberr_fix/arch/powerpc/kernel/traps.c 2006-05-09
02:46:59.000000000 -0700
@@ -340,12 +340,19 @@
#ifdef CONFIG_PPC64
int recover = 0;
+
/* See if any machine dependent calls */
if (ppc_md.machine_check_exception)
recover = ppc_md.machine_check_exception(regs);
if (recover)
return;
+
+ if (user_mode(regs)) {
+ regs->msr |= MSR_RI;
+ _exception(SIGBUS, regs, BUS_ADRERR, regs->nip);
+ return;
+ }
#else
unsigned long reason = get_mc_reason(regs);
___________________________________________________________________________
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire.
http://fr.mail.yahoo.com
More information about the Linuxppc-dev
mailing list