Introduce a new helper function, AcpiAnyGpeStatusSet(), for
checking the status bits of all enabled GPEs in one go.
It is needed to distinguish spurious SCIs from genuine ones when
deciding whether or not to wake up the system from suspend-to-idle.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>
This change will process return type and parameter type information
found in method declaration in the same way as methods. This is done
by changing all object type parse nodes into PARSEOP_DEFAULT_ARG. By
doing so, external methods with return types and parameter type list
will be encoded correctly.
Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>
Previous parse tree change nested all return types and parameter type
lists inside of PARSEOP_DEFAULT_ARG. This change removes logic that
checks if the parse node is not a PARSEOP_DEFAULT_ARG because this
will always hold true.
In order to detect whether if these types exist, check for a child
node underneath the PARSEOP_DEFAULT_ARG. If it exists, it means that
a return type or a parameter list has been defined.
Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>
At this point, some named objects may not have a namespace node and
cause the compiler to crash. Instead of using the namespace node to
find the NameSeg, this change uses the parse object's NameSeg
field.
Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>
This function is used to process a return type or a single parameter
type in method, function, or external declarations.
Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>
Previously, parameter types were only nested under
PARSEOP_DEFAULT_ARG if the parameter type is declared inside {} braces.
With this change, the following method declarations result in the
same parse tree:
Method (DS06,,Serialized,0, IntObj, {IntObj,StrObj}){...}
Method (DS07,,Serialized,0, IntObj, {{IntObj}, StrObj}){...}
Method (DS08,,Serialized,0, {IntObj}, {IntObj, {StrObj}}){...}
Method (DS09,,Serialized,0, {IntObj}, {{IntObj}, {StrObj}}){...}
Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>
XfGetParentMethod is used in namespace cross reference and method
analysis so this function should be a part of a aslutils.c rather
than aslxref.c. This function is similar to UtGetParentMethodNode but
returns an ACPI_PARSE_OBJECT so rename it to UtGetParentMethodOp for
clarity.
Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>
This function returns a namespace node so renaming it as
UtGetParentMethodNode adds more clarity to the usage of this
function.
Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>
Previous commit broke parameter counting for methods that declared
the argument count but omitted the parameterType list.
Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>
Hibernation (S4) is triggered in a guest when it recieves a sleep
trigger from the hypervisor. When the guest resumes from this power
state, it does not see the SleepEnabled bit. In otherwords, the sleep
button is not enabled on waking from an S4 state. This causes
subsequent invocation of sleep state to fail in the guest.
Fix this problem by enabling the sleep button in ACPI legacy wake.
Signed-off-by: Anchal Agarwal <anchalag@amazon.com>
Reviewed-by: Balbir Singh <sblbir@amazon.com>
Reviewed-by: Frank van der Linden <fllinden@amazon.com>
[ ek: changelog]
Signed-off-by: Erik Kaneda <erik.kaneda@intel.com>