|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [PATCH] kexec: framework and i386 (Take XIV)
On Thu, Aug 31, 2006 at 05:55:52PM +0900, Akio Takebe wrote:
> Hi, Horms and Magnus
>
> Good work. :-)
> I have one commet.
>
> I believe crash_kexec should be directly called
> when unknown NMI is occurred.
> In your patch, crash_kexec is called as the bellow.
> 1. unknown NMI is occurred. (e.g. by pushing NMI botton)
> 2. xen recieved NMI and call do_nmi.
> 3. xen report to dom0 by using raise_softirq(NMI_SOFTIRQ).
> 4. dom0 call crash_kexec of dom0.
> 5. crash_kexec of dom0 call crash_kexec of xen
>
> Am I correct?
> The above process is not reliable if I'm correct.
> So I belive crash_kexec of xen should be directly called like the
> following patch.
>
> diff -r 9611a5c9e1a1 xen/arch/x86/traps.c
> --- a/xen/arch/x86/traps.c Thu Aug 31 13:12:26 2006 +0900
> +++ b/xen/arch/x86/traps.c Thu Aug 31 17:40:19 2006 +0900
> @@ -1612,6 +1612,7 @@ asmlinkage void do_nmi(struct cpu_user_r
> else if ( reason & 0x40 )
> io_check_error(regs);
> else if ( !nmi_watchdog )
> + crash_kexec(NULL);
> unknown_nmi_error((unsigned char)(reason&0xff));
> }
> }
>
> What do you think about it?
That seems like a good idea to me. Though I think you are missing { }.
Can you test to see if this works?
--- a/xen/arch/x86/traps.c 2006-09-01 11:53:44.000000000 +0900
+++ b/xen/arch/x86/traps.c 2006-09-01 11:53:56.000000000 +0900
@@ -1611,8 +1611,10 @@
mem_parity_error(regs);
else if ( reason & 0x40 )
io_check_error(regs);
- else if ( !nmi_watchdog )
+ else if ( !nmi_watchdog ) {
+ crash_kexec(NULL);
unknown_nmi_error((unsigned char)(reason&0xff));
+ }
}
}
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |