diff options
author | Robert Moore <Robert.Moore@intel.com> | 2005-09-02 17:24:17 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2005-09-03 00:15:11 -0400 |
commit | aff8c2777d1a9edf97f26bf60579f9c931443eb1 (patch) | |
tree | fcd5bfe84e0e3aeb328d60ec41776522b9b7d122 /include/acpi | |
parent | a94f18810f52d3a6de0a09bee0c7258b62eca262 (diff) |
[ACPI] ACPICA 20050902
Fixed a problem with the internal Owner ID allocation and
deallocation mechanisms for control method execution and
recursive method invocation. This should eliminate the
OWNER_ID_LIMIT exceptions and "Invalid OwnerId" messages
seen on some systems. Recursive method invocation depth
is currently limited to 255. (Alexey Starikovskiy)
http://bugzilla.kernel.org/show_bug.cgi?id=4892
Completely eliminated all vestiges of support for the
"module-level executable code" until this support is
fully implemented and debugged. This should eliminate the
NO_RETURN_VALUE exceptions seen during table load on some
systems that invoke this support.
http://bugzilla.kernel.org/show_bug.cgi?id=5162
Fixed a problem within the resource manager code where
the transaction flags for a 64-bit address descriptor were
handled incorrectly in the type-specific flag byte.
Consolidated duplicate code within the address descriptor
resource manager code, reducing overall subsystem code size.
Signed-off-by: Robert Moore <Robert.Moore@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include/acpi')
-rw-r--r-- | include/acpi/acconfig.h | 2 | ||||
-rw-r--r-- | include/acpi/acdispat.h | 3 | ||||
-rw-r--r-- | include/acpi/actypes.h | 38 |
3 files changed, 19 insertions, 24 deletions
diff --git a/include/acpi/acconfig.h b/include/acpi/acconfig.h index 73c43a39663..427cff1a3f8 100644 --- a/include/acpi/acconfig.h +++ b/include/acpi/acconfig.h @@ -63,7 +63,7 @@ /* Version string */ -#define ACPI_CA_VERSION 0x20050815 +#define ACPI_CA_VERSION 0x20050902 /* * OS name, used for the _OS object. The _OS object is essentially obsolete, diff --git a/include/acpi/acdispat.h b/include/acpi/acdispat.h index 59306186f5e..065f24a77cf 100644 --- a/include/acpi/acdispat.h +++ b/include/acpi/acdispat.h @@ -194,8 +194,7 @@ acpi_status acpi_ds_restart_control_method(struct acpi_walk_state *walk_state, union acpi_operand_object *return_desc); -acpi_status -acpi_ds_terminate_control_method(struct acpi_walk_state *walk_state); +void acpi_ds_terminate_control_method(struct acpi_walk_state *walk_state); acpi_status acpi_ds_begin_method_execution(struct acpi_namespace_node *method_node, diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h index 254f4b06e7e..6213b27516e 100644 --- a/include/acpi/actypes.h +++ b/include/acpi/actypes.h @@ -1074,14 +1074,21 @@ struct acpi_resource_source { char *string_ptr; }; +/* Fields common to all address descriptors, 16/32/64 bit */ + +#define ACPI_RESOURCE_ADDRESS_COMMON \ + u32 resource_type; \ + u32 producer_consumer; \ + u32 decode; \ + u32 min_address_fixed; \ + u32 max_address_fixed; \ + union acpi_resource_attribute attribute; + +struct acpi_resource_address { +ACPI_RESOURCE_ADDRESS_COMMON}; + struct acpi_resource_address16 { - u32 resource_type; - u32 producer_consumer; - u32 decode; - u32 min_address_fixed; - u32 max_address_fixed; - union acpi_resource_attribute attribute; - u32 granularity; + ACPI_RESOURCE_ADDRESS_COMMON u32 granularity; u32 min_address_range; u32 max_address_range; u32 address_translation_offset; @@ -1090,13 +1097,7 @@ struct acpi_resource_address16 { }; struct acpi_resource_address32 { - u32 resource_type; - u32 producer_consumer; - u32 decode; - u32 min_address_fixed; - u32 max_address_fixed; - union acpi_resource_attribute attribute; - u32 granularity; + ACPI_RESOURCE_ADDRESS_COMMON u32 granularity; u32 min_address_range; u32 max_address_range; u32 address_translation_offset; @@ -1105,13 +1106,7 @@ struct acpi_resource_address32 { }; struct acpi_resource_address64 { - u32 resource_type; - u32 producer_consumer; - u32 decode; - u32 min_address_fixed; - u32 max_address_fixed; - union acpi_resource_attribute attribute; - u64 granularity; + ACPI_RESOURCE_ADDRESS_COMMON u64 granularity; u64 min_address_range; u64 max_address_range; u64 address_translation_offset; @@ -1161,6 +1156,7 @@ union acpi_resource_data { struct acpi_resource_mem24 memory24; struct acpi_resource_mem32 memory32; struct acpi_resource_fixed_mem32 fixed_memory32; + struct acpi_resource_address address; /* Common 16/32/64 address fields */ struct acpi_resource_address16 address16; struct acpi_resource_address32 address32; struct acpi_resource_address64 address64; |