diff options
author | Bob Moore <robert.moore@intel.com> | 2008-04-10 11:06:37 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-04-22 14:29:21 -0400 |
commit | 4e3156b183aa087bc19804b3295c7c1a71f64752 (patch) | |
tree | 5db51b2351f4d919b36364681e594d2b6daa3860 /include | |
parent | ba886cd4ac957608777fbc8d137f6b9f0450e775 (diff) |
ACPICA: changed order of interpretation of operand objects
The interpreter now evaluates operands in the order that they
appear (both in the
AML and ASL), instead of in reverse order. This previously
caused subtle incompatibilities with the MS interpreter as well
as being non-intuitive.
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/acpi/acdispat.h | 2 | ||||
-rw-r--r-- | include/acpi/aclocal.h | 3 | ||||
-rw-r--r-- | include/acpi/acparser.h | 2 |
3 files changed, 7 insertions, 0 deletions
diff --git a/include/acpi/acdispat.h b/include/acpi/acdispat.h index 70d649e92c41..3bffb4db4bce 100644 --- a/include/acpi/acdispat.h +++ b/include/acpi/acdispat.h | |||
@@ -269,6 +269,8 @@ acpi_status acpi_ds_resolve_operands(struct acpi_walk_state *walk_state); | |||
269 | 269 | ||
270 | void acpi_ds_clear_operands(struct acpi_walk_state *walk_state); | 270 | void acpi_ds_clear_operands(struct acpi_walk_state *walk_state); |
271 | 271 | ||
272 | acpi_status acpi_ds_evaluate_name_path(struct acpi_walk_state *walk_state); | ||
273 | |||
272 | /* | 274 | /* |
273 | * dswscope - Scope Stack manipulation | 275 | * dswscope - Scope Stack manipulation |
274 | */ | 276 | */ |
diff --git a/include/acpi/aclocal.h b/include/acpi/aclocal.h index 0b7c9a9e3c84..946da60e36e7 100644 --- a/include/acpi/aclocal.h +++ b/include/acpi/aclocal.h | |||
@@ -603,6 +603,7 @@ union acpi_parse_value { | |||
603 | union acpi_parse_object *next; /* Next op */\ | 603 | union acpi_parse_object *next; /* Next op */\ |
604 | struct acpi_namespace_node *node; /* For use by interpreter */\ | 604 | struct acpi_namespace_node *node; /* For use by interpreter */\ |
605 | union acpi_parse_value value; /* Value or args associated with the opcode */\ | 605 | union acpi_parse_value value; /* Value or args associated with the opcode */\ |
606 | u8 arg_list_length; /* Number of elements in the arg list */\ | ||
606 | ACPI_DISASM_ONLY_MEMBERS (\ | 607 | ACPI_DISASM_ONLY_MEMBERS (\ |
607 | u8 disasm_flags; /* Used during AML disassembly */\ | 608 | u8 disasm_flags; /* Used during AML disassembly */\ |
608 | u8 disasm_opcode; /* Subtype used for disassembly */\ | 609 | u8 disasm_opcode; /* Subtype used for disassembly */\ |
@@ -695,6 +696,8 @@ struct acpi_parse_state { | |||
695 | #define ACPI_PARSEOP_NAMED 0x02 | 696 | #define ACPI_PARSEOP_NAMED 0x02 |
696 | #define ACPI_PARSEOP_DEFERRED 0x04 | 697 | #define ACPI_PARSEOP_DEFERRED 0x04 |
697 | #define ACPI_PARSEOP_BYTELIST 0x08 | 698 | #define ACPI_PARSEOP_BYTELIST 0x08 |
699 | #define ACPI_PARSEOP_IN_STACK 0x10 | ||
700 | #define ACPI_PARSEOP_TARGET 0x20 | ||
698 | #define ACPI_PARSEOP_IN_CACHE 0x80 | 701 | #define ACPI_PARSEOP_IN_CACHE 0x80 |
699 | 702 | ||
700 | /* Parse object disasm_flags */ | 703 | /* Parse object disasm_flags */ |
diff --git a/include/acpi/acparser.h b/include/acpi/acparser.h index 85c358e21014..a3ae76b270af 100644 --- a/include/acpi/acparser.h +++ b/include/acpi/acparser.h | |||
@@ -109,6 +109,8 @@ const struct acpi_opcode_info *acpi_ps_get_opcode_info(u16 opcode); | |||
109 | 109 | ||
110 | char *acpi_ps_get_opcode_name(u16 opcode); | 110 | char *acpi_ps_get_opcode_name(u16 opcode); |
111 | 111 | ||
112 | u8 acpi_ps_get_argument_count(u32 op_type); | ||
113 | |||
112 | /* | 114 | /* |
113 | * psparse - top level parsing routines | 115 | * psparse - top level parsing routines |
114 | */ | 116 | */ |