• 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 * QWord Space Resource Descriptor Macro
33 */
34
35Name (p42c, Package() {
36
37	// Byte 4 (General Flags) of QWord Address Space Descriptor
38
39	ResourceTemplate () {
40		QWordSpace (0xc0, ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, 0x0a,
41			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
42			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
43	},
44	ResourceTemplate () {
45		QWordSpace (0xc1, ResourceProducer, PosDecode, MinNotFixed, MaxFixed, 0x1a,
46			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
47			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
48	},
49	ResourceTemplate () {
50		QWordSpace (0xc2, ResourceProducer, PosDecode, MinFixed, MaxNotFixed, 0x2a,
51			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
52			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
53	},
54	ResourceTemplate () {
55		QWordSpace (0xc3, ResourceProducer, PosDecode, MinFixed, MaxFixed, 0x3a,
56			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
57			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
58	},
59	ResourceTemplate () {
60		QWordSpace (0xc4, ResourceProducer, SubDecode, MinNotFixed, MaxNotFixed, 0x4a,
61			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
62			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
63	},
64	ResourceTemplate () {
65		QWordSpace (0xc5, ResourceProducer, SubDecode, MinNotFixed, MaxFixed, 0x5a,
66			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
67			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
68	},
69	ResourceTemplate () {
70		QWordSpace (0xc6, ResourceProducer, SubDecode, MinFixed, MaxNotFixed, 0x6a,
71			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
72			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
73	},
74	ResourceTemplate () {
75		QWordSpace (0xc7, ResourceProducer, SubDecode, MinFixed, MaxFixed, 0x7a,
76			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
77			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
78	},
79	ResourceTemplate () {
80		QWordSpace (0xc8, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x8a,
81			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
82			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
83	},
84	ResourceTemplate () {
85		QWordSpace (0xc9, ResourceConsumer, PosDecode, MinNotFixed, MaxFixed, 0x9a,
86			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
87			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
88	},
89	ResourceTemplate () {
90		QWordSpace (0xca, ResourceConsumer, PosDecode, MinFixed, MaxNotFixed, 0xaa,
91			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
92			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
93	},
94	ResourceTemplate () {
95		QWordSpace (0xcb, ResourceConsumer, PosDecode, MinFixed, MaxFixed, 0xba,
96			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
97			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
98	},
99	ResourceTemplate () {
100		QWordSpace (0xcc, ResourceConsumer, SubDecode, MinNotFixed, MaxNotFixed, 0xca,
101			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
102			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
103	},
104	ResourceTemplate () {
105		QWordSpace (0xcd, ResourceConsumer, SubDecode, MinNotFixed, MaxFixed, 0xda,
106			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
107			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
108	},
109	ResourceTemplate () {
110		QWordSpace (0xce, ResourceConsumer, SubDecode, MinFixed, MaxNotFixed, 0xea,
111			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
112			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
113	},
114	ResourceTemplate () {
115		QWordSpace (0xff, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0xfa,
116			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
117			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
118	},
119
120	// Byte 5 (Type Specific Flags) of QWord Address Space Descriptor
121
122	ResourceTemplate () {
123		QWordSpace (0xc0, , , , , 0x00,
124			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
125			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
126	},
127	ResourceTemplate () {
128		QWordSpace (0xc0, , , , , 0xff,
129			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
130			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff)
131	},
132
133	// Particular cases
134
135	ResourceTemplate () {
136		QWordSpace (0xc0, , , , , 0x5a,
137			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
138			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
139			 , )
140	},
141	ResourceTemplate () {
142		QWordSpace (0xc0, , , , , 0x5a,
143			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
144			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
145			 , , )
146	},
147
148	// Resource Source
149
150	ResourceTemplate () {
151		QWordSpace (0xc0, , , , , 0x5a,
152			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
153			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
154			0x01, "")
155	},
156	ResourceTemplate () {
157		QWordSpace (0xc0, , , , , 0x5a,
158			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
159			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
160			0x0f, "P")
161	},
162	ResourceTemplate () {
163		QWordSpace (0xc0, , , , , 0x5a,
164			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
165			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
166			0xf0, "PATH")
167	},
168	ResourceTemplate () {
169		QWordSpace (0xc0, , , , , 0x5a,
170			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
171			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
172			0xff,
173			"!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&'()*",
174			)
175	},
176
177	// Particular cases
178
179	ResourceTemplate () {
180		QWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5a,
181			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
182			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
183			0xff, "PATHPATHPATH", QSP0)
184	},
185	ResourceTemplate () {
186		QWordSpace (0xc0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0,
187			0, 0, 0, 0, 0,
188			0xff, "PATHPATHPATH", )
189	},
190
191	// 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
192	ResourceTemplate () {
193		QWordSpace (0xc0, , , , , 0x5a,
194			0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
195			0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff,
196			0x0f)
197	},
198})
199
200/*
201ACPI Specification, Revision 3.0, September 2, 2004
2026.4.3.5.1   QWord Address Space Descriptor
203
204Memory QWord Address Space Descriptor layout:
205
206Byte 0 (Tag Bits): Value=10001010B (0x8a) (Type = 1, Large item name = 0xA)
207Byte 1 (Length, bits[7:0]): Variable: Value = 43 (minimum)
208Byte 2 (Length, bits[15:8]): Variable: Value = 0 (minimum)
209Byte 3 (Resource Type):
210	192-255	Hardware Vendor Defined
211Byte 4 (General Flags):
212	Bits[7:4] 	Reserved (must be 0)
213	Bit[3] 		Min Address Fixed, _MAF:
214			1	The specified maximum address is fixed
215			0	The specified maximum address is not fixed
216				and can be changed
217	Bit[2] 		Max Address Fixed,_MIF:
218			1	The specified minimum address is fixed
219			0	The specified minimum address is not fixed
220				and can be changed
221	Bit[1] 		Decode Type, _DEC:
222			1	This bridge subtractively decodes this address
223	 	 	 	(top level bridges only)
224			0	This bridge positively decodes this address
225	Bit[0] 		Consumer/Producer:
226			1-This device consumes this resource
227			0-This device produces and consumes this resource
228Byte 5 (Type Specific Flags):
229		Flags that are specific to each resource type. The meaning of the flags
230		in this field depends on the value of the Resource Type field (see above)
231Byte 6 (Address space granularity, _GRA bits[7:0]):
232	A set bit in this mask means that this bit is decoded. All bits less
233	significant than the most significant set bit must be set. (in other
234	words, the value of the full Address Space Granularity field (all 32
235	bits) must be a number (2**n-1).
236Byte 7 (Address space granularity, _GRA bits[15:8])
237Byte 8 (Address space granularity, _GRA bits[23:16])
238Byte 9 (Address space granularity, _GRA bits[31:24])
239Byte 10 (Address space granularity, _GRA bits[39:32])
240Byte 11 (Address space granularity, _GRA bits[47:40])
241Byte 12 (Address space granularity, _GRA bits[55:48])
242Byte 13 (Address space granularity, _GRA bits[63:56])
243Byte 14 (Address range minimum, _MIN bits [7:0]):
244	For bridges that translate addresses, this is the address space
245	on the secondary side of the bridge
246Byte 15 (Address range minimum, _MIN bits[15:8])
247Byte 16 (Address range minimum, _MIN bits[23:16])
248Byte 17 (Address range minimum, _MIN bits[31:24])
249Byte 18 (Address range minimum, _MIN bits[39:32])
250Byte 19 (Address range minimum, _MIN bits[47:40])
251Byte 20 (Address range minimum, _MIN bits[55:48])
252Byte 21 (Address range minimum, _MIN bits[63:56])
253Byte 22 (Address range maximum, _MAX bits [7:0]): See comment for _MIN
254Byte 23 (Address range maximum, _MAX bits[15:8])
255Byte 24 (Address range maximum, _MAX bits[23:16])
256Byte 25 (Address range maximum, _MAX bits[31:24])
257Byte 26 (Address range maximum, _MAX bits[39:32])
258Byte 27 (Address range maximum, _MAX bits[47:40])
259Byte 28 (Address range maximum, _MAX bits[55:48])
260Byte 29 (Address range maximum, _MAX bits[63:56])
261Byte 30 (Address Translation offset, _TRA bits [7:0]):
262	For bridges that translate addresses across the bridge, this is the
263	offset that must be added to the address on the secondary side to obtain
264	the address on the primary side. Non-bridge devices must list 0 for all
265	Address Translation offset bits
266Byte 31 (Address Translation offset, _TRA bits[15:8])
267Byte 32 (Address Translation offset, _TRA bits[23:16])
268Byte 33 (Address Translation offset, _TRA bits[31:24])
269Byte 34 (Address Translation offset, _TRA bits[39:32])
270Byte 35 (Address Translation offset, _TRA bits[47:40])
271Byte 36 (Address Translation offset, _TRA bits[55:48])
272Byte 37 (Address Translation offset, _TRA bits[63:56])
273Byte 38 (Address Length, _LEN bits [7:0])
274Byte 39 (Address Length, _LEN bits[15:8])
275Byte 40 (Address Length, _LEN bits[23:16])
276Byte 41 (Address Length, _LEN bits[31:24])
277Byte 42 (Address Length, _LEN bits[39:32])
278Byte 43 (Address Length, _LEN bits[47:40])
279Byte 44 (Address Length, _LEN bits[55:48])
280Byte 45 (Address Length, _LEN bits[63:56])
281Byte 46 (Resource Source Index):
282	(Optional) Only present if Resource Source (below) is present. This
283	field gives an index to the specific resource descriptor that this
284	device consumes from in the current resource template for the device
285	object pointed to in Resource Source
286String (Resource Source):
287	(Optional) If present, the device that uses this descriptor consumes
288	its resources from the resources produced by the named device object.
289	If not present, the device consumes its resources out of a global pool.
290	If not present, the device consumes this resource from its hierarchical
291	parent.
292*/
293
294Name (p42d, Package() {
295
296	// Byte 4 (General Flags) of QWord Address Space Descriptor
297
298	Buffer () {0x8a, 0x2b, 0x00, 0xc0, 0x00, 0x0a,
299		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
300		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
301		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
302		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
303		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
304	Buffer () {0x8a, 0x2b, 0x00, 0xc1, 0x08, 0x1a,
305		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
306		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
307		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
308		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
309		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
310	Buffer () {0x8a, 0x2b, 0x00, 0xc2, 0x04, 0x2a,
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 () {0x8a, 0x2b, 0x00, 0xc3, 0x0c, 0x3a,
317		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
318		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
319		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
320		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
321		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
322	Buffer () {0x8a, 0x2b, 0x00, 0xc4, 0x02, 0x4a,
323		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
324		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
325		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
326		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
327		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
328	Buffer () {0x8a, 0x2b, 0x00, 0xc5, 0x0a, 0x5a,
329		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
330		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
331		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
332		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
333		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
334	Buffer () {0x8a, 0x2b, 0x00, 0xc6, 0x06, 0x6a,
335		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
336		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
337		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
338		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
339		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
340	Buffer () {0x8a, 0x2b, 0x00, 0xc7, 0x0e, 0x7a,
341		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
342		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
343		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
344		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
345		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
346	Buffer () {0x8a, 0x2b, 0x00, 0xc8, 0x01, 0x8a,
347		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
348		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
349		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
350		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
351		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
352	Buffer () {0x8a, 0x2b, 0x00, 0xc9, 0x09, 0x9a,
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 () {0x8a, 0x2b, 0x00, 0xca, 0x05, 0xaa,
359		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
360		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
361		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
362		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
363		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
364	Buffer () {0x8a, 0x2b, 0x00, 0xcb, 0x0d, 0xba,
365		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
366		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
367		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
368		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
369		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
370	Buffer () {0x8a, 0x2b, 0x00, 0xcc, 0x03, 0xca,
371		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
372		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
373		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
374		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
375		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
376	Buffer () {0x8a, 0x2b, 0x00, 0xcd, 0x0b, 0xda,
377		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
378		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
379		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
380		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
381		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
382	Buffer () {0x8a, 0x2b, 0x00, 0xce, 0x07, 0xea,
383		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
384		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
385		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
386		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
387		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
388	Buffer () {0x8a, 0x2b, 0x00, 0xff, 0x0f, 0xfa,
389		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
390		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
391		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
392		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
393		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
394
395	// Byte 5 (Type Specific Flags) of QWord Address Space Descriptor
396
397	Buffer () {0x8a, 0x2b, 0x00, 0xc0, 0x01, 0x00,
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	Buffer () {0x8a, 0x2b, 0x00, 0xc0, 0x01, 0xff,
404		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
405		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
406		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
407		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
408		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
409
410	// Particular cases
411
412	Buffer () {0x8a, 0x2b, 0x00, 0xc0, 0x01, 0x5a,
413		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
414		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
415		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
416		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
417		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
418	Buffer () {0x8a, 0x2b, 0x00, 0xc0, 0x01, 0x5a,
419		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
420		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
421		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
422		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
423		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0x79, 0x00},
424
425	// Resource Source
426
427	Buffer () {0x8a, 0x2d, 0x00, 0xc0, 0x01, 0x5a,
428		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
429		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
430		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
431		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
432		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
433		0x01, 0x00, 0x79, 0x00},
434	Buffer () {0x8a, 0x2e, 0x00, 0xc0, 0x01, 0x5a,
435		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
436		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
437		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
438		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
439		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
440		0x0f, 0x50, 0x00, 0x79, 0x00},
441	Buffer () {0x8a, 0x31, 0x00, 0xc0, 0x01, 0x5a,
442		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
443		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
444		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
445		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
446		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
447		0xf0, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
448	Buffer () {0x8a, 0xf5, 0x00, 0xc0, 0x01, 0x5a,
449		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
450		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
451		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
452		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
453		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
454		0xff,
455		0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
456		0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
457		0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
458		0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
459		0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
460		0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
461		0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
462		0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60,
463		0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
464		0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,
465		0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
466		0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21,
467		0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29,
468		0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
469		0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
470		0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
471		0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
472		0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51,
473		0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
474		0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
475		0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
476		0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71,
477		0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
478		0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x20, 0x21, 0x22,
479		0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,
480		0x00, 0x79, 0x00},
481
482	// Particular cases
483
484	Buffer () {0x8a, 0x39, 0x00, 0xc0, 0x0f, 0x5a,
485		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
486		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
487		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
488		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
489		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
490		0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
491		0x48, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
492	Buffer () {0x8a, 0x39, 0x00, 0xc0, 0x0f, 0x00,
493		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
494		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
495		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
496		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
497		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
498		0xff, 0x50, 0x41, 0x54, 0x48, 0x50, 0x41, 0x54,
499		0x48, 0x50, 0x41, 0x54, 0x48, 0x00, 0x79, 0x00},
500
501	// 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection)
502	Buffer () {0x8a, 0x2c, 0x00, 0xc0, 0x01, 0x5a,
503		0xdf, 0xde, 0xdd, 0xdc, 0xdb, 0xda, 0xd9, 0xd8,
504		0xe7, 0xe6, 0xe5, 0xe4, 0xe3, 0xe2, 0xe1, 0xe0,
505		0xef, 0xee, 0xed, 0xec, 0xeb, 0xea, 0xe9, 0xe8,
506		0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0,
507		0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8,
508		0x0f, 0x79, 0x00},
509})
510
511Method(RT14,, Serialized)
512{
513	Name(ts, "RT14")
514
515	// Emit test header, set the filename
516
517	THDR (ts, "QWordSpace Resource Descriptor Macro", __FILE__)
518
519    // Main test case for packages above
520
521	m330(ts, 27, "p42c", p42c, p42d)
522
523    // Check resource descriptor tag offsets
524
525	Store (
526		ResourceTemplate () {
527			QWordSpace (0xc0, ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, 0x5a,
528				0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
529				0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, , , QSP0)
530			QWordSpace (0xc0, ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, 0x5a,
531				0xd8d9dadbdcdddedf, 0xe0e1e2e3e4e5e6e7, 0xe8e9eaebecedeeef,
532				0xf0f1f2f3f4f5f6f7, 0xf8f9fafbfcfdfeff, , , QSP1)
533		}, Local0)
534
535	m331(ts, 1,  QSP0._DEC, 0x21, QSP1._DEC, 0x191, "_DEC")
536	m331(ts, 2,  QSP0._MIF, 0x22, QSP1._MIF, 0x192, "_MIF")
537	m331(ts, 3,  QSP0._MAF, 0x23, QSP1._MAF, 0x193, "_MAF")
538	m331(ts, 7,  QSP0._GRA, 0x30, QSP1._GRA, 0x1A0, "_GRA")
539	m331(ts, 8,  QSP0._MIN, 0x70, QSP1._MIN, 0x1E0, "_MIN")
540	m331(ts, 9,  QSP0._MAX, 0xB0, QSP1._MAX, 0x220, "_MAX")
541	m331(ts, 10, QSP0._TRA, 0xF0, QSP1._TRA, 0x260, "_TRA")
542	m331(ts, 11, QSP0._LEN, 0x130, QSP1._LEN, 0x2A0, "_LEN")
543}
544
545
546