[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-ia64-devel] [RFC] dump core is failed for PAL_HALT



Hi, all

In linux side, panic() call smp_send_stop() before panic_notifier_list.
And smp_send_stop() call PAL_HALT.
So we cannot coredump guest memory,
because smp_send_stop call domain_shutdown(SHUTDOWN_poweroff).
Which way shold we choice?
    A. we don't call smp_send_stop in panic()
    B. we don't call PAL_HALT in xen_pal_emulator(),
       and we call EFI_RESET_SYSTEM in machine_halt().

A is very easy and simple, but we must modify common code.
If we choice B, we must fix domain_shutdown() and  machine_halt().
I think B is probably better, but are there anything else to fix?

In linux, panic() is the below.
  59  
  60 NORET_TYPE void panic(const char * fmt, ...)
  61 {
[snip...]
  90 #ifdef CONFIG_SMP
  91         /*
  92          * Note smp_send_stop is the usual smp shutdown function, which
  93          * unfortunately means it may not be hardened to work in a panic
  94          * situation.
  95          */
  96         smp_send_stop();
  97 #endif
  98 
  99         atomic_notifier_call_chain(&panic_notifier_list, 0, buf);
 100 


In xen, PAL_HALT is the below.
 381 struct ia64_pal_retval
 382 xen_pal_emulator(unsigned long index, u64 in1, u64 in2, u64 in3)
 383 {
[snip...]
 603             case PAL_HALT:
 604                 if (current->domain == dom0) {
 605                         printk ("Domain0 halts the machine\n");
 606                         console_start_sync();
 607                         (*efi.reset_system)(EFI_RESET_SHUTDOWN,0,0,NULL);
 608                 }
 609                 else
 610                         domain_shutdown(current->domain, 
SHUTDOWN_poweroff);
 611                 break;


Best Regards,

Akio Takebe


_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.