WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

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

To: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-ia64-devel] [RFC] dump core is failed for PAL_HALT
From: Akio Takebe <takebe_akio@xxxxxxxxxxxxxx>
Date: Sun, 21 Jan 2007 22:56:26 +0900
Delivery-date: Sun, 21 Jan 2007 05:58:29 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
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