patch-2.4.0-prerelease linux/drivers/acpi/interpreter/amresolv.c
Next file: linux/drivers/acpi/interpreter/amresop.c
Previous file: linux/drivers/acpi/interpreter/amresnte.c
Back to the patch index
Back to the overall index
- Lines: 69
- Date:
Fri Dec 29 14:07:21 2000
- Orig file:
v2.4.0-test12/linux/drivers/acpi/interpreter/amresolv.c
- Orig date:
Sun Oct 8 10:50:14 2000
diff -u --recursive --new-file v2.4.0-test12/linux/drivers/acpi/interpreter/amresolv.c linux/drivers/acpi/interpreter/amresolv.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: amresolv - AML Interpreter object resolution
- * $Revision: 74 $
+ * $Revision: 78 $
*
*****************************************************************************/
@@ -69,7 +69,14 @@
status = AE_AML_NO_OPERAND;
}
- else if (!field_desc->field_unit.container) {
+ if (!(field_desc->common.flags & AOPOBJ_DATA_VALID)) {
+ status = acpi_ds_get_field_unit_arguments (field_desc);
+ if (ACPI_FAILURE (status)) {
+ return (status);
+ }
+ }
+
+ if (!field_desc->field_unit.container) {
status = AE_AML_INTERNAL;
}
@@ -77,12 +84,6 @@
status = AE_AML_OPERAND_TYPE;
}
- else if (field_desc->field_unit.sequence
- != field_desc->field_unit.container->buffer.sequence)
- {
- status = AE_AML_INTERNAL;
- }
-
else if (!result_desc) {
status = AE_AML_INTERNAL;
}
@@ -114,7 +115,7 @@
mask = ((u32) 1 << field_desc->field_unit.length) - (u32) 1;
}
else {
- mask = 0xFFFFFFFF;
+ mask = ACPI_UINT32_MAX;
}
result_desc->number.type = (u8) ACPI_TYPE_NUMBER;
@@ -186,7 +187,7 @@
*/
if (VALID_DESCRIPTOR_TYPE (*stack_ptr, ACPI_DESC_TYPE_NAMED)) {
- status = acpi_aml_resolve_node_to_value ((ACPI_NAMESPACE_NODE **) stack_ptr);
+ status = acpi_aml_resolve_node_to_value ((ACPI_NAMESPACE_NODE **) stack_ptr, walk_state);
}
@@ -340,7 +341,11 @@
case AML_ONES_OP:
stack_desc->common.type = (u8) ACPI_TYPE_NUMBER;
- stack_desc->number.value = 0xFFFFFFFF;
+ stack_desc->number.value = ACPI_INTEGER_MAX;
+
+ /* Truncate value if we are executing from a 32-bit ACPI table */
+
+ acpi_aml_truncate_for32bit_table (stack_desc, walk_state);
break;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)