From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KaJSc-0003vS-4t for qemu-devel@nongnu.org; Mon, 01 Sep 2008 20:09:30 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KaJSb-0003uY-GC for qemu-devel@nongnu.org; Mon, 01 Sep 2008 20:09:29 -0400 Received: from [199.232.76.173] (port=51068 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KaJSb-0003uK-Cy for qemu-devel@nongnu.org; Mon, 01 Sep 2008 20:09:29 -0400 Received: from savannah.gnu.org ([199.232.41.3]:49842 helo=sv.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1KaJSb-0002zb-2u for qemu-devel@nongnu.org; Mon, 01 Sep 2008 20:09:29 -0400 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.63) (envelope-from ) id 1KaJSa-0004QM-49 for qemu-devel@nongnu.org; Tue, 02 Sep 2008 00:09:28 +0000 Received: from aurel32 by cvs.savannah.gnu.org with local (Exim 4.63) (envelope-from ) id 1KaJSZ-0004Ps-8l for qemu-devel@nongnu.org; Tue, 02 Sep 2008 00:09:27 +0000 MIME-Version: 1.0 Errors-To: aurel32 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Aurelien Jarno Message-Id: Date: Tue, 02 Sep 2008 00:09:27 +0000 Subject: [Qemu-devel] [5130] x86: Fix powerdown for non-ACPI case Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Revision: 5130 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5130 Author: aurel32 Date: 2008-09-02 00:09:25 +0000 (Tue, 02 Sep 2008) Log Message: ----------- x86: Fix powerdown for non-ACPI case Trivial fix for a corner case: system_shutdown on isapc machines causes qemu to segfaults due to accessing the uninitialized pm_state. Issue a system shutdown instead. Signed-off-by: Jan Kiszka Signed-off-by: Aurelien Jarno Modified Paths: -------------- trunk/hw/acpi.c Modified: trunk/hw/acpi.c =================================================================== --- trunk/hw/acpi.c 2008-09-02 00:09:16 UTC (rev 5129) +++ trunk/hw/acpi.c 2008-09-02 00:09:25 UTC (rev 5130) @@ -72,7 +72,7 @@ #define SMBHSTDAT1 0x06 #define SMBBLKDAT 0x07 -PIIX4PMState *pm_state; +static PIIX4PMState *pm_state; static uint32_t get_pmtmr(PIIX4PMState *s) { @@ -526,7 +526,9 @@ #if defined(TARGET_I386) void qemu_system_powerdown(void) { - if(pm_state->pmen & PWRBTN_EN) { + if (!pm_state) { + qemu_system_shutdown_request(); + } else if (pm_state->pmen & PWRBTN_EN) { pm_state->pmsts |= PWRBTN_EN; pm_update_sci(pm_state); }