diff options
| author | Len Brown <len.brown@intel.com> | 2004-03-12 14:35:17 -0500 |
|---|---|---|
| committer | Len Brown <lenb@dhcppc3.> | 2004-03-12 14:35:17 -0500 |
| commit | 954c9189851775caea1e98d767c20bcf2824ed88 (patch) | |
| tree | 9351797e8af2da05386891515da266b5faa0f93d /include/acpi/amlcode.h | |
| parent | ae386697bf1c45ad8991a6e90665db448877df01 (diff) | |
[ACPI] ACPICA 20040311 from Bob Moore
Fixed a problem where errors occurring during the parse phase of control
method execution did not abort cleanly. For example, objects created
and installed in the namespace were not deleted. This caused all
subsequent invocations of the method to return the AE_ALREADY_EXISTS
exception.
Implemented a mechanism to force a control method to "Serialized"
execution if the method attempts to create namespace objects.
(The root of the AE_ALREADY_EXISTS problem.)
Implemented support for the predefined _OSI "internal" control method.
Initial supported strings are "Linux", "Windows 2000", "Windows 2001",
and "Windows 2001.1", and can be easily upgraded for new strings as
necessary. This feature allows Linux to execute
the fully tested, "Windows" code path through the ASL code
Global Lock Support: Now allows multiple acquires and releases with any
internal thread. Removed concept of "owning thread" for this special
mutex.
Fixed two functions that were inappropriately declaring large objects on
the CPU stack: ps_parse_loop() and ns_evaluate_relative().
Reduces the stack usage during method execution considerably.
Fixed a problem in the ACPI 2.0 FACS descriptor (actbl2.h) where the
S4Bios_f field was incorrectly defined as UINT32 instead of UINT32_BIT.
Fixed a problem where acpi_ev_gpe_detect() would fault
if there were no GPEs defined on the machine.
Implemented two runtime options: One to force all control method
execution to "Serialized" to mimic Windows behavior, another to disable
_OSI support if it causes problems on a given machine.
Diffstat (limited to 'include/acpi/amlcode.h')
| -rw-r--r-- | include/acpi/amlcode.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/include/acpi/amlcode.h b/include/acpi/amlcode.h index 512071acbcc6..0344b94c863d 100644 --- a/include/acpi/amlcode.h +++ b/include/acpi/amlcode.h @@ -496,11 +496,17 @@ typedef enum } AML_ACCESS_ATTRIBUTE; -/* bit fields in method_flags byte */ +/* Bit fields in method_flags byte */ -#define METHOD_FLAGS_ARG_COUNT 0x07 -#define METHOD_FLAGS_SERIALIZED 0x08 -#define METHOD_FLAGS_SYNCH_LEVEL 0xF0 +#define AML_METHOD_ARG_COUNT 0x07 +#define AML_METHOD_SERIALIZED 0x08 +#define AML_METHOD_SYNCH_LEVEL 0xF0 + +/* METHOD_FLAGS_ARG_COUNT is not used internally, define additional flags */ + +#define AML_METHOD_INTERNAL_ONLY 0x01 +#define AML_METHOD_RESERVED1 0x02 +#define AML_METHOD_RESERVED2 0x04 #endif /* __AMLCODE_H__ */ |
