From: Akio Takebe Subject: Re: [Xen-devel] [PATCH RFC] fix noreboot behaviour on clean reboot(was: intended behaviour of noreboot) Date: Tue, 08 Aug 2006 06:30:46 +0900 Message-ID: References: <20060806065053.GB3447@rhun.haifa.ibm.com> <20060807121328.GD3802@rhun.haifa.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20060807121328.GD3802@rhun.haifa.ibm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-ia64-devel-bounces@lists.xensource.com Errors-To: xen-ia64-devel-bounces@lists.xensource.com To: Muli Ben-Yehuda , Keir Fraser , xen-devel Cc: xen-ia64-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Hi, I tested Muil's patch on ia64. The below is test results. - Before patch reboot ----> reboot halt ----> reboot panic ----> reboot - After patch reboot ----> reboot halt ----> reboot panic ----> reboot This results is caused by calling EFI_RESET_SHUTDOWN in ia64's machine_halt(). Ia64's machine_halt require system reboot because EFI_RESET_SHUTDOWN (used by ia64's machine_halt()) enter ACPI G2/S5 or G3 state. This is ia64 issue, I think Muli's patch is good. :-) Best Regards, Akio Takebe >On Mon, Aug 07, 2006 at 08:17:44AM +0100, Keir Fraser wrote: >> On 6/8/06 7:50 am, "Muli Ben-Yehuda" wrote: >> >> > Setting 'noreboot' on the Xen command line stops reboot(1) from >> > working in dom0. Is this the intended behaviour? I would expect >> > noreboot to only apply to reboots that are trigerred as a result of >> > kernel panis or oopses. >> >> Clean shutdown of domain0 could clear the noreboot flag in Xen. > >Itt's a bit too hacky that machine_restart() either restarts or halts, >depends on opt_noreboot. How about something like this: > >- move code specific to dom0 out of domain_shutdown() into > dom0_shutdown() >- dom0_shutdown() has the following semantics: > if reason is SHUTDOWN_poweroff: halt > if reason is SHUTDOWN_crash: halt if opt_noreboot is set, reboot > otherwise. > if reason is SHUTDOWN_reboot: reboot (regardless of noreboot) > if reason is anything else: halt if opt_noreboot is set, reboot > otherwise (preserve backward compatible behaviour). >- I checked and PV Linux i386/x86-64 uses > SHUTDOWN_crash/SHUTDOWN_reboot appropriately to give the above > semantics. >- since opt_noreboot is now referenced in common code, add definitions > for it for ia64 and ppc as well. Hooking it in in arch code is > simple - just parse the command line options and set opt_noreboot > appropriately. > >Tested on x86-64, comments appreciated! > >Cheers, >Muli >