• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /barrelfish-2018-10-04/lib/acpica/tests/aslts/src/runtime/collections/functional/descriptor/
1/*
2 * Some or all of this work - Copyright (c) 2006 - 2016, Intel Corp.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without modification,
6 * are permitted provided that the following conditions are met:
7 *
8 * Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer.
10 * Redistributions in binary form must reproduce the above copyright notice,
11 * this list of conditions and the following disclaimer in the documentation
12 * and/or other materials provided with the distribution.
13 * Neither the name of Intel Corporation nor the names of its contributors
14 * may be used to endorse or promote products derived from this software
15 * without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29/*
30 * Resource Descriptor macros
31 *
32 * Extended Space Resource Descriptor Macro
33 */
34
35Name (p432, Package() {
36
37	// Byte 4 (General Flags) of Extended Address Space Descriptor
38
39	ResourceTemplate () {
40		ExtendedSpace (0xc0, ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, 0x0a,
41			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
42			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
43	},
44	ResourceTemplate () {
45		ExtendedSpace (0xc1, ResourceProducer, PosDecode, MinNotFixed, MaxFixed, 0x1a,
46			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
47			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
48	},
49	ResourceTemplate () {
50		ExtendedSpace (0xc2, ResourceProducer, PosDecode, MinFixed, MaxNotFixed, 0x2a,
51			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
52			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
53	},
54	ResourceTemplate () {
55		ExtendedSpace (0xc3, ResourceProducer, PosDecode, MinFixed, MaxFixed, 0x3a,
56			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
57			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
58	},
59	ResourceTemplate () {
60		ExtendedSpace (0xc4, ResourceProducer, SubDecode, MinNotFixed, MaxNotFixed, 0x4a,
61			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
62			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
63	},
64	ResourceTemplate () {
65		ExtendedSpace (0xc5, ResourceProducer, SubDecode, MinNotFixed, MaxFixed, 0x5a,
66			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
67			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
68	},
69	ResourceTemplate () {
70		ExtendedSpace (0xc6, ResourceProducer, SubDecode, MinFixed, MaxNotFixed, 0x6a,
71			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
72			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
73	},
74	ResourceTemplate () {
75		ExtendedSpace (0xc7, ResourceProducer, SubDecode, MinFixed, MaxFixed, 0x7a,
76			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
77			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
78	},
79	ResourceTemplate () {
80		ExtendedSpace (0xc8, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x8a,
81			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
82			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
83	},
84	ResourceTemplate () {
85		ExtendedSpace (0xc9, ResourceConsumer, PosDecode, MinNotFixed, MaxFixed, 0x9a,
86			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
87			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
88	},
89	ResourceTemplate () {
90		ExtendedSpace (0xca, ResourceConsumer, PosDecode, MinFixed, MaxNotFixed, 0xaa,
91			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
92			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
93	},
94	ResourceTemplate () {
95		ExtendedSpace (0xcb, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xba,
96			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
97			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
98	},
99	ResourceTemplate () {
100		ExtendedSpace (0xcc, ResourceConsumer, SubDecode, MinNotFixed, MaxNotFixed, 0xca,
101			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
102			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
103	},
104	ResourceTemplate () {
105		ExtendedSpace (0xcd, ResourceConsumer, SubDecode, MinNotFixed, MaxFixed, 0xda,
106			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
107			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
108	},
109	ResourceTemplate () {
110		ExtendedSpace (0xce, ResourceConsumer, SubDecode, MinFixed, MaxNotFixed, 0xea,
111			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
112			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
113	},
114	ResourceTemplate () {
115		ExtendedSpace (0xff, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0xfa,
116			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
117			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
118	},
119
120	// Byte 5 (Type Specific Flags) of Extended Address Space Descriptor
121
122	ResourceTemplate () {
123		ExtendedSpace (0xc0, , , , , 0x00,
124			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
125			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
126	},
127	ResourceTemplate () {
128		ExtendedSpace (0xc0, , , , , 0xff,
129			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
130			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
131	},
132
133	// Particular cases
134
135	ResourceTemplate () {
136		ExtendedSpace (0xc0, , , , , 0x5a,
137			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
138			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
139	},
140	ResourceTemplate () {
141		ExtendedSpace (0xc0, , , , , 0x5a,
142			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
143			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7)
144	},
145	ResourceTemplate () {
146		ExtendedSpace (0xc0, , , , , 0x5a,
147			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
148			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
149			 )
150	},
151	ResourceTemplate () {
152		ExtendedSpace (0xc0, , , , , 0x5a,
153			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
154			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, ,
155			 )
156	},
157	ResourceTemplate () {
158		ExtendedSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
159			0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
160			0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
161			ESP0)
162	},
163	ResourceTemplate () {
164		ExtendedSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0,
165			0, 0, 0, 0, 0, 0,
166			 )
167	},
168})
169
170/*
171ACPI Specification, Revision 3.0, September 2, 2004
1726.4.3.5.4   Extended Address Space Descriptor
173
174Space Extended Address Space Descriptor layout:
175
176Byte 0 (Tag Bits): Value=10001011B (0x8b) (Type = 1, Large item name = 0xB)
177Byte 1 (Length, bits[7:0]): Variable: Value = 53 (minimum)
178Byte 2 (Length, bits[15:8]): Variable: Value = 0 (minimum)
179Byte 3 (Resource Type):
180	192-255	Hardware Vendor Defined
181Byte 4 (General Flags):
182	Bits[7:4] 	Reserved (must be 0)
183	Bit[3] 		Min Address Fixed, _MAF:
184			1	The specified maximum address is fixed
185			0	The specified maximum address is not fixed
186				and can be changed
187	Bit[2] 		Max Address Fixed,_MIF:
188			1	The specified minimum address is fixed
189			0	The specified minimum address is not fixed
190				and can be changed
191	Bit[1] 		Decode Type, _DEC:
192			1	This bridge subtractively decodes this address
193	 	 	 	(top level bridges only)
194			0	This bridge positively decodes this address
195	Bit[0] 		Consumer/Producer:
196			1-This device consumes this resource
197			0-This device produces and consumes this resource
198Byte 5 (Type Specific Flags):
199		Flags that are specific to each resource type. The meaning of the flags
200		in this field depends on the value of the Resource Type field (see above)
201Byte 6 (Revision ID):
202	Indicates the revision of the Extended Address Space descriptor.
203	For ACPI 3.0, this value is 1.
204Byte 7 (Reserved): 0
205Byte 8 (Address space granularity, _GRA bits[7:0]):
206	A set bit in this mask means that this bit is decoded. All bits less
207	significant than the most significant set bit must be set. (in other
208	words, the value of the full Address Space Granularity field (all 32
209	bits) must be a number (2**n-1).
210Byte 9 (Address space granularity, _GRA bits[15:8])
211Byte 10 (Address space granularity, _GRA bits[23:16])
212Byte 11 (Address space granularity, _GRA bits[31:24])
213Byte 12 (Address space granularity, _GRA bits[39:32])
214Byte 13 (Address space granularity, _GRA bits[47:40])
215Byte 14 (Address space granularity, _GRA bits[55:48])
216Byte 15 (Address space granularity, _GRA bits[63:56])
217Byte 16 (Address range minimum, _MIN bits [7:0]):
218	For bridges that translate addresses, this is the address space
219	on the secondary side of the bridge
220Byte 17 (Address range minimum, _MIN bits[15:8])
221Byte 18 (Address range minimum, _MIN bits[23:16])
222Byte 19 (Address range minimum, _MIN bits[31:24])
223Byte 20 (Address range minimum, _MIN bits[39:32])
224Byte 21 (Address range minimum, _MIN bits[47:40])
225Byte 22 (Address range minimum, _MIN bits[55:48])
226Byte 23 (Address range minimum, _MIN bits[63:56])
227Byte 24 (Address range maximum, _MAX bits [7:0]): See comment for _MIN
228Byte 25 (Address range maximum, _MAX bits[15:8])
229Byte 26 (Address range maximum, _MAX bits[23:16])
230Byte 27 (Address range maximum, _MAX bits[31:24])
231Byte 28 (Address range maximum, _MAX bits[39:32])
232Byte 29 (Address range maximum, _MAX bits[47:40])
233Byte 30 (Address range maximum, _MAX bits[55:48])
234Byte 31 (Address range maximum, _MAX bits[63:56])
235Byte 32 (Address Translation offset, _TRA bits [7:0]):
236	For bridges that translate addresses across the bridge, this is the
237	offset that must be added to the address on the secondary side to obtain
238	the address on the primary side. Non-bridge devices must list 0 for all
239	Address Translation offset bits
240Byte 33 (Address Translation offset, _TRA bits[15:8])
241Byte 34 (Address Translation offset, _TRA bits[23:16])
242Byte 35 (Address Translation offset, _TRA bits[31:24])
243Byte 36 (Address Translation offset, _TRA bits[39:32])
244Byte 37 (Address Translation offset, _TRA bits[47:40])
245Byte 38 (Address Translation offset, _TRA bits[55:48])
246Byte 39 (Address Translation offset, _TRA bits[63:56])
247Byte 40 (Address Length, _LEN bits [7:0])
248Byte 41 (Address Length, _LEN bits[15:8])
249Byte 42 (Address Length, _LEN bits[23:16])
250Byte 43 (Address Length, _LEN bits[31:24])
251Byte 44 (Address Length, _LEN bits[39:32])
252Byte 45 (Address Length, _LEN bits[47:40])
253Byte 46 (Address Length, _LEN bits[55:48])
254Byte 47 (Address Length, _LEN bits[63:56])
255Byte 48 (Type Specific Attribute, _ATT bits [7:0]):
256	Attributes that are specific to each resource type. The meaning
257	of the attributes in this field depends on the value of the Resource
258	Type field (see above). For the Memory Resource Type, the definition
259	is defined section 6.4.3.5.4.1. For other Resource Types, this field
260	is reserved to 0
261Byte 49 (Type Specific Attribute, _ATT bits[15:8])
262Byte 50 (Type Specific Attribute, _ATT bits[23:16])
263Byte 51 (Type Specific Attribute, _ATT bits[31:24])
264Byte 52 (Type Specific Attribute, _ATT bits[39:32])
265Byte 53 (Type Specific Attribute, _ATT bits[47:40])
266Byte 54 (Type Specific Attribute, _ATT bits[55:48])
267Byte 55 (Type Specific Attribute, _ATT bits[63:56])
268*/
269
270Name (p433, Package() {
271
272	// Byte 4 (General Flags) of Extended Address Space Descriptor
273
274	Buffer () {0x8b, 0x35, 0x00, 0xc0, 0x00, 0x0a, 0x01, 0x00,
275		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
276		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
277		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
278		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
279		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
280		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
281	Buffer () {0x8b, 0x35, 0x00, 0xc1, 0x08, 0x1a, 0x01, 0x00,
282		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
283		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
284		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
285		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
286		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
287		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
288	Buffer () {0x8b, 0x35, 0x00, 0xc2, 0x04, 0x2a, 0x01, 0x00,
289		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
290		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
291		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
292		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
293		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
294		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
295	Buffer () {0x8b, 0x35, 0x00, 0xc3, 0x0c, 0x3a, 0x01, 0x00,
296		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
297		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
298		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
299		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
300		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
301		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
302	Buffer () {0x8b, 0x35, 0x00, 0xc4, 0x02, 0x4a, 0x01, 0x00,
303		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
304		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
305		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
306		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
307		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
308		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
309	Buffer () {0x8b, 0x35, 0x00, 0xc5, 0x0a, 0x5a, 0x01, 0x00,
310		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
311		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
312		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
313		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
314		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
315		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
316	Buffer () {0x8b, 0x35, 0x00, 0xc6, 0x06, 0x6a, 0x01, 0x00,
317		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
318		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
319		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
320		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
321		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
322		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
323	Buffer () {0x8b, 0x35, 0x00, 0xc7, 0x0e, 0x7a, 0x01, 0x00,
324		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
325		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
326		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
327		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
328		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
329		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
330	Buffer () {0x8b, 0x35, 0x00, 0xc8, 0x01, 0x8a, 0x01, 0x00,
331		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
332		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
333		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
334		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
335		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
336		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
337	Buffer () {0x8b, 0x35, 0x00, 0xc9, 0x09, 0x9a, 0x01, 0x00,
338		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
339		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
340		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
341		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
342		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
343		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
344	Buffer () {0x8b, 0x35, 0x00, 0xca, 0x05, 0xaa, 0x01, 0x00,
345		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
346		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
347		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
348		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
349		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
350		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
351	Buffer () {0x8b, 0x35, 0x00, 0xcb, 0x0d, 0xba, 0x01, 0x00,
352		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
353		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
354		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
355		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
356		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
357		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
358	Buffer () {0x8b, 0x35, 0x00, 0xcc, 0x03, 0xca, 0x01, 0x00,
359		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
360		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
361		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
362		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
363		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
364		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
365	Buffer () {0x8b, 0x35, 0x00, 0xcd, 0x0b, 0xda, 0x01, 0x00,
366		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
367		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
368		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
369		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
370		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
371		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
372	Buffer () {0x8b, 0x35, 0x00, 0xce, 0x07, 0xea, 0x01, 0x00,
373		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
374		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
375		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
376		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
377		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
378		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
379	Buffer () {0x8b, 0x35, 0x00, 0xff, 0x0f, 0xfa, 0x01, 0x00,
380		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
381		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
382		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
383		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
384		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
385		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
386
387	// Byte 5 (Type Specific Flags) of Extended Address Space Descriptor
388
389	Buffer () {0x8b, 0x35, 0x00, 0xc0, 0x01, 0x00, 0x01, 0x00,
390		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
391		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
392		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
393		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
394		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
395		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
396	Buffer () {0x8b, 0x35, 0x00, 0xc0, 0x01, 0xff, 0x01, 0x00,
397		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
398		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
399		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
400		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
401		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
402		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
403
404	// Particular cases
405
406	Buffer () {0x8b, 0x35, 0x00, 0xc0, 0x01, 0x5a, 0x01, 0x00,
407		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
408		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
409		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
410		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
411		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
412		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
413	Buffer () {0x8b, 0x35, 0x00, 0xc0, 0x01, 0x5a, 0x01, 0x00,
414		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
415		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
416		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
417		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
418		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
419		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00},
420	Buffer () {0x8b, 0x35, 0x00, 0xc0, 0x01, 0x5a, 0x01, 0x00,
421		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
422		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
423		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
424		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
425		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
426		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
427	Buffer () {0x8b, 0x35, 0x00, 0xc0, 0x01, 0x5a, 0x01, 0x00,
428		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
429		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
430		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
431		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
432		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
433		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00},
434	Buffer () {0x8b, 0x35, 0x00, 0xc0, 0x0f, 0x5a, 0x01, 0x00,
435		0xd7, 0xd6, 0xd5, 0xd4, 0xd3, 0xd2, 0xd1, 0xd0,
436		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
437		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
438		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
439		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
440		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
441	Buffer () {0x8b, 0x35, 0x00, 0xc0, 0x0f, 0x00, 0x01, 0x00,
442		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
443		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
444		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
445		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
446		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
447		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00},
448})
449
450Method(RT17,, Serialized)
451{
452	Name(ts, "RT17")
453
454	// Emit test header, set the filename
455
456	THDR (ts, "ExtendedSpace Resource Descriptor Macro", __FILE__)
457
458    // Main test case for packages above
459
460	m330(ts, 24, "p432", p432, p433)
461
462    // Check resource descriptor tag offsets
463
464	Store (
465		ResourceTemplate () {
466			ExtendedSpace (0xc0, ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, 0x5a,
467				0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
468				0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, ESP0)
469			ExtendedSpace (0xc0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5a,
470				0xd0d1d2d3d4d5d6d7, 0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7,
471				0xe8e9eaebecedeeef, 0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, ESP1)
472		}, Local0)
473
474	m331(ts, 1, ESP0._DEC, 0x21, ESP1._DEC, 0x1e1, "_DEC")
475	m331(ts, 2, ESP0._MIF, 0x22, ESP1._MIF, 0x1e2, "_MIF")
476	m331(ts, 3, ESP0._MAF, 0x23, ESP1._MAF, 0x1e3, "_MAF")
477	m331(ts, 4, ESP0._GRA, 0x40, ESP1._GRA, 0x200, "_GRA")
478	m331(ts, 5, ESP0._MIN, 0x80, ESP1._MIN, 0x240, "_MIN")
479	m331(ts, 6, ESP0._MAX, 0xC0, ESP1._MAX, 0x280, "_MAX")
480	m331(ts, 7, ESP0._TRA, 0x100, ESP1._TRA, 0x2C0, "_TRA")
481	m331(ts, 8, ESP0._LEN, 0x140, ESP1._LEN, 0x300, "_LEN")
482	m331(ts, 9, ESP0._ATT, 0x180, ESP1._ATT, 0x340, "_ATT")
483}
484
485
486