Hi, Alex
>On Fri, 2007-03-23 at 15:00 +0900, Akio Takebe wrote:
>> Hi,
>>
>> I found the bug of panic_domain().
>> When we compile xen with crash_debug=y, debugger_trap_immediate() and
>> debugger_trap_fatal() is not nop.
>> So if xen call panic_domain() to crash guest,
>> xen call debugger routine, then hangup system.
>>
>> domain_crash_synchronous() has __FILE__, __LINE__ macros.
>> So I remove panic_domain() and replace it with printk() and
>> domain_crash_synchronous() as x86 do.
>
> Wouldn't it work just as well to convert panic_domain() to a macro
>and remove the debugger_trap_immediate() and debugger_trap_fatal()
>calls? The abstraction of panic_domain() is easier to use than
>requiring someone to call all the relevant functions manually. Thanks,
>
Yes, I used also show_registers() if panic_domain has regs arguments.
(e.g. the following part.)
diff -r 2216a45bf058 xen/arch/ia64/vmx/vlsapic.c
--- a/xen/arch/ia64/vmx/vlsapic.c Tue Mar 20 15:19:38 2007 -0600
+++ b/xen/arch/ia64/vmx/vlsapic.c Fri Mar 23 14:41:48 2007 +0900
@@ -480,8 +480,11 @@ int vmx_check_pending_irq(VCPU *vcpu)
mask = irq_masked(vcpu, h_pending, h_inservice);
if ( vpsr.i && IRQ_NO_MASKED == mask ) {
isr = vpsr.val & IA64_PSR_RI;
- if ( !vpsr.ic )
- panic_domain(regs,"Interrupt when IC=0\n");
+ if ( !vpsr.ic ){
+ printk("Interrupt when IC=0\n");
+ show_registers(regs);
+ domain_crash_synchronous();
+ }
update_vhpi(vcpu, h_pending);
vmx_reflect_interruption(0, isr, 0, 12, regs); // EXT IRQ
} else if (mask == IRQ_MASKED_BY_INSVC) {
I think panic_domain() don't need debugger_trap_immediate()
and debugger_trap_fatal().
So what I really want to do is removing them.
BTW, as you said, panic_domain() is easier to use than
domain_crash_synchronous() macro.
I make new patch.
We can know the caller function by CallTrace (without __FILE__, __LINE__),
so I only remove the debug routines.
Is the attached new patch better?
Best Regards,
Akio Takebe
remove_debugger_function.patch
Description: Binary data
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|