From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:35507) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RvRxO-0005pU-O0 for qemu-devel@nongnu.org; Thu, 09 Feb 2012 06:14:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RvRxI-0008Pv-MD for qemu-devel@nongnu.org; Thu, 09 Feb 2012 06:14:30 -0500 Received: from mx1.redhat.com ([209.132.183.28]:7146) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RvRxI-0008Pf-Ch for qemu-devel@nongnu.org; Thu, 09 Feb 2012 06:14:24 -0500 Date: Thu, 9 Feb 2012 13:14:19 +0200 From: Gleb Natapov Message-ID: <20120209111419.GG18866@redhat.com> References: <1328698819-31269-1-git-send-email-kraxel@redhat.com> <1328698819-31269-3-git-send-email-kraxel@redhat.com> <20120209085343.GC18866@redhat.com> <4F33A541.6080401@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4F33A541.6080401@redhat.com> Subject: Re: [Qemu-devel] [PATCH v3 2/6] suspend: switch acpi s3 to new infrastructure. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann Cc: xen-devel@lists.xensource.com, qemu-devel@nongnu.org On Thu, Feb 09, 2012 at 11:51:45AM +0100, Gerd Hoffmann wrote: > Hi, > > >> Pretend that resume was caused by power button */ > >> pm1a->sts |= > >> (ACPI_BITMASK_WAKE_STATUS | ACPI_BITMASK_POWER_BUTTON_STATUS); > > Here we should report real reason for a wakeup (if it can be reported in > > mp1sts that is). > > These are available I guess? > Yes. Once those defines had the same names as ACPI spec, but some kind soul renamed them to be more "descriptive". So forgive me if I will use names that you actually can lookup in ACPI spec. > /* PM1x_STS */ > #define ACPI_BITMASK_TIMER_STATUS 0x0001 > #define ACPI_BITMASK_BUS_MASTER_STATUS 0x0010 > #define ACPI_BITMASK_GLOBAL_LOCK_STATUS 0x0020 > #define ACPI_BITMASK_POWER_BUTTON_STATUS 0x0100 > #define ACPI_BITMASK_SLEEP_BUTTON_STATUS 0x0200 > #define ACPI_BITMASK_RT_CLOCK_STATUS 0x0400 > #define ACPI_BITMASK_PCIEXP_WAKE_STATUS 0x4000 /* ACPI 3.0 */ > #define ACPI_BITMASK_WAKE_STATUS 0x8000 > Only three of those are actually wakeup source related: PWRBTN_STS (bit 8) RTC_STS (bit 10) PCIEXP_WAKE_STS (bit 14) And of course if system was awoken WAK_STS (bit 15) should be set too. > What do they mean? How would the rtc wakeup be tagged? Set > ACPI_BITMASK_RT_CLOCK_STATUS? Anything I can use for ps/2 kbd/mouse > wakeup? What do you suggest to do when there is nothing usable (such as > qemu monitor command which simply doesn't exist on real hardware)? > RTC will set RTC_STS. In other reply I suggested to use PWRBTN_STS for monitor command wakeup. Other devices are more complicated :( They have to provide _PRW (Power Resources for Wake) method in the device description in DSDT. This method, among other things, specifies which bit in GPE (and which GPE) correspond to the device. -- Gleb.