From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50144) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YUZbY-0006Ez-4E for qemu-devel@nongnu.org; Sun, 08 Mar 2015 07:42:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YUZbU-0001mu-VN for qemu-devel@nongnu.org; Sun, 08 Mar 2015 07:42:44 -0400 Received: from mx1.redhat.com ([209.132.183.28]:38078) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YUZbU-0001mc-Nh for qemu-devel@nongnu.org; Sun, 08 Mar 2015 07:42:40 -0400 Date: Sun, 8 Mar 2015 12:42:29 +0100 From: "Michael S. Tsirkin" Message-ID: <20150308114229.GA26769@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [Qemu-devel] ACPI 5.1: 7.3.2 System \_Sx states List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: mark.doran@intel.com Cc: dong.wei@hp.com, qemu-devel@nongnu.org Hello! I have noticed the following inconsistency in ACPI spec 5.1. 7.3.2 System \_Sx states States: Return Value: A Package containing an Integer containing register values for sleeping It goes on to specify Table 7-221 System State Package which describes a byte array in terms of byte length/byte offsets. In practice, I see that implementations define \_Sx as a package containing 4 integers. Here's an example package generated by IASL: 52: Name(_S4, Package(0x04) { 53: 0x2, 54: 0x2, 55: Zero, 56: Zero 57: }) 00000091: 08 5F 53 34 5F ......... "._S4_" 00000096: 12 08 04 0A 02 0A 02 00 "........" 0000009E: 00 ..................... "." In other words, there are 4 integer values, and these are not at offsets specified by the spec. Suggested corrected wording: Return Value: A Package containing a list of 4 Integers containing register values for sleeping and update Table 7-221 System State Package as follows: Type Description Integer Value for PM1a_CNT.SLP_TYP register to enter this system state. On HW-reduced platforms, this is the HW-reduced Sleep Type value for SLEEP_CONTROL_REG.SLP_TYP. Integer Value for PM1b_CNT.SLP_TYP register to enter this system state. To enter any given state, OSPM must write the PM1a_CNT.SLP_TYP register before the PM1b_CNT.SLP_TYP register. On HW-reduced platforms, this value is ignored. Integer Reserved. This value is ignored by the OSPM. Integer Reserved. This value is ignored by the OSPM. -- MST