aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi
diff options
context:
space:
mode:
Diffstat (limited to 'include/acpi')
-rw-r--r--include/acpi/acconfig.h4
-rw-r--r--include/acpi/acdisasm.h36
-rw-r--r--include/acpi/aclocal.h23
-rw-r--r--include/acpi/acresrc.h46
-rw-r--r--include/acpi/actypes.h13
-rw-r--r--include/acpi/amlresrc.h56
-rw-r--r--include/acpi/platform/acenv.h1
7 files changed, 104 insertions, 75 deletions
diff --git a/include/acpi/acconfig.h b/include/acpi/acconfig.h
index 427cff1a3f83..1427c5cf4304 100644
--- a/include/acpi/acconfig.h
+++ b/include/acpi/acconfig.h
@@ -61,9 +61,9 @@
61 * 61 *
62 */ 62 */
63 63
64/* Version string */ 64/* Current ACPICA subsystem version in YYYYMMDD format */
65 65
66#define ACPI_CA_VERSION 0x20050902 66#define ACPI_CA_VERSION 0x20050916
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/acdisasm.h b/include/acpi/acdisasm.h
index 3d96dcb1bb4b..759b4cff4f88 100644
--- a/include/acpi/acdisasm.h
+++ b/include/acpi/acdisasm.h
@@ -187,73 +187,73 @@ void acpi_dm_decode_attribute(u8 attribute);
187 * dmresrcl 187 * dmresrcl
188 */ 188 */
189void 189void
190acpi_dm_word_descriptor(struct asl_word_address_desc *resource, 190acpi_dm_word_descriptor(union asl_resource_desc *resource,
191 u32 length, u32 level); 191 u32 length, u32 level);
192 192
193void 193void
194acpi_dm_dword_descriptor(struct asl_dword_address_desc *resource, 194acpi_dm_dword_descriptor(union asl_resource_desc *resource,
195 u32 length, u32 level); 195 u32 length, u32 level);
196 196
197void 197void
198acpi_dm_extended_descriptor(struct asl_extended_address_desc *resource, 198acpi_dm_extended_descriptor(union asl_resource_desc *resource,
199 u32 length, u32 level); 199 u32 length, u32 level);
200 200
201void 201void
202acpi_dm_qword_descriptor(struct asl_qword_address_desc *resource, 202acpi_dm_qword_descriptor(union asl_resource_desc *resource,
203 u32 length, u32 level); 203 u32 length, u32 level);
204 204
205void 205void
206acpi_dm_memory24_descriptor(struct asl_memory_24_desc *resource, 206acpi_dm_memory24_descriptor(union asl_resource_desc *resource,
207 u32 length, u32 level); 207 u32 length, u32 level);
208 208
209void 209void
210acpi_dm_memory32_descriptor(struct asl_memory_32_desc *resource, 210acpi_dm_memory32_descriptor(union asl_resource_desc *resource,
211 u32 length, u32 level); 211 u32 length, u32 level);
212 212
213void 213void
214acpi_dm_fixed_mem32_descriptor(struct asl_fixed_memory_32_desc *resource, 214acpi_dm_fixed_memory32_descriptor(union asl_resource_desc *resource,
215 u32 length, u32 level); 215 u32 length, u32 level);
216 216
217void 217void
218acpi_dm_generic_register_descriptor(struct asl_general_register_desc *resource, 218acpi_dm_generic_register_descriptor(union asl_resource_desc *resource,
219 u32 length, u32 level); 219 u32 length, u32 level);
220 220
221void 221void
222acpi_dm_interrupt_descriptor(struct asl_extended_xrupt_desc *resource, 222acpi_dm_interrupt_descriptor(union asl_resource_desc *resource,
223 u32 length, u32 level); 223 u32 length, u32 level);
224 224
225void 225void
226acpi_dm_vendor_large_descriptor(struct asl_large_vendor_desc *resource, 226acpi_dm_vendor_large_descriptor(union asl_resource_desc *resource,
227 u32 length, u32 level); 227 u32 length, u32 level);
228 228
229/* 229/*
230 * dmresrcs 230 * dmresrcs
231 */ 231 */
232void 232void
233acpi_dm_irq_descriptor(struct asl_irq_format_desc *resource, 233acpi_dm_irq_descriptor(union asl_resource_desc *resource,
234 u32 length, u32 level); 234 u32 length, u32 level);
235 235
236void 236void
237acpi_dm_dma_descriptor(struct asl_dma_format_desc *resource, 237acpi_dm_dma_descriptor(union asl_resource_desc *resource,
238 u32 length, u32 level); 238 u32 length, u32 level);
239 239
240void 240void
241acpi_dm_io_descriptor(struct asl_io_port_desc *resource, u32 length, u32 level); 241acpi_dm_io_descriptor(union asl_resource_desc *resource, u32 length, u32 level);
242 242
243void 243void
244acpi_dm_fixed_io_descriptor(struct asl_fixed_io_port_desc *resource, 244acpi_dm_fixed_io_descriptor(union asl_resource_desc *resource,
245 u32 length, u32 level); 245 u32 length, u32 level);
246 246
247void 247void
248acpi_dm_start_dependent_descriptor(struct asl_start_dependent_desc *resource, 248acpi_dm_start_dependent_descriptor(union asl_resource_desc *resource,
249 u32 length, u32 level); 249 u32 length, u32 level);
250 250
251void 251void
252acpi_dm_end_dependent_descriptor(struct asl_start_dependent_desc *resource, 252acpi_dm_end_dependent_descriptor(union asl_resource_desc *resource,
253 u32 length, u32 level); 253 u32 length, u32 level);
254 254
255void 255void
256acpi_dm_vendor_small_descriptor(struct asl_small_vendor_desc *resource, 256acpi_dm_vendor_small_descriptor(union asl_resource_desc *resource,
257 u32 length, u32 level); 257 u32 length, u32 level);
258 258
259/* 259/*
diff --git a/include/acpi/aclocal.h b/include/acpi/aclocal.h
index 9fba0fddda90..76ac1533c405 100644
--- a/include/acpi/aclocal.h
+++ b/include/acpi/aclocal.h
@@ -744,12 +744,13 @@ struct acpi_bit_register_info {
744#define ACPI_RDESC_TYPE_LARGE 0x80 744#define ACPI_RDESC_TYPE_LARGE 0x80
745#define ACPI_RDESC_TYPE_SMALL 0x00 745#define ACPI_RDESC_TYPE_SMALL 0x00
746 746
747#define ACPI_RDESC_TYPE_MASK 0x80 747#define ACPI_RDESC_SMALL_MASK 0x78 /* Bits 6:3 contain the type */
748#define ACPI_RDESC_SMALL_MASK 0x78 /* Only bits 6:3 contain the type */ 748#define ACPI_RDESC_SMALL_LENGTH_MASK 0x07 /* Bits 2:0 contain the length */
749#define ACPI_RDESC_LARGE_MASK 0x7F /* Bits 6:0 contain the type */
749 750
750/* 751/*
751 * Small resource descriptor types 752 * Small resource descriptor types
752 * Note: The 3 length bits (2:0) must be zero 753 * Note: Bits 2:0 are used for the descriptor length
753 */ 754 */
754#define ACPI_RDESC_TYPE_IRQ_FORMAT 0x20 755#define ACPI_RDESC_TYPE_IRQ_FORMAT 0x20
755#define ACPI_RDESC_TYPE_DMA_FORMAT 0x28 756#define ACPI_RDESC_TYPE_DMA_FORMAT 0x28
@@ -757,6 +758,10 @@ struct acpi_bit_register_info {
757#define ACPI_RDESC_TYPE_END_DEPENDENT 0x38 758#define ACPI_RDESC_TYPE_END_DEPENDENT 0x38
758#define ACPI_RDESC_TYPE_IO_PORT 0x40 759#define ACPI_RDESC_TYPE_IO_PORT 0x40
759#define ACPI_RDESC_TYPE_FIXED_IO_PORT 0x48 760#define ACPI_RDESC_TYPE_FIXED_IO_PORT 0x48
761#define ACPI_RDESC_TYPE_RESERVED_S1 0x50
762#define ACPI_RDESC_TYPE_RESERVED_S2 0x58
763#define ACPI_RDESC_TYPE_RESERVED_S3 0x60
764#define ACPI_RDESC_TYPE_RESERVED_S4 0x68
760#define ACPI_RDESC_TYPE_SMALL_VENDOR 0x70 765#define ACPI_RDESC_TYPE_SMALL_VENDOR 0x70
761#define ACPI_RDESC_TYPE_END_TAG 0x78 766#define ACPI_RDESC_TYPE_END_TAG 0x78
762 767
@@ -764,7 +769,8 @@ struct acpi_bit_register_info {
764 * Large resource descriptor types 769 * Large resource descriptor types
765 */ 770 */
766#define ACPI_RDESC_TYPE_MEMORY_24 0x81 771#define ACPI_RDESC_TYPE_MEMORY_24 0x81
767#define ACPI_RDESC_TYPE_GENERAL_REGISTER 0x82 772#define ACPI_RDESC_TYPE_GENERIC_REGISTER 0x82
773#define ACPI_RDESC_TYPE_RESERVED_L1 0x83
768#define ACPI_RDESC_TYPE_LARGE_VENDOR 0x84 774#define ACPI_RDESC_TYPE_LARGE_VENDOR 0x84
769#define ACPI_RDESC_TYPE_MEMORY_32 0x85 775#define ACPI_RDESC_TYPE_MEMORY_32 0x85
770#define ACPI_RDESC_TYPE_FIXED_MEMORY_32 0x86 776#define ACPI_RDESC_TYPE_FIXED_MEMORY_32 0x86
@@ -773,6 +779,15 @@ struct acpi_bit_register_info {
773#define ACPI_RDESC_TYPE_EXTENDED_XRUPT 0x89 779#define ACPI_RDESC_TYPE_EXTENDED_XRUPT 0x89
774#define ACPI_RDESC_TYPE_QWORD_ADDRESS_SPACE 0x8A 780#define ACPI_RDESC_TYPE_QWORD_ADDRESS_SPACE 0x8A
775#define ACPI_RDESC_TYPE_EXTENDED_ADDRESS_SPACE 0x8B 781#define ACPI_RDESC_TYPE_EXTENDED_ADDRESS_SPACE 0x8B
782#define ACPI_RDESC_LARGE_MAX 0x8B
783
784/*
785 * Minimum lengths for descriptors with optional fields
786 */
787#define ACPI_RDESC_QWORD_MIN 43
788#define ACPI_RDESC_DWORD_MIN 23
789#define ACPI_RDESC_WORD_MIN 13
790#define ACPI_RDESC_EXT_XRUPT_MIN 6
776 791
777/***************************************************************************** 792/*****************************************************************************
778 * 793 *
diff --git a/include/acpi/acresrc.h b/include/acpi/acresrc.h
index 38e798b05d08..ce2cf72fd4c8 100644
--- a/include/acpi/acresrc.h
+++ b/include/acpi/acresrc.h
@@ -110,7 +110,7 @@ acpi_rs_byte_stream_to_list(u8 * byte_stream_buffer,
110 u32 byte_stream_buffer_length, u8 * output_buffer); 110 u32 byte_stream_buffer_length, u8 * output_buffer);
111 111
112acpi_status 112acpi_status
113acpi_rs_list_to_byte_stream(struct acpi_resource *linked_list, 113acpi_rs_list_to_byte_stream(struct acpi_resource *resource,
114 acpi_size byte_stream_size_needed, 114 acpi_size byte_stream_size_needed,
115 u8 * output_buffer); 115 u8 * output_buffer);
116 116
@@ -125,11 +125,11 @@ acpi_rs_fixed_io_resource(u8 * byte_stream_buffer,
125 u8 ** output_buffer, acpi_size * structure_size); 125 u8 ** output_buffer, acpi_size * structure_size);
126 126
127acpi_status 127acpi_status
128acpi_rs_io_stream(struct acpi_resource *linked_list, 128acpi_rs_io_stream(struct acpi_resource *resource,
129 u8 ** output_buffer, acpi_size * bytes_consumed); 129 u8 ** output_buffer, acpi_size * bytes_consumed);
130 130
131acpi_status 131acpi_status
132acpi_rs_fixed_io_stream(struct acpi_resource *linked_list, 132acpi_rs_fixed_io_stream(struct acpi_resource *resource,
133 u8 ** output_buffer, acpi_size * bytes_consumed); 133 u8 ** output_buffer, acpi_size * bytes_consumed);
134 134
135acpi_status 135acpi_status
@@ -138,7 +138,7 @@ acpi_rs_irq_resource(u8 * byte_stream_buffer,
138 u8 ** output_buffer, acpi_size * structure_size); 138 u8 ** output_buffer, acpi_size * structure_size);
139 139
140acpi_status 140acpi_status
141acpi_rs_irq_stream(struct acpi_resource *linked_list, 141acpi_rs_irq_stream(struct acpi_resource *resource,
142 u8 ** output_buffer, acpi_size * bytes_consumed); 142 u8 ** output_buffer, acpi_size * bytes_consumed);
143 143
144acpi_status 144acpi_status
@@ -147,7 +147,7 @@ acpi_rs_dma_resource(u8 * byte_stream_buffer,
147 u8 ** output_buffer, acpi_size * structure_size); 147 u8 ** output_buffer, acpi_size * structure_size);
148 148
149acpi_status 149acpi_status
150acpi_rs_dma_stream(struct acpi_resource *linked_list, 150acpi_rs_dma_stream(struct acpi_resource *resource,
151 u8 ** output_buffer, acpi_size * bytes_consumed); 151 u8 ** output_buffer, acpi_size * bytes_consumed);
152 152
153acpi_status 153acpi_status
@@ -156,7 +156,7 @@ acpi_rs_address16_resource(u8 * byte_stream_buffer,
156 u8 ** output_buffer, acpi_size * structure_size); 156 u8 ** output_buffer, acpi_size * structure_size);
157 157
158acpi_status 158acpi_status
159acpi_rs_address16_stream(struct acpi_resource *linked_list, 159acpi_rs_address16_stream(struct acpi_resource *resource,
160 u8 ** output_buffer, acpi_size * bytes_consumed); 160 u8 ** output_buffer, acpi_size * bytes_consumed);
161 161
162acpi_status 162acpi_status
@@ -165,7 +165,7 @@ acpi_rs_address32_resource(u8 * byte_stream_buffer,
165 u8 ** output_buffer, acpi_size * structure_size); 165 u8 ** output_buffer, acpi_size * structure_size);
166 166
167acpi_status 167acpi_status
168acpi_rs_address32_stream(struct acpi_resource *linked_list, 168acpi_rs_address32_stream(struct acpi_resource *resource,
169 u8 ** output_buffer, acpi_size * bytes_consumed); 169 u8 ** output_buffer, acpi_size * bytes_consumed);
170 170
171acpi_status 171acpi_status
@@ -174,7 +174,7 @@ acpi_rs_address64_resource(u8 * byte_stream_buffer,
174 u8 ** output_buffer, acpi_size * structure_size); 174 u8 ** output_buffer, acpi_size * structure_size);
175 175
176acpi_status 176acpi_status
177acpi_rs_address64_stream(struct acpi_resource *linked_list, 177acpi_rs_address64_stream(struct acpi_resource *resource,
178 u8 ** output_buffer, acpi_size * bytes_consumed); 178 u8 ** output_buffer, acpi_size * bytes_consumed);
179 179
180acpi_status 180acpi_status
@@ -190,12 +190,12 @@ acpi_rs_end_depend_fns_resource(u8 * byte_stream_buffer,
190 acpi_size * structure_size); 190 acpi_size * structure_size);
191 191
192acpi_status 192acpi_status
193acpi_rs_start_depend_fns_stream(struct acpi_resource *linked_list, 193acpi_rs_start_depend_fns_stream(struct acpi_resource *resource,
194 u8 ** output_buffer, 194 u8 ** output_buffer,
195 acpi_size * bytes_consumed); 195 acpi_size * bytes_consumed);
196 196
197acpi_status 197acpi_status
198acpi_rs_end_depend_fns_stream(struct acpi_resource *linked_list, 198acpi_rs_end_depend_fns_stream(struct acpi_resource *resource,
199 u8 ** output_buffer, acpi_size * bytes_consumed); 199 u8 ** output_buffer, acpi_size * bytes_consumed);
200 200
201acpi_status 201acpi_status
@@ -204,7 +204,7 @@ acpi_rs_memory24_resource(u8 * byte_stream_buffer,
204 u8 ** output_buffer, acpi_size * structure_size); 204 u8 ** output_buffer, acpi_size * structure_size);
205 205
206acpi_status 206acpi_status
207acpi_rs_memory24_stream(struct acpi_resource *linked_list, 207acpi_rs_memory24_stream(struct acpi_resource *resource,
208 u8 ** output_buffer, acpi_size * bytes_consumed); 208 u8 ** output_buffer, acpi_size * bytes_consumed);
209 209
210acpi_status 210acpi_status
@@ -220,11 +220,11 @@ acpi_rs_fixed_memory32_resource(u8 * byte_stream_buffer,
220 acpi_size * structure_size); 220 acpi_size * structure_size);
221 221
222acpi_status 222acpi_status
223acpi_rs_memory32_range_stream(struct acpi_resource *linked_list, 223acpi_rs_memory32_range_stream(struct acpi_resource *resource,
224 u8 ** output_buffer, acpi_size * bytes_consumed); 224 u8 ** output_buffer, acpi_size * bytes_consumed);
225 225
226acpi_status 226acpi_status
227acpi_rs_fixed_memory32_stream(struct acpi_resource *linked_list, 227acpi_rs_fixed_memory32_stream(struct acpi_resource *resource,
228 u8 ** output_buffer, acpi_size * bytes_consumed); 228 u8 ** output_buffer, acpi_size * bytes_consumed);
229 229
230acpi_status 230acpi_status
@@ -233,7 +233,7 @@ acpi_rs_extended_irq_resource(u8 * byte_stream_buffer,
233 u8 ** output_buffer, acpi_size * structure_size); 233 u8 ** output_buffer, acpi_size * structure_size);
234 234
235acpi_status 235acpi_status
236acpi_rs_extended_irq_stream(struct acpi_resource *linked_list, 236acpi_rs_extended_irq_stream(struct acpi_resource *resource,
237 u8 ** output_buffer, acpi_size * bytes_consumed); 237 u8 ** output_buffer, acpi_size * bytes_consumed);
238 238
239acpi_status 239acpi_status
@@ -242,7 +242,7 @@ acpi_rs_end_tag_resource(u8 * byte_stream_buffer,
242 u8 ** output_buffer, acpi_size * structure_size); 242 u8 ** output_buffer, acpi_size * structure_size);
243 243
244acpi_status 244acpi_status
245acpi_rs_end_tag_stream(struct acpi_resource *linked_list, 245acpi_rs_end_tag_stream(struct acpi_resource *resource,
246 u8 ** output_buffer, acpi_size * bytes_consumed); 246 u8 ** output_buffer, acpi_size * bytes_consumed);
247 247
248acpi_status 248acpi_status
@@ -251,9 +251,23 @@ acpi_rs_vendor_resource(u8 * byte_stream_buffer,
251 u8 ** output_buffer, acpi_size * structure_size); 251 u8 ** output_buffer, acpi_size * structure_size);
252 252
253acpi_status 253acpi_status
254acpi_rs_vendor_stream(struct acpi_resource *linked_list, 254acpi_rs_vendor_stream(struct acpi_resource *resource,
255 u8 ** output_buffer, acpi_size * bytes_consumed); 255 u8 ** output_buffer, acpi_size * bytes_consumed);
256 256
257u8 acpi_rs_get_resource_type(u8 resource_start_byte); 257u8 acpi_rs_get_resource_type(u8 resource_start_byte);
258 258
259/*
260 * rsmisc
261 */
262acpi_status
263acpi_rs_generic_register_resource(u8 * byte_stream_buffer,
264 acpi_size * bytes_consumed,
265 u8 ** output_buffer,
266 acpi_size * structure_size);
267
268acpi_status
269acpi_rs_generic_register_stream(struct acpi_resource *resource,
270 u8 ** output_buffer,
271 acpi_size * bytes_consumed);
272
259#endif /* __ACRESRC_H__ */ 273#endif /* __ACRESRC_H__ */
diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h
index 6213b27516e8..1dfa64fae4ec 100644
--- a/include/acpi/actypes.h
+++ b/include/acpi/actypes.h
@@ -1125,6 +1125,14 @@ struct acpi_resource_ext_irq {
1125 u32 interrupts[1]; 1125 u32 interrupts[1];
1126}; 1126};
1127 1127
1128struct acpi_resource_generic_reg {
1129 u32 space_id;
1130 u32 bit_width;
1131 u32 bit_offset;
1132 u32 address_size;
1133 u64 address;
1134};
1135
1128/* ACPI_RESOURCE_TYPEs */ 1136/* ACPI_RESOURCE_TYPEs */
1129 1137
1130#define ACPI_RSTYPE_IRQ 0 1138#define ACPI_RSTYPE_IRQ 0
@@ -1142,6 +1150,8 @@ struct acpi_resource_ext_irq {
1142#define ACPI_RSTYPE_ADDRESS32 12 1150#define ACPI_RSTYPE_ADDRESS32 12
1143#define ACPI_RSTYPE_ADDRESS64 13 1151#define ACPI_RSTYPE_ADDRESS64 13
1144#define ACPI_RSTYPE_EXT_IRQ 14 1152#define ACPI_RSTYPE_EXT_IRQ 14
1153#define ACPI_RSTYPE_GENERIC_REG 15
1154#define ACPI_RSTYPE_MAX 15
1145 1155
1146typedef u32 acpi_resource_type; 1156typedef u32 acpi_resource_type;
1147 1157
@@ -1161,10 +1171,11 @@ union acpi_resource_data {
1161 struct acpi_resource_address32 address32; 1171 struct acpi_resource_address32 address32;
1162 struct acpi_resource_address64 address64; 1172 struct acpi_resource_address64 address64;
1163 struct acpi_resource_ext_irq extended_irq; 1173 struct acpi_resource_ext_irq extended_irq;
1174 struct acpi_resource_generic_reg generic_reg;
1164}; 1175};
1165 1176
1166struct acpi_resource { 1177struct acpi_resource {
1167 acpi_resource_type id; 1178 acpi_resource_type type;
1168 u32 length; 1179 u32 length;
1169 union acpi_resource_data data; 1180 union acpi_resource_data data;
1170}; 1181};
diff --git a/include/acpi/amlresrc.h b/include/acpi/amlresrc.h
index 051786e4b210..a3c46ba6358d 100644
--- a/include/acpi/amlresrc.h
+++ b/include/acpi/amlresrc.h
@@ -157,10 +157,15 @@ struct asl_end_tag_desc {
157 157
158/* LARGE descriptors */ 158/* LARGE descriptors */
159 159
160#define ASL_LARGE_HEADER_COMMON \
161 u8 descriptor_type;\
162 u16 length;
163
164struct asl_large_header {
165ASL_LARGE_HEADER_COMMON};
166
160struct asl_memory_24_desc { 167struct asl_memory_24_desc {
161 u8 descriptor_type; 168 ASL_LARGE_HEADER_COMMON u8 information;
162 u16 length;
163 u8 information;
164 u16 address_min; 169 u16 address_min;
165 u16 address_max; 170 u16 address_max;
166 u16 alignment; 171 u16 alignment;
@@ -168,15 +173,11 @@ struct asl_memory_24_desc {
168}; 173};
169 174
170struct asl_large_vendor_desc { 175struct asl_large_vendor_desc {
171 u8 descriptor_type; 176 ASL_LARGE_HEADER_COMMON u8 vendor_defined[1];
172 u16 length;
173 u8 vendor_defined[1];
174}; 177};
175 178
176struct asl_memory_32_desc { 179struct asl_memory_32_desc {
177 u8 descriptor_type; 180 ASL_LARGE_HEADER_COMMON u8 information;
178 u16 length;
179 u8 information;
180 u32 address_min; 181 u32 address_min;
181 u32 address_max; 182 u32 address_max;
182 u32 alignment; 183 u32 alignment;
@@ -184,17 +185,13 @@ struct asl_memory_32_desc {
184}; 185};
185 186
186struct asl_fixed_memory_32_desc { 187struct asl_fixed_memory_32_desc {
187 u8 descriptor_type; 188 ASL_LARGE_HEADER_COMMON u8 information;
188 u16 length;
189 u8 information;
190 u32 base_address; 189 u32 base_address;
191 u32 range_length; 190 u32 range_length;
192}; 191};
193 192
194struct asl_extended_address_desc { 193struct asl_extended_address_desc {
195 u8 descriptor_type; 194 ASL_LARGE_HEADER_COMMON u8 resource_type;
196 u16 length;
197 u8 resource_type;
198 u8 flags; 195 u8 flags;
199 u8 specific_flags; 196 u8 specific_flags;
200 u8 revision_iD; 197 u8 revision_iD;
@@ -211,9 +208,7 @@ struct asl_extended_address_desc {
211#define ASL_EXTENDED_ADDRESS_DESC_REVISION 1 /* ACPI 3.0 */ 208#define ASL_EXTENDED_ADDRESS_DESC_REVISION 1 /* ACPI 3.0 */
212 209
213struct asl_qword_address_desc { 210struct asl_qword_address_desc {
214 u8 descriptor_type; 211 ASL_LARGE_HEADER_COMMON u8 resource_type;
215 u16 length;
216 u8 resource_type;
217 u8 flags; 212 u8 flags;
218 u8 specific_flags; 213 u8 specific_flags;
219 u64 granularity; 214 u64 granularity;
@@ -225,9 +220,7 @@ struct asl_qword_address_desc {
225}; 220};
226 221
227struct asl_dword_address_desc { 222struct asl_dword_address_desc {
228 u8 descriptor_type; 223 ASL_LARGE_HEADER_COMMON u8 resource_type;
229 u16 length;
230 u8 resource_type;
231 u8 flags; 224 u8 flags;
232 u8 specific_flags; 225 u8 specific_flags;
233 u32 granularity; 226 u32 granularity;
@@ -239,9 +232,7 @@ struct asl_dword_address_desc {
239}; 232};
240 233
241struct asl_word_address_desc { 234struct asl_word_address_desc {
242 u8 descriptor_type; 235 ASL_LARGE_HEADER_COMMON u8 resource_type;
243 u16 length;
244 u8 resource_type;
245 u8 flags; 236 u8 flags;
246 u8 specific_flags; 237 u8 specific_flags;
247 u16 granularity; 238 u16 granularity;
@@ -253,18 +244,14 @@ struct asl_word_address_desc {
253}; 244};
254 245
255struct asl_extended_xrupt_desc { 246struct asl_extended_xrupt_desc {
256 u8 descriptor_type; 247 ASL_LARGE_HEADER_COMMON u8 flags;
257 u16 length;
258 u8 flags;
259 u8 table_length; 248 u8 table_length;
260 u32 interrupt_number[1]; 249 u32 interrupt_number[1];
261 /* res_source_index, res_source optional fields follow */ 250 /* res_source_index, res_source optional fields follow */
262}; 251};
263 252
264struct asl_general_register_desc { 253struct asl_generic_register_desc {
265 u8 descriptor_type; 254 ASL_LARGE_HEADER_COMMON u8 address_space_id;
266 u16 length;
267 u8 address_space_id;
268 u8 bit_width; 255 u8 bit_width;
269 u8 bit_offset; 256 u8 bit_offset;
270 u8 access_size; /* ACPI 3.0, was Reserved */ 257 u8 access_size; /* ACPI 3.0, was Reserved */
@@ -280,13 +267,14 @@ struct asl_general_register_desc {
280union asl_resource_desc { 267union asl_resource_desc {
281 struct asl_irq_format_desc irq; 268 struct asl_irq_format_desc irq;
282 struct asl_dma_format_desc dma; 269 struct asl_dma_format_desc dma;
283 struct asl_start_dependent_desc std;
284 struct asl_end_dependent_desc end;
285 struct asl_io_port_desc iop; 270 struct asl_io_port_desc iop;
286 struct asl_fixed_io_port_desc fio; 271 struct asl_fixed_io_port_desc fio;
272 struct asl_start_dependent_desc std;
273 struct asl_end_dependent_desc end;
287 struct asl_small_vendor_desc smv; 274 struct asl_small_vendor_desc smv;
288 struct asl_end_tag_desc et; 275 struct asl_end_tag_desc et;
289 276
277 struct asl_large_header lhd;
290 struct asl_memory_24_desc M24; 278 struct asl_memory_24_desc M24;
291 struct asl_large_vendor_desc lgv; 279 struct asl_large_vendor_desc lgv;
292 struct asl_memory_32_desc M32; 280 struct asl_memory_32_desc M32;
@@ -296,7 +284,7 @@ union asl_resource_desc {
296 struct asl_word_address_desc was; 284 struct asl_word_address_desc was;
297 struct asl_extended_address_desc eas; 285 struct asl_extended_address_desc eas;
298 struct asl_extended_xrupt_desc exx; 286 struct asl_extended_xrupt_desc exx;
299 struct asl_general_register_desc grg; 287 struct asl_generic_register_desc grg;
300 u32 u32_item; 288 u32 u32_item;
301 u16 u16_item; 289 u16 u16_item;
302 u8 U8item; 290 u8 U8item;
diff --git a/include/acpi/platform/acenv.h b/include/acpi/platform/acenv.h
index 16609c1ab2eb..08539125696a 100644
--- a/include/acpi/platform/acenv.h
+++ b/include/acpi/platform/acenv.h
@@ -68,6 +68,7 @@
68#define ACPI_APPLICATION 68#define ACPI_APPLICATION
69#define ACPI_DEBUGGER 69#define ACPI_DEBUGGER
70#define ACPI_DISASSEMBLER 70#define ACPI_DISASSEMBLER
71#define ACPI_MUTEX_DEBUG
71#endif 72#endif
72 73
73#ifdef ACPI_ASL_COMPILER 74#ifdef ACPI_ASL_COMPILER