aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorRobert Moore <Robert.Moore@intel.com>2005-09-02 17:24:17 -0400
committerLen Brown <len.brown@intel.com>2005-09-03 00:15:11 -0400
commitaff8c2777d1a9edf97f26bf60579f9c931443eb1 (patch)
treefcd5bfe84e0e3aeb328d60ec41776522b9b7d122 /include
parenta94f18810f52d3a6de0a09bee0c7258b62eca262 (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')
-rw-r--r--include/acpi/acconfig.h2
-rw-r--r--include/acpi/acdispat.h3
-rw-r--r--include/acpi/actypes.h38
3 files changed, 19 insertions, 24 deletions
diff --git a/include/acpi/acconfig.h b/include/acpi/acconfig.h
index 73c43a39663b..427cff1a3f83 100644
--- a/include/acpi/acconfig.h
+++ b/include/acpi/acconfig.h
@@ -63,7 +63,7 @@
63 63
64/* Version string */ 64/* Version string */
65 65
66#define ACPI_CA_VERSION 0x20050815 66#define ACPI_CA_VERSION 0x20050902
67 67
68/* 68/*
69 * OS name, used for the _OS object. The _OS object is essentially obsolete, 69 * 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 59306186f5e2..065f24a77cfc 100644
--- a/include/acpi/acdispat.h
+++ b/include/acpi/acdispat.h
@@ -194,8 +194,7 @@ acpi_status
194acpi_ds_restart_control_method(struct acpi_walk_state *walk_state, 194acpi_ds_restart_control_method(struct acpi_walk_state *walk_state,
195 union acpi_operand_object *return_desc); 195 union acpi_operand_object *return_desc);
196 196
197acpi_status 197void acpi_ds_terminate_control_method(struct acpi_walk_state *walk_state);
198acpi_ds_terminate_control_method(struct acpi_walk_state *walk_state);
199 198
200acpi_status 199acpi_status
201acpi_ds_begin_method_execution(struct acpi_namespace_node *method_node, 200acpi_ds_begin_method_execution(struct acpi_namespace_node *method_node,
diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h
index 254f4b06e7ef..6213b27516e8 100644
--- a/include/acpi/actypes.h
+++ b/include/acpi/actypes.h
@@ -1074,14 +1074,21 @@ struct acpi_resource_source {
1074 char *string_ptr; 1074 char *string_ptr;
1075}; 1075};
1076 1076
1077/* Fields common to all address descriptors, 16/32/64 bit */
1078
1079#define ACPI_RESOURCE_ADDRESS_COMMON \
1080 u32 resource_type; \
1081 u32 producer_consumer; \
1082 u32 decode; \
1083 u32 min_address_fixed; \
1084 u32 max_address_fixed; \
1085 union acpi_resource_attribute attribute;
1086
1087struct acpi_resource_address {
1088ACPI_RESOURCE_ADDRESS_COMMON};
1089
1077struct acpi_resource_address16 { 1090struct acpi_resource_address16 {
1078 u32 resource_type; 1091 ACPI_RESOURCE_ADDRESS_COMMON u32 granularity;
1079 u32 producer_consumer;
1080 u32 decode;
1081 u32 min_address_fixed;
1082 u32 max_address_fixed;
1083 union acpi_resource_attribute attribute;
1084 u32 granularity;
1085 u32 min_address_range; 1092 u32 min_address_range;
1086 u32 max_address_range; 1093 u32 max_address_range;
1087 u32 address_translation_offset; 1094 u32 address_translation_offset;
@@ -1090,13 +1097,7 @@ struct acpi_resource_address16 {
1090}; 1097};
1091 1098
1092struct acpi_resource_address32 { 1099struct acpi_resource_address32 {
1093 u32 resource_type; 1100 ACPI_RESOURCE_ADDRESS_COMMON u32 granularity;
1094 u32 producer_consumer;
1095 u32 decode;
1096 u32 min_address_fixed;
1097 u32 max_address_fixed;
1098 union acpi_resource_attribute attribute;
1099 u32 granularity;
1100 u32 min_address_range; 1101 u32 min_address_range;
1101 u32 max_address_range; 1102 u32 max_address_range;
1102 u32 address_translation_offset; 1103 u32 address_translation_offset;
@@ -1105,13 +1106,7 @@ struct acpi_resource_address32 {
1105}; 1106};
1106 1107
1107struct acpi_resource_address64 { 1108struct acpi_resource_address64 {
1108 u32 resource_type; 1109 ACPI_RESOURCE_ADDRESS_COMMON u64 granularity;
1109 u32 producer_consumer;
1110 u32 decode;
1111 u32 min_address_fixed;
1112 u32 max_address_fixed;
1113 union acpi_resource_attribute attribute;
1114 u64 granularity;
1115 u64 min_address_range; 1110 u64 min_address_range;
1116 u64 max_address_range; 1111 u64 max_address_range;
1117 u64 address_translation_offset; 1112 u64 address_translation_offset;
@@ -1161,6 +1156,7 @@ union acpi_resource_data {
1161 struct acpi_resource_mem24 memory24; 1156 struct acpi_resource_mem24 memory24;
1162 struct acpi_resource_mem32 memory32; 1157 struct acpi_resource_mem32 memory32;
1163 struct acpi_resource_fixed_mem32 fixed_memory32; 1158 struct acpi_resource_fixed_mem32 fixed_memory32;
1159 struct acpi_resource_address address; /* Common 16/32/64 address fields */
1164 struct acpi_resource_address16 address16; 1160 struct acpi_resource_address16 address16;
1165 struct acpi_resource_address32 address32; 1161 struct acpi_resource_address32 address32;
1166 struct acpi_resource_address64 address64; 1162 struct acpi_resource_address64 address64;