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