1    /*
2     * Some or all of this work - Copyright (c) 2006 - 2021, 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     * Resource Descriptor macros
30     *
31     * QWord Memory Resource Descriptor Macro
32     */
33    Name (P424, Package (0x59)
34    {
35        ResourceTemplate ()
36        {
37            QWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
38                0xD8D9DADBDCDDDEDF, // Granularity
39                0xE0E1E2E3E4E5E6E7, // Range Minimum
40                0xE8E9EAEBECEDEEEF, // Range Maximum
41                0xF0F1F2F3F4F5F6F7, // Translation Offset
42                0xF8F9FAFBFCFDFEFF, // Length
43                ,, , AddressRangeMemory, TypeStatic)
44        },
45
46        ResourceTemplate ()
47        {
48            QWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxFixed, NonCacheable, ReadWrite,
49                0xD8D9DADBDCDDDEDF, // Granularity
50                0xE0E1E2E3E4E5E6E7, // Range Minimum
51                0xE8E9EAEBECEDEEEF, // Range Maximum
52                0xF0F1F2F3F4F5F6F7, // Translation Offset
53                0xF8F9FAFBFCFDFEFF, // Length
54                ,, , AddressRangeMemory, TypeStatic)
55        },
56
57        ResourceTemplate ()
58        {
59            QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxNotFixed, NonCacheable, ReadWrite,
60                0xD8D9DADBDCDDDEDF, // Granularity
61                0xE0E1E2E3E4E5E6E7, // Range Minimum
62                0xE8E9EAEBECEDEEEF, // Range Maximum
63                0xF0F1F2F3F4F5F6F7, // Translation Offset
64                0xF8F9FAFBFCFDFEFF, // Length
65                ,, , AddressRangeMemory, TypeStatic)
66        },
67
68        ResourceTemplate ()
69        {
70            QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
71                0xD8D9DADBDCDDDEDF, // Granularity
72                0xE0E1E2E3E4E5E6E7, // Range Minimum
73                0xE8E9EAEBECEDEEEF, // Range Maximum
74                0xF0F1F2F3F4F5F6F7, // Translation Offset
75                0xF8F9FAFBFCFDFEFF, // Length
76                ,, , AddressRangeMemory, TypeStatic)
77        },
78
79        ResourceTemplate ()
80        {
81            QWordMemory (ResourceProducer, SubDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
82                0xD8D9DADBDCDDDEDF, // Granularity
83                0xE0E1E2E3E4E5E6E7, // Range Minimum
84                0xE8E9EAEBECEDEEEF, // Range Maximum
85                0xF0F1F2F3F4F5F6F7, // Translation Offset
86                0xF8F9FAFBFCFDFEFF, // Length
87                ,, , AddressRangeMemory, TypeStatic)
88        },
89
90        ResourceTemplate ()
91        {
92            QWordMemory (ResourceProducer, SubDecode, MinNotFixed, MaxFixed, NonCacheable, ReadWrite,
93                0xD8D9DADBDCDDDEDF, // Granularity
94                0xE0E1E2E3E4E5E6E7, // Range Minimum
95                0xE8E9EAEBECEDEEEF, // Range Maximum
96                0xF0F1F2F3F4F5F6F7, // Translation Offset
97                0xF8F9FAFBFCFDFEFF, // Length
98                ,, , AddressRangeMemory, TypeStatic)
99        },
100
101        ResourceTemplate ()
102        {
103            QWordMemory (ResourceProducer, SubDecode, MinFixed, MaxNotFixed, NonCacheable, ReadWrite,
104                0xD8D9DADBDCDDDEDF, // Granularity
105                0xE0E1E2E3E4E5E6E7, // Range Minimum
106                0xE8E9EAEBECEDEEEF, // Range Maximum
107                0xF0F1F2F3F4F5F6F7, // Translation Offset
108                0xF8F9FAFBFCFDFEFF, // Length
109                ,, , AddressRangeMemory, TypeStatic)
110        },
111
112        ResourceTemplate ()
113        {
114            QWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
115                0xD8D9DADBDCDDDEDF, // Granularity
116                0xE0E1E2E3E4E5E6E7, // Range Minimum
117                0xE8E9EAEBECEDEEEF, // Range Maximum
118                0xF0F1F2F3F4F5F6F7, // Translation Offset
119                0xF8F9FAFBFCFDFEFF, // Length
120                ,, , AddressRangeMemory, TypeStatic)
121        },
122
123        ResourceTemplate ()
124        {
125            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
126                0xD8D9DADBDCDDDEDF, // Granularity
127                0xE0E1E2E3E4E5E6E7, // Range Minimum
128                0xE8E9EAEBECEDEEEF, // Range Maximum
129                0xF0F1F2F3F4F5F6F7, // Translation Offset
130                0xF8F9FAFBFCFDFEFF, // Length
131                ,, , AddressRangeMemory, TypeStatic)
132        },
133
134        ResourceTemplate ()
135        {
136            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxFixed, NonCacheable, ReadWrite,
137                0xD8D9DADBDCDDDEDF, // Granularity
138                0xE0E1E2E3E4E5E6E7, // Range Minimum
139                0xE8E9EAEBECEDEEEF, // Range Maximum
140                0xF0F1F2F3F4F5F6F7, // Translation Offset
141                0xF8F9FAFBFCFDFEFF, // Length
142                ,, , AddressRangeMemory, TypeStatic)
143        },
144
145        ResourceTemplate ()
146        {
147            QWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxNotFixed, NonCacheable, ReadWrite,
148                0xD8D9DADBDCDDDEDF, // Granularity
149                0xE0E1E2E3E4E5E6E7, // Range Minimum
150                0xE8E9EAEBECEDEEEF, // Range Maximum
151                0xF0F1F2F3F4F5F6F7, // Translation Offset
152                0xF8F9FAFBFCFDFEFF, // Length
153                ,, , AddressRangeMemory, TypeStatic)
154        },
155
156        ResourceTemplate ()
157        {
158            QWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
159                0xD8D9DADBDCDDDEDF, // Granularity
160                0xE0E1E2E3E4E5E6E7, // Range Minimum
161                0xE8E9EAEBECEDEEEF, // Range Maximum
162                0xF0F1F2F3F4F5F6F7, // Translation Offset
163                0xF8F9FAFBFCFDFEFF, // Length
164                ,, , AddressRangeMemory, TypeStatic)
165        },
166
167        ResourceTemplate ()
168        {
169            QWordMemory (ResourceConsumer, SubDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
170                0xD8D9DADBDCDDDEDF, // Granularity
171                0xE0E1E2E3E4E5E6E7, // Range Minimum
172                0xE8E9EAEBECEDEEEF, // Range Maximum
173                0xF0F1F2F3F4F5F6F7, // Translation Offset
174                0xF8F9FAFBFCFDFEFF, // Length
175                ,, , AddressRangeMemory, TypeStatic)
176        },
177
178        ResourceTemplate ()
179        {
180            QWordMemory (ResourceConsumer, SubDecode, MinNotFixed, MaxFixed, NonCacheable, ReadWrite,
181                0xD8D9DADBDCDDDEDF, // Granularity
182                0xE0E1E2E3E4E5E6E7, // Range Minimum
183                0xE8E9EAEBECEDEEEF, // Range Maximum
184                0xF0F1F2F3F4F5F6F7, // Translation Offset
185                0xF8F9FAFBFCFDFEFF, // Length
186                ,, , AddressRangeMemory, TypeStatic)
187        },
188
189        ResourceTemplate ()
190        {
191            QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxNotFixed, NonCacheable, ReadWrite,
192                0xD8D9DADBDCDDDEDF, // Granularity
193                0xE0E1E2E3E4E5E6E7, // Range Minimum
194                0xE8E9EAEBECEDEEEF, // Range Maximum
195                0xF0F1F2F3F4F5F6F7, // Translation Offset
196                0xF8F9FAFBFCFDFEFF, // Length
197                ,, , AddressRangeMemory, TypeStatic)
198        },
199
200        ResourceTemplate ()
201        {
202            QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
203                0xD8D9DADBDCDDDEDF, // Granularity
204                0xE0E1E2E3E4E5E6E7, // Range Minimum
205                0xE8E9EAEBECEDEEEF, // Range Maximum
206                0xF0F1F2F3F4F5F6F7, // Translation Offset
207                0xF8F9FAFBFCFDFEFF, // Length
208                ,, , AddressRangeMemory, TypeStatic)
209        },
210
211        ResourceTemplate ()
212        {
213            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
214                0xD8D9DADBDCDDDEDF, // Granularity
215                0xE0E1E2E3E4E5E6E7, // Range Minimum
216                0xE8E9EAEBECEDEEEF, // Range Maximum
217                0xF0F1F2F3F4F5F6F7, // Translation Offset
218                0xF8F9FAFBFCFDFEFF, // Length
219                ,, , AddressRangeMemory, TypeStatic)
220        },
221
222        ResourceTemplate ()
223        {
224            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
225                0xD8D9DADBDCDDDEDF, // Granularity
226                0xE0E1E2E3E4E5E6E7, // Range Minimum
227                0xE8E9EAEBECEDEEEF, // Range Maximum
228                0xF0F1F2F3F4F5F6F7, // Translation Offset
229                0xF8F9FAFBFCFDFEFF, // Length
230                ,, , AddressRangeMemory, TypeTranslation)
231        },
232
233        ResourceTemplate ()
234        {
235            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
236                0xD8D9DADBDCDDDEDF, // Granularity
237                0xE0E1E2E3E4E5E6E7, // Range Minimum
238                0xE8E9EAEBECEDEEEF, // Range Maximum
239                0xF0F1F2F3F4F5F6F7, // Translation Offset
240                0xF8F9FAFBFCFDFEFF, // Length
241                ,, , AddressRangeReserved, TypeStatic)
242        },
243
244        ResourceTemplate ()
245        {
246            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
247                0xD8D9DADBDCDDDEDF, // Granularity
248                0xE0E1E2E3E4E5E6E7, // Range Minimum
249                0xE8E9EAEBECEDEEEF, // Range Maximum
250                0xF0F1F2F3F4F5F6F7, // Translation Offset
251                0xF8F9FAFBFCFDFEFF, // Length
252                ,, , AddressRangeReserved, TypeTranslation)
253        },
254
255        ResourceTemplate ()
256        {
257            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
258                0xD8D9DADBDCDDDEDF, // Granularity
259                0xE0E1E2E3E4E5E6E7, // Range Minimum
260                0xE8E9EAEBECEDEEEF, // Range Maximum
261                0xF0F1F2F3F4F5F6F7, // Translation Offset
262                0xF8F9FAFBFCFDFEFF, // Length
263                ,, , AddressRangeACPI, TypeStatic)
264        },
265
266        ResourceTemplate ()
267        {
268            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
269                0xD8D9DADBDCDDDEDF, // Granularity
270                0xE0E1E2E3E4E5E6E7, // Range Minimum
271                0xE8E9EAEBECEDEEEF, // Range Maximum
272                0xF0F1F2F3F4F5F6F7, // Translation Offset
273                0xF8F9FAFBFCFDFEFF, // Length
274                ,, , AddressRangeACPI, TypeTranslation)
275        },
276
277        ResourceTemplate ()
278        {
279            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
280                0xD8D9DADBDCDDDEDF, // Granularity
281                0xE0E1E2E3E4E5E6E7, // Range Minimum
282                0xE8E9EAEBECEDEEEF, // Range Maximum
283                0xF0F1F2F3F4F5F6F7, // Translation Offset
284                0xF8F9FAFBFCFDFEFF, // Length
285                ,, , AddressRangeNVS, TypeStatic)
286        },
287
288        ResourceTemplate ()
289        {
290            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
291                0xD8D9DADBDCDDDEDF, // Granularity
292                0xE0E1E2E3E4E5E6E7, // Range Minimum
293                0xE8E9EAEBECEDEEEF, // Range Maximum
294                0xF0F1F2F3F4F5F6F7, // Translation Offset
295                0xF8F9FAFBFCFDFEFF, // Length
296                ,, , AddressRangeNVS, TypeTranslation)
297        },
298
299        ResourceTemplate ()
300        {
301            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
302                0xD8D9DADBDCDDDEDF, // Granularity
303                0xE0E1E2E3E4E5E6E7, // Range Minimum
304                0xE8E9EAEBECEDEEEF, // Range Maximum
305                0xF0F1F2F3F4F5F6F7, // Translation Offset
306                0xF8F9FAFBFCFDFEFF, // Length
307                ,, , AddressRangeMemory, TypeStatic)
308        },
309
310        ResourceTemplate ()
311        {
312            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
313                0xD8D9DADBDCDDDEDF, // Granularity
314                0xE0E1E2E3E4E5E6E7, // Range Minimum
315                0xE8E9EAEBECEDEEEF, // Range Maximum
316                0xF0F1F2F3F4F5F6F7, // Translation Offset
317                0xF8F9FAFBFCFDFEFF, // Length
318                ,, , AddressRangeMemory, TypeTranslation)
319        },
320
321        ResourceTemplate ()
322        {
323            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
324                0xD8D9DADBDCDDDEDF, // Granularity
325                0xE0E1E2E3E4E5E6E7, // Range Minimum
326                0xE8E9EAEBECEDEEEF, // Range Maximum
327                0xF0F1F2F3F4F5F6F7, // Translation Offset
328                0xF8F9FAFBFCFDFEFF, // Length
329                ,, , AddressRangeReserved, TypeStatic)
330        },
331
332        ResourceTemplate ()
333        {
334            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
335                0xD8D9DADBDCDDDEDF, // Granularity
336                0xE0E1E2E3E4E5E6E7, // Range Minimum
337                0xE8E9EAEBECEDEEEF, // Range Maximum
338                0xF0F1F2F3F4F5F6F7, // Translation Offset
339                0xF8F9FAFBFCFDFEFF, // Length
340                ,, , AddressRangeReserved, TypeTranslation)
341        },
342
343        ResourceTemplate ()
344        {
345            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
346                0xD8D9DADBDCDDDEDF, // Granularity
347                0xE0E1E2E3E4E5E6E7, // Range Minimum
348                0xE8E9EAEBECEDEEEF, // Range Maximum
349                0xF0F1F2F3F4F5F6F7, // Translation Offset
350                0xF8F9FAFBFCFDFEFF, // Length
351                ,, , AddressRangeACPI, TypeStatic)
352        },
353
354        ResourceTemplate ()
355        {
356            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
357                0xD8D9DADBDCDDDEDF, // Granularity
358                0xE0E1E2E3E4E5E6E7, // Range Minimum
359                0xE8E9EAEBECEDEEEF, // Range Maximum
360                0xF0F1F2F3F4F5F6F7, // Translation Offset
361                0xF8F9FAFBFCFDFEFF, // Length
362                ,, , AddressRangeACPI, TypeTranslation)
363        },
364
365        ResourceTemplate ()
366        {
367            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
368                0xD8D9DADBDCDDDEDF, // Granularity
369                0xE0E1E2E3E4E5E6E7, // Range Minimum
370                0xE8E9EAEBECEDEEEF, // Range Maximum
371                0xF0F1F2F3F4F5F6F7, // Translation Offset
372                0xF8F9FAFBFCFDFEFF, // Length
373                ,, , AddressRangeNVS, TypeStatic)
374        },
375
376        ResourceTemplate ()
377        {
378            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
379                0xD8D9DADBDCDDDEDF, // Granularity
380                0xE0E1E2E3E4E5E6E7, // Range Minimum
381                0xE8E9EAEBECEDEEEF, // Range Maximum
382                0xF0F1F2F3F4F5F6F7, // Translation Offset
383                0xF8F9FAFBFCFDFEFF, // Length
384                ,, , AddressRangeNVS, TypeTranslation)
385        },
386
387        ResourceTemplate ()
388        {
389            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadOnly,
390                0xD8D9DADBDCDDDEDF, // Granularity
391                0xE0E1E2E3E4E5E6E7, // Range Minimum
392                0xE8E9EAEBECEDEEEF, // Range Maximum
393                0xF0F1F2F3F4F5F6F7, // Translation Offset
394                0xF8F9FAFBFCFDFEFF, // Length
395                ,, , AddressRangeMemory, TypeStatic)
396        },
397
398        ResourceTemplate ()
399        {
400            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadOnly,
401                0xD8D9DADBDCDDDEDF, // Granularity
402                0xE0E1E2E3E4E5E6E7, // Range Minimum
403                0xE8E9EAEBECEDEEEF, // Range Maximum
404                0xF0F1F2F3F4F5F6F7, // Translation Offset
405                0xF8F9FAFBFCFDFEFF, // Length
406                ,, , AddressRangeMemory, TypeTranslation)
407        },
408
409        ResourceTemplate ()
410        {
411            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadOnly,
412                0xD8D9DADBDCDDDEDF, // Granularity
413                0xE0E1E2E3E4E5E6E7, // Range Minimum
414                0xE8E9EAEBECEDEEEF, // Range Maximum
415                0xF0F1F2F3F4F5F6F7, // Translation Offset
416                0xF8F9FAFBFCFDFEFF, // Length
417                ,, , AddressRangeReserved, TypeStatic)
418        },
419
420        ResourceTemplate ()
421        {
422            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadOnly,
423                0xD8D9DADBDCDDDEDF, // Granularity
424                0xE0E1E2E3E4E5E6E7, // Range Minimum
425                0xE8E9EAEBECEDEEEF, // Range Maximum
426                0xF0F1F2F3F4F5F6F7, // Translation Offset
427                0xF8F9FAFBFCFDFEFF, // Length
428                ,, , AddressRangeReserved, TypeTranslation)
429        },
430
431        ResourceTemplate ()
432        {
433            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadOnly,
434                0xD8D9DADBDCDDDEDF, // Granularity
435                0xE0E1E2E3E4E5E6E7, // Range Minimum
436                0xE8E9EAEBECEDEEEF, // Range Maximum
437                0xF0F1F2F3F4F5F6F7, // Translation Offset
438                0xF8F9FAFBFCFDFEFF, // Length
439                ,, , AddressRangeACPI, TypeStatic)
440        },
441
442        ResourceTemplate ()
443        {
444            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadOnly,
445                0xD8D9DADBDCDDDEDF, // Granularity
446                0xE0E1E2E3E4E5E6E7, // Range Minimum
447                0xE8E9EAEBECEDEEEF, // Range Maximum
448                0xF0F1F2F3F4F5F6F7, // Translation Offset
449                0xF8F9FAFBFCFDFEFF, // Length
450                ,, , AddressRangeACPI, TypeTranslation)
451        },
452
453        ResourceTemplate ()
454        {
455            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadOnly,
456                0xD8D9DADBDCDDDEDF, // Granularity
457                0xE0E1E2E3E4E5E6E7, // Range Minimum
458                0xE8E9EAEBECEDEEEF, // Range Maximum
459                0xF0F1F2F3F4F5F6F7, // Translation Offset
460                0xF8F9FAFBFCFDFEFF, // Length
461                ,, , AddressRangeNVS, TypeStatic)
462        },
463
464        ResourceTemplate ()
465        {
466            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadOnly,
467                0xD8D9DADBDCDDDEDF, // Granularity
468                0xE0E1E2E3E4E5E6E7, // Range Minimum
469                0xE8E9EAEBECEDEEEF, // Range Maximum
470                0xF0F1F2F3F4F5F6F7, // Translation Offset
471                0xF8F9FAFBFCFDFEFF, // Length
472                ,, , AddressRangeNVS, TypeTranslation)
473        },
474
475        ResourceTemplate ()
476        {
477            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadWrite,
478                0xD8D9DADBDCDDDEDF, // Granularity
479                0xE0E1E2E3E4E5E6E7, // Range Minimum
480                0xE8E9EAEBECEDEEEF, // Range Maximum
481                0xF0F1F2F3F4F5F6F7, // Translation Offset
482                0xF8F9FAFBFCFDFEFF, // Length
483                ,, , AddressRangeMemory, TypeStatic)
484        },
485
486        ResourceTemplate ()
487        {
488            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadWrite,
489                0xD8D9DADBDCDDDEDF, // Granularity
490                0xE0E1E2E3E4E5E6E7, // Range Minimum
491                0xE8E9EAEBECEDEEEF, // Range Maximum
492                0xF0F1F2F3F4F5F6F7, // Translation Offset
493                0xF8F9FAFBFCFDFEFF, // Length
494                ,, , AddressRangeMemory, TypeTranslation)
495        },
496
497        ResourceTemplate ()
498        {
499            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadWrite,
500                0xD8D9DADBDCDDDEDF, // Granularity
501                0xE0E1E2E3E4E5E6E7, // Range Minimum
502                0xE8E9EAEBECEDEEEF, // Range Maximum
503                0xF0F1F2F3F4F5F6F7, // Translation Offset
504                0xF8F9FAFBFCFDFEFF, // Length
505                ,, , AddressRangeReserved, TypeStatic)
506        },
507
508        ResourceTemplate ()
509        {
510            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadWrite,
511                0xD8D9DADBDCDDDEDF, // Granularity
512                0xE0E1E2E3E4E5E6E7, // Range Minimum
513                0xE8E9EAEBECEDEEEF, // Range Maximum
514                0xF0F1F2F3F4F5F6F7, // Translation Offset
515                0xF8F9FAFBFCFDFEFF, // Length
516                ,, , AddressRangeReserved, TypeTranslation)
517        },
518
519        ResourceTemplate ()
520        {
521            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadWrite,
522                0xD8D9DADBDCDDDEDF, // Granularity
523                0xE0E1E2E3E4E5E6E7, // Range Minimum
524                0xE8E9EAEBECEDEEEF, // Range Maximum
525                0xF0F1F2F3F4F5F6F7, // Translation Offset
526                0xF8F9FAFBFCFDFEFF, // Length
527                ,, , AddressRangeACPI, TypeStatic)
528        },
529
530        ResourceTemplate ()
531        {
532            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadWrite,
533                0xD8D9DADBDCDDDEDF, // Granularity
534                0xE0E1E2E3E4E5E6E7, // Range Minimum
535                0xE8E9EAEBECEDEEEF, // Range Maximum
536                0xF0F1F2F3F4F5F6F7, // Translation Offset
537                0xF8F9FAFBFCFDFEFF, // Length
538                ,, , AddressRangeACPI, TypeTranslation)
539        },
540
541        ResourceTemplate ()
542        {
543            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadWrite,
544                0xD8D9DADBDCDDDEDF, // Granularity
545                0xE0E1E2E3E4E5E6E7, // Range Minimum
546                0xE8E9EAEBECEDEEEF, // Range Maximum
547                0xF0F1F2F3F4F5F6F7, // Translation Offset
548                0xF8F9FAFBFCFDFEFF, // Length
549                ,, , AddressRangeNVS, TypeStatic)
550        },
551
552        ResourceTemplate ()
553        {
554            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadWrite,
555                0xD8D9DADBDCDDDEDF, // Granularity
556                0xE0E1E2E3E4E5E6E7, // Range Minimum
557                0xE8E9EAEBECEDEEEF, // Range Maximum
558                0xF0F1F2F3F4F5F6F7, // Translation Offset
559                0xF8F9FAFBFCFDFEFF, // Length
560                ,, , AddressRangeNVS, TypeTranslation)
561        },
562
563        ResourceTemplate ()
564        {
565            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadOnly,
566                0xD8D9DADBDCDDDEDF, // Granularity
567                0xE0E1E2E3E4E5E6E7, // Range Minimum
568                0xE8E9EAEBECEDEEEF, // Range Maximum
569                0xF0F1F2F3F4F5F6F7, // Translation Offset
570                0xF8F9FAFBFCFDFEFF, // Length
571                ,, , AddressRangeMemory, TypeStatic)
572        },
573
574        ResourceTemplate ()
575        {
576            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadOnly,
577                0xD8D9DADBDCDDDEDF, // Granularity
578                0xE0E1E2E3E4E5E6E7, // Range Minimum
579                0xE8E9EAEBECEDEEEF, // Range Maximum
580                0xF0F1F2F3F4F5F6F7, // Translation Offset
581                0xF8F9FAFBFCFDFEFF, // Length
582                ,, , AddressRangeMemory, TypeTranslation)
583        },
584
585        ResourceTemplate ()
586        {
587            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadOnly,
588                0xD8D9DADBDCDDDEDF, // Granularity
589                0xE0E1E2E3E4E5E6E7, // Range Minimum
590                0xE8E9EAEBECEDEEEF, // Range Maximum
591                0xF0F1F2F3F4F5F6F7, // Translation Offset
592                0xF8F9FAFBFCFDFEFF, // Length
593                ,, , AddressRangeReserved, TypeStatic)
594        },
595
596        ResourceTemplate ()
597        {
598            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadOnly,
599                0xD8D9DADBDCDDDEDF, // Granularity
600                0xE0E1E2E3E4E5E6E7, // Range Minimum
601                0xE8E9EAEBECEDEEEF, // Range Maximum
602                0xF0F1F2F3F4F5F6F7, // Translation Offset
603                0xF8F9FAFBFCFDFEFF, // Length
604                ,, , AddressRangeReserved, TypeTranslation)
605        },
606
607        ResourceTemplate ()
608        {
609            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadOnly,
610                0xD8D9DADBDCDDDEDF, // Granularity
611                0xE0E1E2E3E4E5E6E7, // Range Minimum
612                0xE8E9EAEBECEDEEEF, // Range Maximum
613                0xF0F1F2F3F4F5F6F7, // Translation Offset
614                0xF8F9FAFBFCFDFEFF, // Length
615                ,, , AddressRangeACPI, TypeStatic)
616        },
617
618        ResourceTemplate ()
619        {
620            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadOnly,
621                0xD8D9DADBDCDDDEDF, // Granularity
622                0xE0E1E2E3E4E5E6E7, // Range Minimum
623                0xE8E9EAEBECEDEEEF, // Range Maximum
624                0xF0F1F2F3F4F5F6F7, // Translation Offset
625                0xF8F9FAFBFCFDFEFF, // Length
626                ,, , AddressRangeACPI, TypeTranslation)
627        },
628
629        ResourceTemplate ()
630        {
631            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadOnly,
632                0xD8D9DADBDCDDDEDF, // Granularity
633                0xE0E1E2E3E4E5E6E7, // Range Minimum
634                0xE8E9EAEBECEDEEEF, // Range Maximum
635                0xF0F1F2F3F4F5F6F7, // Translation Offset
636                0xF8F9FAFBFCFDFEFF, // Length
637                ,, , AddressRangeNVS, TypeStatic)
638        },
639
640        ResourceTemplate ()
641        {
642            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadOnly,
643                0xD8D9DADBDCDDDEDF, // Granularity
644                0xE0E1E2E3E4E5E6E7, // Range Minimum
645                0xE8E9EAEBECEDEEEF, // Range Maximum
646                0xF0F1F2F3F4F5F6F7, // Translation Offset
647                0xF8F9FAFBFCFDFEFF, // Length
648                ,, , AddressRangeNVS, TypeTranslation)
649        },
650
651        ResourceTemplate ()
652        {
653            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadWrite,
654                0xD8D9DADBDCDDDEDF, // Granularity
655                0xE0E1E2E3E4E5E6E7, // Range Minimum
656                0xE8E9EAEBECEDEEEF, // Range Maximum
657                0xF0F1F2F3F4F5F6F7, // Translation Offset
658                0xF8F9FAFBFCFDFEFF, // Length
659                ,, , AddressRangeMemory, TypeStatic)
660        },
661
662        ResourceTemplate ()
663        {
664            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadWrite,
665                0xD8D9DADBDCDDDEDF, // Granularity
666                0xE0E1E2E3E4E5E6E7, // Range Minimum
667                0xE8E9EAEBECEDEEEF, // Range Maximum
668                0xF0F1F2F3F4F5F6F7, // Translation Offset
669                0xF8F9FAFBFCFDFEFF, // Length
670                ,, , AddressRangeMemory, TypeTranslation)
671        },
672
673        ResourceTemplate ()
674        {
675            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadWrite,
676                0xD8D9DADBDCDDDEDF, // Granularity
677                0xE0E1E2E3E4E5E6E7, // Range Minimum
678                0xE8E9EAEBECEDEEEF, // Range Maximum
679                0xF0F1F2F3F4F5F6F7, // Translation Offset
680                0xF8F9FAFBFCFDFEFF, // Length
681                ,, , AddressRangeReserved, TypeStatic)
682        },
683
684        ResourceTemplate ()
685        {
686            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadWrite,
687                0xD8D9DADBDCDDDEDF, // Granularity
688                0xE0E1E2E3E4E5E6E7, // Range Minimum
689                0xE8E9EAEBECEDEEEF, // Range Maximum
690                0xF0F1F2F3F4F5F6F7, // Translation Offset
691                0xF8F9FAFBFCFDFEFF, // Length
692                ,, , AddressRangeReserved, TypeTranslation)
693        },
694
695        ResourceTemplate ()
696        {
697            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadWrite,
698                0xD8D9DADBDCDDDEDF, // Granularity
699                0xE0E1E2E3E4E5E6E7, // Range Minimum
700                0xE8E9EAEBECEDEEEF, // Range Maximum
701                0xF0F1F2F3F4F5F6F7, // Translation Offset
702                0xF8F9FAFBFCFDFEFF, // Length
703                ,, , AddressRangeACPI, TypeStatic)
704        },
705
706        ResourceTemplate ()
707        {
708            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadWrite,
709                0xD8D9DADBDCDDDEDF, // Granularity
710                0xE0E1E2E3E4E5E6E7, // Range Minimum
711                0xE8E9EAEBECEDEEEF, // Range Maximum
712                0xF0F1F2F3F4F5F6F7, // Translation Offset
713                0xF8F9FAFBFCFDFEFF, // Length
714                ,, , AddressRangeACPI, TypeTranslation)
715        },
716
717        ResourceTemplate ()
718        {
719            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadWrite,
720                0xD8D9DADBDCDDDEDF, // Granularity
721                0xE0E1E2E3E4E5E6E7, // Range Minimum
722                0xE8E9EAEBECEDEEEF, // Range Maximum
723                0xF0F1F2F3F4F5F6F7, // Translation Offset
724                0xF8F9FAFBFCFDFEFF, // Length
725                ,, , AddressRangeNVS, TypeStatic)
726        },
727
728        ResourceTemplate ()
729        {
730            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadWrite,
731                0xD8D9DADBDCDDDEDF, // Granularity
732                0xE0E1E2E3E4E5E6E7, // Range Minimum
733                0xE8E9EAEBECEDEEEF, // Range Maximum
734                0xF0F1F2F3F4F5F6F7, // Translation Offset
735                0xF8F9FAFBFCFDFEFF, // Length
736                ,, , AddressRangeNVS, TypeTranslation)
737        },
738
739        ResourceTemplate ()
740        {
741            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadOnly,
742                0xD8D9DADBDCDDDEDF, // Granularity
743                0xE0E1E2E3E4E5E6E7, // Range Minimum
744                0xE8E9EAEBECEDEEEF, // Range Maximum
745                0xF0F1F2F3F4F5F6F7, // Translation Offset
746                0xF8F9FAFBFCFDFEFF, // Length
747                ,, , AddressRangeMemory, TypeStatic)
748        },
749
750        ResourceTemplate ()
751        {
752            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadOnly,
753                0xD8D9DADBDCDDDEDF, // Granularity
754                0xE0E1E2E3E4E5E6E7, // Range Minimum
755                0xE8E9EAEBECEDEEEF, // Range Maximum
756                0xF0F1F2F3F4F5F6F7, // Translation Offset
757                0xF8F9FAFBFCFDFEFF, // Length
758                ,, , AddressRangeMemory, TypeTranslation)
759        },
760
761        ResourceTemplate ()
762        {
763            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadOnly,
764                0xD8D9DADBDCDDDEDF, // Granularity
765                0xE0E1E2E3E4E5E6E7, // Range Minimum
766                0xE8E9EAEBECEDEEEF, // Range Maximum
767                0xF0F1F2F3F4F5F6F7, // Translation Offset
768                0xF8F9FAFBFCFDFEFF, // Length
769                ,, , AddressRangeReserved, TypeStatic)
770        },
771
772        ResourceTemplate ()
773        {
774            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadOnly,
775                0xD8D9DADBDCDDDEDF, // Granularity
776                0xE0E1E2E3E4E5E6E7, // Range Minimum
777                0xE8E9EAEBECEDEEEF, // Range Maximum
778                0xF0F1F2F3F4F5F6F7, // Translation Offset
779                0xF8F9FAFBFCFDFEFF, // Length
780                ,, , AddressRangeReserved, TypeTranslation)
781        },
782
783        ResourceTemplate ()
784        {
785            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadOnly,
786                0xD8D9DADBDCDDDEDF, // Granularity
787                0xE0E1E2E3E4E5E6E7, // Range Minimum
788                0xE8E9EAEBECEDEEEF, // Range Maximum
789                0xF0F1F2F3F4F5F6F7, // Translation Offset
790                0xF8F9FAFBFCFDFEFF, // Length
791                ,, , AddressRangeACPI, TypeStatic)
792        },
793
794        ResourceTemplate ()
795        {
796            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadOnly,
797                0xD8D9DADBDCDDDEDF, // Granularity
798                0xE0E1E2E3E4E5E6E7, // Range Minimum
799                0xE8E9EAEBECEDEEEF, // Range Maximum
800                0xF0F1F2F3F4F5F6F7, // Translation Offset
801                0xF8F9FAFBFCFDFEFF, // Length
802                ,, , AddressRangeACPI, TypeTranslation)
803        },
804
805        ResourceTemplate ()
806        {
807            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadOnly,
808                0xD8D9DADBDCDDDEDF, // Granularity
809                0xE0E1E2E3E4E5E6E7, // Range Minimum
810                0xE8E9EAEBECEDEEEF, // Range Maximum
811                0xF0F1F2F3F4F5F6F7, // Translation Offset
812                0xF8F9FAFBFCFDFEFF, // Length
813                ,, , AddressRangeNVS, TypeStatic)
814        },
815
816        ResourceTemplate ()
817        {
818            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadOnly,
819                0xD8D9DADBDCDDDEDF, // Granularity
820                0xE0E1E2E3E4E5E6E7, // Range Minimum
821                0xE8E9EAEBECEDEEEF, // Range Maximum
822                0xF0F1F2F3F4F5F6F7, // Translation Offset
823                0xF8F9FAFBFCFDFEFF, // Length
824                ,, , AddressRangeNVS, TypeTranslation)
825        },
826
827        ResourceTemplate ()
828        {
829            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadWrite,
830                0xD8D9DADBDCDDDEDF, // Granularity
831                0xE0E1E2E3E4E5E6E7, // Range Minimum
832                0xE8E9EAEBECEDEEEF, // Range Maximum
833                0xF0F1F2F3F4F5F6F7, // Translation Offset
834                0xF8F9FAFBFCFDFEFF, // Length
835                ,, , AddressRangeMemory, TypeStatic)
836        },
837
838        ResourceTemplate ()
839        {
840            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadWrite,
841                0xD8D9DADBDCDDDEDF, // Granularity
842                0xE0E1E2E3E4E5E6E7, // Range Minimum
843                0xE8E9EAEBECEDEEEF, // Range Maximum
844                0xF0F1F2F3F4F5F6F7, // Translation Offset
845                0xF8F9FAFBFCFDFEFF, // Length
846                ,, , AddressRangeMemory, TypeTranslation)
847        },
848
849        ResourceTemplate ()
850        {
851            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadWrite,
852                0xD8D9DADBDCDDDEDF, // Granularity
853                0xE0E1E2E3E4E5E6E7, // Range Minimum
854                0xE8E9EAEBECEDEEEF, // Range Maximum
855                0xF0F1F2F3F4F5F6F7, // Translation Offset
856                0xF8F9FAFBFCFDFEFF, // Length
857                ,, , AddressRangeReserved, TypeStatic)
858        },
859
860        ResourceTemplate ()
861        {
862            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadWrite,
863                0xD8D9DADBDCDDDEDF, // Granularity
864                0xE0E1E2E3E4E5E6E7, // Range Minimum
865                0xE8E9EAEBECEDEEEF, // Range Maximum
866                0xF0F1F2F3F4F5F6F7, // Translation Offset
867                0xF8F9FAFBFCFDFEFF, // Length
868                ,, , AddressRangeReserved, TypeTranslation)
869        },
870
871        ResourceTemplate ()
872        {
873            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadWrite,
874                0xD8D9DADBDCDDDEDF, // Granularity
875                0xE0E1E2E3E4E5E6E7, // Range Minimum
876                0xE8E9EAEBECEDEEEF, // Range Maximum
877                0xF0F1F2F3F4F5F6F7, // Translation Offset
878                0xF8F9FAFBFCFDFEFF, // Length
879                ,, , AddressRangeACPI, TypeStatic)
880        },
881
882        ResourceTemplate ()
883        {
884            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadWrite,
885                0xD8D9DADBDCDDDEDF, // Granularity
886                0xE0E1E2E3E4E5E6E7, // Range Minimum
887                0xE8E9EAEBECEDEEEF, // Range Maximum
888                0xF0F1F2F3F4F5F6F7, // Translation Offset
889                0xF8F9FAFBFCFDFEFF, // Length
890                ,, , AddressRangeACPI, TypeTranslation)
891        },
892
893        ResourceTemplate ()
894        {
895            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadWrite,
896                0xD8D9DADBDCDDDEDF, // Granularity
897                0xE0E1E2E3E4E5E6E7, // Range Minimum
898                0xE8E9EAEBECEDEEEF, // Range Maximum
899                0xF0F1F2F3F4F5F6F7, // Translation Offset
900                0xF8F9FAFBFCFDFEFF, // Length
901                ,, , AddressRangeNVS, TypeStatic)
902        },
903
904        ResourceTemplate ()
905        {
906            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadWrite,
907                0xD8D9DADBDCDDDEDF, // Granularity
908                0xE0E1E2E3E4E5E6E7, // Range Minimum
909                0xE8E9EAEBECEDEEEF, // Range Maximum
910                0xF0F1F2F3F4F5F6F7, // Translation Offset
911                0xF8F9FAFBFCFDFEFF, // Length
912                ,, , AddressRangeNVS, TypeTranslation)
913        },
914
915        ResourceTemplate ()
916        {
917            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
918                0xD8D9DADBDCDDDEDF, // Granularity
919                0xE0E1E2E3E4E5E6E7, // Range Minimum
920                0xE8E9EAEBECEDEEEF, // Range Maximum
921                0xF0F1F2F3F4F5F6F7, // Translation Offset
922                0xF8F9FAFBFCFDFEFF, // Length
923                ,, , AddressRangeMemory, TypeStatic)
924        },
925
926        ResourceTemplate ()
927        {
928            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
929                0xD8D9DADBDCDDDEDF, // Granularity
930                0xE0E1E2E3E4E5E6E7, // Range Minimum
931                0xE8E9EAEBECEDEEEF, // Range Maximum
932                0xF0F1F2F3F4F5F6F7, // Translation Offset
933                0xF8F9FAFBFCFDFEFF, // Length
934                ,, , AddressRangeMemory, TypeStatic)
935        },
936
937        ResourceTemplate ()
938        {
939            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
940                0xD8D9DADBDCDDDEDF, // Granularity
941                0xE0E1E2E3E4E5E6E7, // Range Minimum
942                0xE8E9EAEBECEDEEEF, // Range Maximum
943                0xF0F1F2F3F4F5F6F7, // Translation Offset
944                0xF8F9FAFBFCFDFEFF, // Length
945                0x01, "", , AddressRangeMemory, TypeStatic)
946        },
947
948        ResourceTemplate ()
949        {
950            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
951                0xD8D9DADBDCDDDEDF, // Granularity
952                0xE0E1E2E3E4E5E6E7, // Range Minimum
953                0xE8E9EAEBECEDEEEF, // Range Maximum
954                0xF0F1F2F3F4F5F6F7, // Translation Offset
955                0xF8F9FAFBFCFDFEFF, // Length
956                0x0F, "P", , AddressRangeMemory, TypeStatic)
957        },
958
959        ResourceTemplate ()
960        {
961            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
962                0xD8D9DADBDCDDDEDF, // Granularity
963                0xE0E1E2E3E4E5E6E7, // Range Minimum
964                0xE8E9EAEBECEDEEEF, // Range Maximum
965                0xF0F1F2F3F4F5F6F7, // Translation Offset
966                0xF8F9FAFBFCFDFEFF, // Length
967                0xF0, "PATH", , AddressRangeMemory, TypeStatic)
968        },
969
970        ResourceTemplate ()
971        {
972            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
973                0xD8D9DADBDCDDDEDF, // Granularity
974                0xE0E1E2E3E4E5E6E7, // Range Minimum
975                0xE8E9EAEBECEDEEEF, // Range Maximum
976                0xF0F1F2F3F4F5F6F7, // Translation Offset
977                0xF8F9FAFBFCFDFEFF, // Length
978                0xFF, "!\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*", , AddressRangeMemory, TypeStatic)
979        },
980
981        ResourceTemplate ()
982        {
983            QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
984                0xD8D9DADBDCDDDEDF, // Granularity
985                0xE0E1E2E3E4E5E6E7, // Range Minimum
986                0xE8E9EAEBECEDEEEF, // Range Maximum
987                0xF0F1F2F3F4F5F6F7, // Translation Offset
988                0xF8F9FAFBFCFDFEFF, // Length
989                0xFF, "PATHPATHPATH", , AddressRangeACPI, TypeTranslation)
990        },
991
992        ResourceTemplate ()
993        {
994            QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
995                0x0000000000000000, // Granularity
996                0x0000000000000000, // Range Minimum
997                0x0000000000000000, // Range Maximum
998                0x0000000000000000, // Translation Offset
999                0x0000000000000000, // Length
1000                0xFF, "PATHPATHPATH", , AddressRangeACPI, TypeTranslation)
1001        },
1002
1003        ResourceTemplate ()
1004        {
1005            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
1006                0xD8D9DADBDCDDDEDF, // Granularity
1007                0xE0E1E2E3E4E5E6E7, // Range Minimum
1008                0xE8E9EAEBECEDEEEF, // Range Maximum
1009                0xF0F1F2F3F4F5F6F7, // Translation Offset
1010                0xF8F9FAFBFCFDFEFF, // Length
1011                0x0F,, , AddressRangeMemory, TypeStatic)
1012        }
1013    })
1014    /*
1015     ACPI Specification, Revision 3.0, September 2, 2004
1016     6.4.3.5.1   QWord Address Space Descriptor
1017     Memory QWord Address Space Descriptor layout:
1018     Byte 0 (Tag Bits): Value=10001010B (0x8a) (Type = 1, Large item name = 0xA)
1019     Byte 1 (Length, bits[7:0]): Variable: Value = 43 (minimum)
1020     Byte 2 (Length, bits[15:8]): Variable: Value = 0 (minimum)
1021     Byte 3 (Resource Type):
1022     0		Memory range
1023     Byte 4 (General Flags):
1024     Bits[7:4] 	Reserved (must be 0)
1025     Bit[3] 		Min Address Fixed, _MAF:
1026     1	The specified maximum address is fixed
1027     0	The specified maximum address is not fixed
1028     and can be changed
1029     Bit[2] 		Max Address Fixed,_MIF:
1030     1	The specified minimum address is fixed
1031     0	The specified minimum address is not fixed
1032     and can be changed
1033     Bit[1] 		Decode Type, _DEC:
1034     1	This bridge subtractively decodes this address
1035     (top level bridges only)
1036     0	This bridge positively decodes this address
1037     Bit[0] 		Consumer/Producer:
1038     1-This device consumes this resource
1039     0-This device produces and consumes this resource
1040     Byte 5 (Type Specific Flags):
1041     Flags that are specific to each resource type. The meaning of the flags
1042     in this field depends on the value of the Resource Type field (see above)
1043     Bits[7:6]	Reserved (must be 0)
1044     Bit[5]		Memory to I/O Translation, _TTP
1045     1	TypeTranslation: This resource, which is memory on the secondary
1046     side of the bridge, is I/O on the primary side of the bridge.
1047     0	TypeStatic: This resource, which is memory on the secondary side
1048     of the bridge, is also memory on the primary side of the bridge.
1049     Bits[4:3] 	Memory attributes, _MTP. These bits are only defined if this memory
1050     resource describes system RAM. For a definition of the labels described
1051     here, see section 15, "System Address Map Interfaces."
1052     0	AddressRangeMemory
1053     1	AddressRangeReserved
1054     2	AddressRangeACPI
1055     3	AddressRangeNVS
1056     Bits[2:1] 	Memory attributes, _MEM
1057     0	The memory is non-cacheable.
1058     1	The memory is cacheable.
1059     2	The memory is cacheable and supports write combining.
1060     3	The memory is cacheable and prefetchable.
1061     (Notice: OSPM ignores this field in the Extended address space descriptor.
1062     Instead it uses the Type Specific Attributes field to determine memory attributes)
1063     Bit[0]		Write status, _RW
1064     1	This memory range is read-write.
1065     0	This memory range is read-only.
1066     Byte 6 (Address space granularity, _GRA bits[7:0]):
1067     A set bit in this mask means that this bit is decoded. All bits less
1068     significant than the most significant set bit must be set. (in other
1069     words, the value of the full Address Space Granularity field (all 32
1070     bits) must be a number (2**n-1).
1071     Byte 7 (Address space granularity, _GRA bits[15:8])
1072     Byte 8 (Address space granularity, _GRA bits[23:16])
1073     Byte 9 (Address space granularity, _GRA bits[31:24])
1074     Byte 10 (Address space granularity, _GRA bits[39:32])
1075     Byte 11 (Address space granularity, _GRA bits[47:40])
1076     Byte 12 (Address space granularity, _GRA bits[55:48])
1077     Byte 13 (Address space granularity, _GRA bits[63:56])
1078     Byte 14 (Address range minimum, _MIN bits [7:0]):
1079     For bridges that translate addresses, this is the address space
1080     on the secondary side of the bridge
1081     Byte 15 (Address range minimum, _MIN bits[15:8])
1082     Byte 16 (Address range minimum, _MIN bits[23:16])
1083     Byte 17 (Address range minimum, _MIN bits[31:24])
1084     Byte 18 (Address range minimum, _MIN bits[39:32])
1085     Byte 19 (Address range minimum, _MIN bits[47:40])
1086     Byte 20 (Address range minimum, _MIN bits[55:48])
1087     Byte 21 (Address range minimum, _MIN bits[63:56])
1088     Byte 22 (Address range maximum, _MAX bits [7:0]): See comment for _MIN
1089     Byte 23 (Address range maximum, _MAX bits[15:8])
1090     Byte 24 (Address range maximum, _MAX bits[23:16])
1091     Byte 25 (Address range maximum, _MAX bits[31:24])
1092     Byte 26 (Address range maximum, _MAX bits[39:32])
1093     Byte 27 (Address range maximum, _MAX bits[47:40])
1094     Byte 28 (Address range maximum, _MAX bits[55:48])
1095     Byte 29 (Address range maximum, _MAX bits[63:56])
1096     Byte 30 (Address Translation offset, _TRA bits [7:0]):
1097     For bridges that translate addresses across the bridge, this is the
1098     offset that must be added to the address on the secondary side to obtain
1099     the address on the primary side. Non-bridge devices must list 0 for all
1100     Address Translation offset bits
1101     Byte 31 (Address Translation offset, _TRA bits[15:8])
1102     Byte 32 (Address Translation offset, _TRA bits[23:16])
1103     Byte 33 (Address Translation offset, _TRA bits[31:24])
1104     Byte 34 (Address Translation offset, _TRA bits[39:32])
1105     Byte 35 (Address Translation offset, _TRA bits[47:40])
1106     Byte 36 (Address Translation offset, _TRA bits[55:48])
1107     Byte 37 (Address Translation offset, _TRA bits[63:56])
1108     Byte 38 (Address Length, _LEN bits [7:0])
1109     Byte 39 (Address Length, _LEN bits[15:8])
1110     Byte 40 (Address Length, _LEN bits[23:16])
1111     Byte 41 (Address Length, _LEN bits[31:24])
1112     Byte 42 (Address Length, _LEN bits[39:32])
1113     Byte 43 (Address Length, _LEN bits[47:40])
1114     Byte 44 (Address Length, _LEN bits[55:48])
1115     Byte 45 (Address Length, _LEN bits[63:56])
1116     Byte 46 (Resource Source Index):
1117     (Optional) Only present if Resource Source (below) is present. This
1118     field gives an index to the specific resource descriptor that this
1119     device consumes from in the current resource template for the device
1120     object pointed to in Resource Source
1121     String (Resource Source):
1122     (Optional) If present, the device that uses this descriptor consumes
1123     its resources from the resources produced by the named device object.
1124     If not present, the device consumes its resources out of a global pool.
1125     If not present, the device consumes this resource from its hierarchical
1126     parent.
1127     */
1128    Name (P425, Package (0x59)
1129    {
1130        /* Byte 4 (General Flags) of QWord Address Space Descriptor */
1131
1132        ResourceTemplate ()
1133        {
1134            QWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
1135                0xD8D9DADBDCDDDEDF, // Granularity
1136                0xE0E1E2E3E4E5E6E7, // Range Minimum
1137                0xE8E9EAEBECEDEEEF, // Range Maximum
1138                0xF0F1F2F3F4F5F6F7, // Translation Offset
1139                0xF8F9FAFBFCFDFEFF, // Length
1140                ,, , AddressRangeMemory, TypeStatic)
1141        },
1142
1143        ResourceTemplate ()
1144        {
1145            QWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxFixed, NonCacheable, ReadWrite,
1146                0xD8D9DADBDCDDDEDF, // Granularity
1147                0xE0E1E2E3E4E5E6E7, // Range Minimum
1148                0xE8E9EAEBECEDEEEF, // Range Maximum
1149                0xF0F1F2F3F4F5F6F7, // Translation Offset
1150                0xF8F9FAFBFCFDFEFF, // Length
1151                ,, , AddressRangeMemory, TypeStatic)
1152        },
1153
1154        ResourceTemplate ()
1155        {
1156            QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxNotFixed, NonCacheable, ReadWrite,
1157                0xD8D9DADBDCDDDEDF, // Granularity
1158                0xE0E1E2E3E4E5E6E7, // Range Minimum
1159                0xE8E9EAEBECEDEEEF, // Range Maximum
1160                0xF0F1F2F3F4F5F6F7, // Translation Offset
1161                0xF8F9FAFBFCFDFEFF, // Length
1162                ,, , AddressRangeMemory, TypeStatic)
1163        },
1164
1165        ResourceTemplate ()
1166        {
1167            QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
1168                0xD8D9DADBDCDDDEDF, // Granularity
1169                0xE0E1E2E3E4E5E6E7, // Range Minimum
1170                0xE8E9EAEBECEDEEEF, // Range Maximum
1171                0xF0F1F2F3F4F5F6F7, // Translation Offset
1172                0xF8F9FAFBFCFDFEFF, // Length
1173                ,, , AddressRangeMemory, TypeStatic)
1174        },
1175
1176        ResourceTemplate ()
1177        {
1178            QWordMemory (ResourceProducer, SubDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
1179                0xD8D9DADBDCDDDEDF, // Granularity
1180                0xE0E1E2E3E4E5E6E7, // Range Minimum
1181                0xE8E9EAEBECEDEEEF, // Range Maximum
1182                0xF0F1F2F3F4F5F6F7, // Translation Offset
1183                0xF8F9FAFBFCFDFEFF, // Length
1184                ,, , AddressRangeMemory, TypeStatic)
1185        },
1186
1187        ResourceTemplate ()
1188        {
1189            QWordMemory (ResourceProducer, SubDecode, MinNotFixed, MaxFixed, NonCacheable, ReadWrite,
1190                0xD8D9DADBDCDDDEDF, // Granularity
1191                0xE0E1E2E3E4E5E6E7, // Range Minimum
1192                0xE8E9EAEBECEDEEEF, // Range Maximum
1193                0xF0F1F2F3F4F5F6F7, // Translation Offset
1194                0xF8F9FAFBFCFDFEFF, // Length
1195                ,, , AddressRangeMemory, TypeStatic)
1196        },
1197
1198        ResourceTemplate ()
1199        {
1200            QWordMemory (ResourceProducer, SubDecode, MinFixed, MaxNotFixed, NonCacheable, ReadWrite,
1201                0xD8D9DADBDCDDDEDF, // Granularity
1202                0xE0E1E2E3E4E5E6E7, // Range Minimum
1203                0xE8E9EAEBECEDEEEF, // Range Maximum
1204                0xF0F1F2F3F4F5F6F7, // Translation Offset
1205                0xF8F9FAFBFCFDFEFF, // Length
1206                ,, , AddressRangeMemory, TypeStatic)
1207        },
1208
1209        ResourceTemplate ()
1210        {
1211            QWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
1212                0xD8D9DADBDCDDDEDF, // Granularity
1213                0xE0E1E2E3E4E5E6E7, // Range Minimum
1214                0xE8E9EAEBECEDEEEF, // Range Maximum
1215                0xF0F1F2F3F4F5F6F7, // Translation Offset
1216                0xF8F9FAFBFCFDFEFF, // Length
1217                ,, , AddressRangeMemory, TypeStatic)
1218        },
1219
1220        ResourceTemplate ()
1221        {
1222            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
1223                0xD8D9DADBDCDDDEDF, // Granularity
1224                0xE0E1E2E3E4E5E6E7, // Range Minimum
1225                0xE8E9EAEBECEDEEEF, // Range Maximum
1226                0xF0F1F2F3F4F5F6F7, // Translation Offset
1227                0xF8F9FAFBFCFDFEFF, // Length
1228                ,, , AddressRangeMemory, TypeStatic)
1229        },
1230
1231        ResourceTemplate ()
1232        {
1233            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxFixed, NonCacheable, ReadWrite,
1234                0xD8D9DADBDCDDDEDF, // Granularity
1235                0xE0E1E2E3E4E5E6E7, // Range Minimum
1236                0xE8E9EAEBECEDEEEF, // Range Maximum
1237                0xF0F1F2F3F4F5F6F7, // Translation Offset
1238                0xF8F9FAFBFCFDFEFF, // Length
1239                ,, , AddressRangeMemory, TypeStatic)
1240        },
1241
1242        ResourceTemplate ()
1243        {
1244            QWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxNotFixed, NonCacheable, ReadWrite,
1245                0xD8D9DADBDCDDDEDF, // Granularity
1246                0xE0E1E2E3E4E5E6E7, // Range Minimum
1247                0xE8E9EAEBECEDEEEF, // Range Maximum
1248                0xF0F1F2F3F4F5F6F7, // Translation Offset
1249                0xF8F9FAFBFCFDFEFF, // Length
1250                ,, , AddressRangeMemory, TypeStatic)
1251        },
1252
1253        ResourceTemplate ()
1254        {
1255            QWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
1256                0xD8D9DADBDCDDDEDF, // Granularity
1257                0xE0E1E2E3E4E5E6E7, // Range Minimum
1258                0xE8E9EAEBECEDEEEF, // Range Maximum
1259                0xF0F1F2F3F4F5F6F7, // Translation Offset
1260                0xF8F9FAFBFCFDFEFF, // Length
1261                ,, , AddressRangeMemory, TypeStatic)
1262        },
1263
1264        ResourceTemplate ()
1265        {
1266            QWordMemory (ResourceConsumer, SubDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
1267                0xD8D9DADBDCDDDEDF, // Granularity
1268                0xE0E1E2E3E4E5E6E7, // Range Minimum
1269                0xE8E9EAEBECEDEEEF, // Range Maximum
1270                0xF0F1F2F3F4F5F6F7, // Translation Offset
1271                0xF8F9FAFBFCFDFEFF, // Length
1272                ,, , AddressRangeMemory, TypeStatic)
1273        },
1274
1275        ResourceTemplate ()
1276        {
1277            QWordMemory (ResourceConsumer, SubDecode, MinNotFixed, MaxFixed, NonCacheable, ReadWrite,
1278                0xD8D9DADBDCDDDEDF, // Granularity
1279                0xE0E1E2E3E4E5E6E7, // Range Minimum
1280                0xE8E9EAEBECEDEEEF, // Range Maximum
1281                0xF0F1F2F3F4F5F6F7, // Translation Offset
1282                0xF8F9FAFBFCFDFEFF, // Length
1283                ,, , AddressRangeMemory, TypeStatic)
1284        },
1285
1286        ResourceTemplate ()
1287        {
1288            QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxNotFixed, NonCacheable, ReadWrite,
1289                0xD8D9DADBDCDDDEDF, // Granularity
1290                0xE0E1E2E3E4E5E6E7, // Range Minimum
1291                0xE8E9EAEBECEDEEEF, // Range Maximum
1292                0xF0F1F2F3F4F5F6F7, // Translation Offset
1293                0xF8F9FAFBFCFDFEFF, // Length
1294                ,, , AddressRangeMemory, TypeStatic)
1295        },
1296
1297        ResourceTemplate ()
1298        {
1299            QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
1300                0xD8D9DADBDCDDDEDF, // Granularity
1301                0xE0E1E2E3E4E5E6E7, // Range Minimum
1302                0xE8E9EAEBECEDEEEF, // Range Maximum
1303                0xF0F1F2F3F4F5F6F7, // Translation Offset
1304                0xF8F9FAFBFCFDFEFF, // Length
1305                ,, , AddressRangeMemory, TypeStatic)
1306        },
1307
1308        /* Byte 5 (Type Specific Flags) of QWord Address Space Descriptor */
1309        /* NonCacheable */
1310        ResourceTemplate ()
1311        {
1312            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
1313                0xD8D9DADBDCDDDEDF, // Granularity
1314                0xE0E1E2E3E4E5E6E7, // Range Minimum
1315                0xE8E9EAEBECEDEEEF, // Range Maximum
1316                0xF0F1F2F3F4F5F6F7, // Translation Offset
1317                0xF8F9FAFBFCFDFEFF, // Length
1318                ,, , AddressRangeMemory, TypeStatic)
1319        },
1320
1321        ResourceTemplate ()
1322        {
1323            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
1324                0xD8D9DADBDCDDDEDF, // Granularity
1325                0xE0E1E2E3E4E5E6E7, // Range Minimum
1326                0xE8E9EAEBECEDEEEF, // Range Maximum
1327                0xF0F1F2F3F4F5F6F7, // Translation Offset
1328                0xF8F9FAFBFCFDFEFF, // Length
1329                ,, , AddressRangeMemory, TypeTranslation)
1330        },
1331
1332        ResourceTemplate ()
1333        {
1334            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
1335                0xD8D9DADBDCDDDEDF, // Granularity
1336                0xE0E1E2E3E4E5E6E7, // Range Minimum
1337                0xE8E9EAEBECEDEEEF, // Range Maximum
1338                0xF0F1F2F3F4F5F6F7, // Translation Offset
1339                0xF8F9FAFBFCFDFEFF, // Length
1340                ,, , AddressRangeReserved, TypeStatic)
1341        },
1342
1343        ResourceTemplate ()
1344        {
1345            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
1346                0xD8D9DADBDCDDDEDF, // Granularity
1347                0xE0E1E2E3E4E5E6E7, // Range Minimum
1348                0xE8E9EAEBECEDEEEF, // Range Maximum
1349                0xF0F1F2F3F4F5F6F7, // Translation Offset
1350                0xF8F9FAFBFCFDFEFF, // Length
1351                ,, , AddressRangeReserved, TypeTranslation)
1352        },
1353
1354        ResourceTemplate ()
1355        {
1356            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
1357                0xD8D9DADBDCDDDEDF, // Granularity
1358                0xE0E1E2E3E4E5E6E7, // Range Minimum
1359                0xE8E9EAEBECEDEEEF, // Range Maximum
1360                0xF0F1F2F3F4F5F6F7, // Translation Offset
1361                0xF8F9FAFBFCFDFEFF, // Length
1362                ,, , AddressRangeACPI, TypeStatic)
1363        },
1364
1365        ResourceTemplate ()
1366        {
1367            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
1368                0xD8D9DADBDCDDDEDF, // Granularity
1369                0xE0E1E2E3E4E5E6E7, // Range Minimum
1370                0xE8E9EAEBECEDEEEF, // Range Maximum
1371                0xF0F1F2F3F4F5F6F7, // Translation Offset
1372                0xF8F9FAFBFCFDFEFF, // Length
1373                ,, , AddressRangeACPI, TypeTranslation)
1374        },
1375
1376        ResourceTemplate ()
1377        {
1378            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
1379                0xD8D9DADBDCDDDEDF, // Granularity
1380                0xE0E1E2E3E4E5E6E7, // Range Minimum
1381                0xE8E9EAEBECEDEEEF, // Range Maximum
1382                0xF0F1F2F3F4F5F6F7, // Translation Offset
1383                0xF8F9FAFBFCFDFEFF, // Length
1384                ,, , AddressRangeNVS, TypeStatic)
1385        },
1386
1387        ResourceTemplate ()
1388        {
1389            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
1390                0xD8D9DADBDCDDDEDF, // Granularity
1391                0xE0E1E2E3E4E5E6E7, // Range Minimum
1392                0xE8E9EAEBECEDEEEF, // Range Maximum
1393                0xF0F1F2F3F4F5F6F7, // Translation Offset
1394                0xF8F9FAFBFCFDFEFF, // Length
1395                ,, , AddressRangeNVS, TypeTranslation)
1396        },
1397
1398        ResourceTemplate ()
1399        {
1400            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
1401                0xD8D9DADBDCDDDEDF, // Granularity
1402                0xE0E1E2E3E4E5E6E7, // Range Minimum
1403                0xE8E9EAEBECEDEEEF, // Range Maximum
1404                0xF0F1F2F3F4F5F6F7, // Translation Offset
1405                0xF8F9FAFBFCFDFEFF, // Length
1406                ,, , AddressRangeMemory, TypeStatic)
1407        },
1408
1409        ResourceTemplate ()
1410        {
1411            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
1412                0xD8D9DADBDCDDDEDF, // Granularity
1413                0xE0E1E2E3E4E5E6E7, // Range Minimum
1414                0xE8E9EAEBECEDEEEF, // Range Maximum
1415                0xF0F1F2F3F4F5F6F7, // Translation Offset
1416                0xF8F9FAFBFCFDFEFF, // Length
1417                ,, , AddressRangeMemory, TypeTranslation)
1418        },
1419
1420        ResourceTemplate ()
1421        {
1422            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
1423                0xD8D9DADBDCDDDEDF, // Granularity
1424                0xE0E1E2E3E4E5E6E7, // Range Minimum
1425                0xE8E9EAEBECEDEEEF, // Range Maximum
1426                0xF0F1F2F3F4F5F6F7, // Translation Offset
1427                0xF8F9FAFBFCFDFEFF, // Length
1428                ,, , AddressRangeReserved, TypeStatic)
1429        },
1430
1431        ResourceTemplate ()
1432        {
1433            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
1434                0xD8D9DADBDCDDDEDF, // Granularity
1435                0xE0E1E2E3E4E5E6E7, // Range Minimum
1436                0xE8E9EAEBECEDEEEF, // Range Maximum
1437                0xF0F1F2F3F4F5F6F7, // Translation Offset
1438                0xF8F9FAFBFCFDFEFF, // Length
1439                ,, , AddressRangeReserved, TypeTranslation)
1440        },
1441
1442        ResourceTemplate ()
1443        {
1444            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
1445                0xD8D9DADBDCDDDEDF, // Granularity
1446                0xE0E1E2E3E4E5E6E7, // Range Minimum
1447                0xE8E9EAEBECEDEEEF, // Range Maximum
1448                0xF0F1F2F3F4F5F6F7, // Translation Offset
1449                0xF8F9FAFBFCFDFEFF, // Length
1450                ,, , AddressRangeACPI, TypeStatic)
1451        },
1452
1453        ResourceTemplate ()
1454        {
1455            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
1456                0xD8D9DADBDCDDDEDF, // Granularity
1457                0xE0E1E2E3E4E5E6E7, // Range Minimum
1458                0xE8E9EAEBECEDEEEF, // Range Maximum
1459                0xF0F1F2F3F4F5F6F7, // Translation Offset
1460                0xF8F9FAFBFCFDFEFF, // Length
1461                ,, , AddressRangeACPI, TypeTranslation)
1462        },
1463
1464        ResourceTemplate ()
1465        {
1466            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
1467                0xD8D9DADBDCDDDEDF, // Granularity
1468                0xE0E1E2E3E4E5E6E7, // Range Minimum
1469                0xE8E9EAEBECEDEEEF, // Range Maximum
1470                0xF0F1F2F3F4F5F6F7, // Translation Offset
1471                0xF8F9FAFBFCFDFEFF, // Length
1472                ,, , AddressRangeNVS, TypeStatic)
1473        },
1474
1475        ResourceTemplate ()
1476        {
1477            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
1478                0xD8D9DADBDCDDDEDF, // Granularity
1479                0xE0E1E2E3E4E5E6E7, // Range Minimum
1480                0xE8E9EAEBECEDEEEF, // Range Maximum
1481                0xF0F1F2F3F4F5F6F7, // Translation Offset
1482                0xF8F9FAFBFCFDFEFF, // Length
1483                ,, , AddressRangeNVS, TypeTranslation)
1484        },
1485
1486        /* Cacheable */
1487
1488        ResourceTemplate ()
1489        {
1490            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadOnly,
1491                0xD8D9DADBDCDDDEDF, // Granularity
1492                0xE0E1E2E3E4E5E6E7, // Range Minimum
1493                0xE8E9EAEBECEDEEEF, // Range Maximum
1494                0xF0F1F2F3F4F5F6F7, // Translation Offset
1495                0xF8F9FAFBFCFDFEFF, // Length
1496                ,, , AddressRangeMemory, TypeStatic)
1497        },
1498
1499        ResourceTemplate ()
1500        {
1501            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadOnly,
1502                0xD8D9DADBDCDDDEDF, // Granularity
1503                0xE0E1E2E3E4E5E6E7, // Range Minimum
1504                0xE8E9EAEBECEDEEEF, // Range Maximum
1505                0xF0F1F2F3F4F5F6F7, // Translation Offset
1506                0xF8F9FAFBFCFDFEFF, // Length
1507                ,, , AddressRangeMemory, TypeTranslation)
1508        },
1509
1510        ResourceTemplate ()
1511        {
1512            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadOnly,
1513                0xD8D9DADBDCDDDEDF, // Granularity
1514                0xE0E1E2E3E4E5E6E7, // Range Minimum
1515                0xE8E9EAEBECEDEEEF, // Range Maximum
1516                0xF0F1F2F3F4F5F6F7, // Translation Offset
1517                0xF8F9FAFBFCFDFEFF, // Length
1518                ,, , AddressRangeReserved, TypeStatic)
1519        },
1520
1521        ResourceTemplate ()
1522        {
1523            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadOnly,
1524                0xD8D9DADBDCDDDEDF, // Granularity
1525                0xE0E1E2E3E4E5E6E7, // Range Minimum
1526                0xE8E9EAEBECEDEEEF, // Range Maximum
1527                0xF0F1F2F3F4F5F6F7, // Translation Offset
1528                0xF8F9FAFBFCFDFEFF, // Length
1529                ,, , AddressRangeReserved, TypeTranslation)
1530        },
1531
1532        ResourceTemplate ()
1533        {
1534            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadOnly,
1535                0xD8D9DADBDCDDDEDF, // Granularity
1536                0xE0E1E2E3E4E5E6E7, // Range Minimum
1537                0xE8E9EAEBECEDEEEF, // Range Maximum
1538                0xF0F1F2F3F4F5F6F7, // Translation Offset
1539                0xF8F9FAFBFCFDFEFF, // Length
1540                ,, , AddressRangeACPI, TypeStatic)
1541        },
1542
1543        ResourceTemplate ()
1544        {
1545            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadOnly,
1546                0xD8D9DADBDCDDDEDF, // Granularity
1547                0xE0E1E2E3E4E5E6E7, // Range Minimum
1548                0xE8E9EAEBECEDEEEF, // Range Maximum
1549                0xF0F1F2F3F4F5F6F7, // Translation Offset
1550                0xF8F9FAFBFCFDFEFF, // Length
1551                ,, , AddressRangeACPI, TypeTranslation)
1552        },
1553
1554        ResourceTemplate ()
1555        {
1556            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadOnly,
1557                0xD8D9DADBDCDDDEDF, // Granularity
1558                0xE0E1E2E3E4E5E6E7, // Range Minimum
1559                0xE8E9EAEBECEDEEEF, // Range Maximum
1560                0xF0F1F2F3F4F5F6F7, // Translation Offset
1561                0xF8F9FAFBFCFDFEFF, // Length
1562                ,, , AddressRangeNVS, TypeStatic)
1563        },
1564
1565        ResourceTemplate ()
1566        {
1567            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadOnly,
1568                0xD8D9DADBDCDDDEDF, // Granularity
1569                0xE0E1E2E3E4E5E6E7, // Range Minimum
1570                0xE8E9EAEBECEDEEEF, // Range Maximum
1571                0xF0F1F2F3F4F5F6F7, // Translation Offset
1572                0xF8F9FAFBFCFDFEFF, // Length
1573                ,, , AddressRangeNVS, TypeTranslation)
1574        },
1575
1576        ResourceTemplate ()
1577        {
1578            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadWrite,
1579                0xD8D9DADBDCDDDEDF, // Granularity
1580                0xE0E1E2E3E4E5E6E7, // Range Minimum
1581                0xE8E9EAEBECEDEEEF, // Range Maximum
1582                0xF0F1F2F3F4F5F6F7, // Translation Offset
1583                0xF8F9FAFBFCFDFEFF, // Length
1584                ,, , AddressRangeMemory, TypeStatic)
1585        },
1586
1587        ResourceTemplate ()
1588        {
1589            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadWrite,
1590                0xD8D9DADBDCDDDEDF, // Granularity
1591                0xE0E1E2E3E4E5E6E7, // Range Minimum
1592                0xE8E9EAEBECEDEEEF, // Range Maximum
1593                0xF0F1F2F3F4F5F6F7, // Translation Offset
1594                0xF8F9FAFBFCFDFEFF, // Length
1595                ,, , AddressRangeMemory, TypeTranslation)
1596        },
1597
1598        ResourceTemplate ()
1599        {
1600            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadWrite,
1601                0xD8D9DADBDCDDDEDF, // Granularity
1602                0xE0E1E2E3E4E5E6E7, // Range Minimum
1603                0xE8E9EAEBECEDEEEF, // Range Maximum
1604                0xF0F1F2F3F4F5F6F7, // Translation Offset
1605                0xF8F9FAFBFCFDFEFF, // Length
1606                ,, , AddressRangeReserved, TypeStatic)
1607        },
1608
1609        ResourceTemplate ()
1610        {
1611            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadWrite,
1612                0xD8D9DADBDCDDDEDF, // Granularity
1613                0xE0E1E2E3E4E5E6E7, // Range Minimum
1614                0xE8E9EAEBECEDEEEF, // Range Maximum
1615                0xF0F1F2F3F4F5F6F7, // Translation Offset
1616                0xF8F9FAFBFCFDFEFF, // Length
1617                ,, , AddressRangeReserved, TypeTranslation)
1618        },
1619
1620        ResourceTemplate ()
1621        {
1622            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadWrite,
1623                0xD8D9DADBDCDDDEDF, // Granularity
1624                0xE0E1E2E3E4E5E6E7, // Range Minimum
1625                0xE8E9EAEBECEDEEEF, // Range Maximum
1626                0xF0F1F2F3F4F5F6F7, // Translation Offset
1627                0xF8F9FAFBFCFDFEFF, // Length
1628                ,, , AddressRangeACPI, TypeStatic)
1629        },
1630
1631        ResourceTemplate ()
1632        {
1633            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadWrite,
1634                0xD8D9DADBDCDDDEDF, // Granularity
1635                0xE0E1E2E3E4E5E6E7, // Range Minimum
1636                0xE8E9EAEBECEDEEEF, // Range Maximum
1637                0xF0F1F2F3F4F5F6F7, // Translation Offset
1638                0xF8F9FAFBFCFDFEFF, // Length
1639                ,, , AddressRangeACPI, TypeTranslation)
1640        },
1641
1642        ResourceTemplate ()
1643        {
1644            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadWrite,
1645                0xD8D9DADBDCDDDEDF, // Granularity
1646                0xE0E1E2E3E4E5E6E7, // Range Minimum
1647                0xE8E9EAEBECEDEEEF, // Range Maximum
1648                0xF0F1F2F3F4F5F6F7, // Translation Offset
1649                0xF8F9FAFBFCFDFEFF, // Length
1650                ,, , AddressRangeNVS, TypeStatic)
1651        },
1652
1653        ResourceTemplate ()
1654        {
1655            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Cacheable, ReadWrite,
1656                0xD8D9DADBDCDDDEDF, // Granularity
1657                0xE0E1E2E3E4E5E6E7, // Range Minimum
1658                0xE8E9EAEBECEDEEEF, // Range Maximum
1659                0xF0F1F2F3F4F5F6F7, // Translation Offset
1660                0xF8F9FAFBFCFDFEFF, // Length
1661                ,, , AddressRangeNVS, TypeTranslation)
1662        },
1663
1664        /* WriteCombining */
1665
1666        ResourceTemplate ()
1667        {
1668            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadOnly,
1669                0xD8D9DADBDCDDDEDF, // Granularity
1670                0xE0E1E2E3E4E5E6E7, // Range Minimum
1671                0xE8E9EAEBECEDEEEF, // Range Maximum
1672                0xF0F1F2F3F4F5F6F7, // Translation Offset
1673                0xF8F9FAFBFCFDFEFF, // Length
1674                ,, , AddressRangeMemory, TypeStatic)
1675        },
1676
1677        ResourceTemplate ()
1678        {
1679            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadOnly,
1680                0xD8D9DADBDCDDDEDF, // Granularity
1681                0xE0E1E2E3E4E5E6E7, // Range Minimum
1682                0xE8E9EAEBECEDEEEF, // Range Maximum
1683                0xF0F1F2F3F4F5F6F7, // Translation Offset
1684                0xF8F9FAFBFCFDFEFF, // Length
1685                ,, , AddressRangeMemory, TypeTranslation)
1686        },
1687
1688        ResourceTemplate ()
1689        {
1690            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadOnly,
1691                0xD8D9DADBDCDDDEDF, // Granularity
1692                0xE0E1E2E3E4E5E6E7, // Range Minimum
1693                0xE8E9EAEBECEDEEEF, // Range Maximum
1694                0xF0F1F2F3F4F5F6F7, // Translation Offset
1695                0xF8F9FAFBFCFDFEFF, // Length
1696                ,, , AddressRangeReserved, TypeStatic)
1697        },
1698
1699        ResourceTemplate ()
1700        {
1701            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadOnly,
1702                0xD8D9DADBDCDDDEDF, // Granularity
1703                0xE0E1E2E3E4E5E6E7, // Range Minimum
1704                0xE8E9EAEBECEDEEEF, // Range Maximum
1705                0xF0F1F2F3F4F5F6F7, // Translation Offset
1706                0xF8F9FAFBFCFDFEFF, // Length
1707                ,, , AddressRangeReserved, TypeTranslation)
1708        },
1709
1710        ResourceTemplate ()
1711        {
1712            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadOnly,
1713                0xD8D9DADBDCDDDEDF, // Granularity
1714                0xE0E1E2E3E4E5E6E7, // Range Minimum
1715                0xE8E9EAEBECEDEEEF, // Range Maximum
1716                0xF0F1F2F3F4F5F6F7, // Translation Offset
1717                0xF8F9FAFBFCFDFEFF, // Length
1718                ,, , AddressRangeACPI, TypeStatic)
1719        },
1720
1721        ResourceTemplate ()
1722        {
1723            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadOnly,
1724                0xD8D9DADBDCDDDEDF, // Granularity
1725                0xE0E1E2E3E4E5E6E7, // Range Minimum
1726                0xE8E9EAEBECEDEEEF, // Range Maximum
1727                0xF0F1F2F3F4F5F6F7, // Translation Offset
1728                0xF8F9FAFBFCFDFEFF, // Length
1729                ,, , AddressRangeACPI, TypeTranslation)
1730        },
1731
1732        ResourceTemplate ()
1733        {
1734            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadOnly,
1735                0xD8D9DADBDCDDDEDF, // Granularity
1736                0xE0E1E2E3E4E5E6E7, // Range Minimum
1737                0xE8E9EAEBECEDEEEF, // Range Maximum
1738                0xF0F1F2F3F4F5F6F7, // Translation Offset
1739                0xF8F9FAFBFCFDFEFF, // Length
1740                ,, , AddressRangeNVS, TypeStatic)
1741        },
1742
1743        ResourceTemplate ()
1744        {
1745            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadOnly,
1746                0xD8D9DADBDCDDDEDF, // Granularity
1747                0xE0E1E2E3E4E5E6E7, // Range Minimum
1748                0xE8E9EAEBECEDEEEF, // Range Maximum
1749                0xF0F1F2F3F4F5F6F7, // Translation Offset
1750                0xF8F9FAFBFCFDFEFF, // Length
1751                ,, , AddressRangeNVS, TypeTranslation)
1752        },
1753
1754        ResourceTemplate ()
1755        {
1756            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadWrite,
1757                0xD8D9DADBDCDDDEDF, // Granularity
1758                0xE0E1E2E3E4E5E6E7, // Range Minimum
1759                0xE8E9EAEBECEDEEEF, // Range Maximum
1760                0xF0F1F2F3F4F5F6F7, // Translation Offset
1761                0xF8F9FAFBFCFDFEFF, // Length
1762                ,, , AddressRangeMemory, TypeStatic)
1763        },
1764
1765        ResourceTemplate ()
1766        {
1767            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadWrite,
1768                0xD8D9DADBDCDDDEDF, // Granularity
1769                0xE0E1E2E3E4E5E6E7, // Range Minimum
1770                0xE8E9EAEBECEDEEEF, // Range Maximum
1771                0xF0F1F2F3F4F5F6F7, // Translation Offset
1772                0xF8F9FAFBFCFDFEFF, // Length
1773                ,, , AddressRangeMemory, TypeTranslation)
1774        },
1775
1776        ResourceTemplate ()
1777        {
1778            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadWrite,
1779                0xD8D9DADBDCDDDEDF, // Granularity
1780                0xE0E1E2E3E4E5E6E7, // Range Minimum
1781                0xE8E9EAEBECEDEEEF, // Range Maximum
1782                0xF0F1F2F3F4F5F6F7, // Translation Offset
1783                0xF8F9FAFBFCFDFEFF, // Length
1784                ,, , AddressRangeReserved, TypeStatic)
1785        },
1786
1787        ResourceTemplate ()
1788        {
1789            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadWrite,
1790                0xD8D9DADBDCDDDEDF, // Granularity
1791                0xE0E1E2E3E4E5E6E7, // Range Minimum
1792                0xE8E9EAEBECEDEEEF, // Range Maximum
1793                0xF0F1F2F3F4F5F6F7, // Translation Offset
1794                0xF8F9FAFBFCFDFEFF, // Length
1795                ,, , AddressRangeReserved, TypeTranslation)
1796        },
1797
1798        ResourceTemplate ()
1799        {
1800            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadWrite,
1801                0xD8D9DADBDCDDDEDF, // Granularity
1802                0xE0E1E2E3E4E5E6E7, // Range Minimum
1803                0xE8E9EAEBECEDEEEF, // Range Maximum
1804                0xF0F1F2F3F4F5F6F7, // Translation Offset
1805                0xF8F9FAFBFCFDFEFF, // Length
1806                ,, , AddressRangeACPI, TypeStatic)
1807        },
1808
1809        ResourceTemplate ()
1810        {
1811            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadWrite,
1812                0xD8D9DADBDCDDDEDF, // Granularity
1813                0xE0E1E2E3E4E5E6E7, // Range Minimum
1814                0xE8E9EAEBECEDEEEF, // Range Maximum
1815                0xF0F1F2F3F4F5F6F7, // Translation Offset
1816                0xF8F9FAFBFCFDFEFF, // Length
1817                ,, , AddressRangeACPI, TypeTranslation)
1818        },
1819
1820        ResourceTemplate ()
1821        {
1822            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadWrite,
1823                0xD8D9DADBDCDDDEDF, // Granularity
1824                0xE0E1E2E3E4E5E6E7, // Range Minimum
1825                0xE8E9EAEBECEDEEEF, // Range Maximum
1826                0xF0F1F2F3F4F5F6F7, // Translation Offset
1827                0xF8F9FAFBFCFDFEFF, // Length
1828                ,, , AddressRangeNVS, TypeStatic)
1829        },
1830
1831        ResourceTemplate ()
1832        {
1833            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, WriteCombining, ReadWrite,
1834                0xD8D9DADBDCDDDEDF, // Granularity
1835                0xE0E1E2E3E4E5E6E7, // Range Minimum
1836                0xE8E9EAEBECEDEEEF, // Range Maximum
1837                0xF0F1F2F3F4F5F6F7, // Translation Offset
1838                0xF8F9FAFBFCFDFEFF, // Length
1839                ,, , AddressRangeNVS, TypeTranslation)
1840        },
1841
1842        /* Prefetchable */
1843
1844        ResourceTemplate ()
1845        {
1846            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadOnly,
1847                0xD8D9DADBDCDDDEDF, // Granularity
1848                0xE0E1E2E3E4E5E6E7, // Range Minimum
1849                0xE8E9EAEBECEDEEEF, // Range Maximum
1850                0xF0F1F2F3F4F5F6F7, // Translation Offset
1851                0xF8F9FAFBFCFDFEFF, // Length
1852                ,, , AddressRangeMemory, TypeStatic)
1853        },
1854
1855        ResourceTemplate ()
1856        {
1857            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadOnly,
1858                0xD8D9DADBDCDDDEDF, // Granularity
1859                0xE0E1E2E3E4E5E6E7, // Range Minimum
1860                0xE8E9EAEBECEDEEEF, // Range Maximum
1861                0xF0F1F2F3F4F5F6F7, // Translation Offset
1862                0xF8F9FAFBFCFDFEFF, // Length
1863                ,, , AddressRangeMemory, TypeTranslation)
1864        },
1865
1866        ResourceTemplate ()
1867        {
1868            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadOnly,
1869                0xD8D9DADBDCDDDEDF, // Granularity
1870                0xE0E1E2E3E4E5E6E7, // Range Minimum
1871                0xE8E9EAEBECEDEEEF, // Range Maximum
1872                0xF0F1F2F3F4F5F6F7, // Translation Offset
1873                0xF8F9FAFBFCFDFEFF, // Length
1874                ,, , AddressRangeReserved, TypeStatic)
1875        },
1876
1877        ResourceTemplate ()
1878        {
1879            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadOnly,
1880                0xD8D9DADBDCDDDEDF, // Granularity
1881                0xE0E1E2E3E4E5E6E7, // Range Minimum
1882                0xE8E9EAEBECEDEEEF, // Range Maximum
1883                0xF0F1F2F3F4F5F6F7, // Translation Offset
1884                0xF8F9FAFBFCFDFEFF, // Length
1885                ,, , AddressRangeReserved, TypeTranslation)
1886        },
1887
1888        ResourceTemplate ()
1889        {
1890            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadOnly,
1891                0xD8D9DADBDCDDDEDF, // Granularity
1892                0xE0E1E2E3E4E5E6E7, // Range Minimum
1893                0xE8E9EAEBECEDEEEF, // Range Maximum
1894                0xF0F1F2F3F4F5F6F7, // Translation Offset
1895                0xF8F9FAFBFCFDFEFF, // Length
1896                ,, , AddressRangeACPI, TypeStatic)
1897        },
1898
1899        ResourceTemplate ()
1900        {
1901            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadOnly,
1902                0xD8D9DADBDCDDDEDF, // Granularity
1903                0xE0E1E2E3E4E5E6E7, // Range Minimum
1904                0xE8E9EAEBECEDEEEF, // Range Maximum
1905                0xF0F1F2F3F4F5F6F7, // Translation Offset
1906                0xF8F9FAFBFCFDFEFF, // Length
1907                ,, , AddressRangeACPI, TypeTranslation)
1908        },
1909
1910        ResourceTemplate ()
1911        {
1912            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadOnly,
1913                0xD8D9DADBDCDDDEDF, // Granularity
1914                0xE0E1E2E3E4E5E6E7, // Range Minimum
1915                0xE8E9EAEBECEDEEEF, // Range Maximum
1916                0xF0F1F2F3F4F5F6F7, // Translation Offset
1917                0xF8F9FAFBFCFDFEFF, // Length
1918                ,, , AddressRangeNVS, TypeStatic)
1919        },
1920
1921        ResourceTemplate ()
1922        {
1923            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadOnly,
1924                0xD8D9DADBDCDDDEDF, // Granularity
1925                0xE0E1E2E3E4E5E6E7, // Range Minimum
1926                0xE8E9EAEBECEDEEEF, // Range Maximum
1927                0xF0F1F2F3F4F5F6F7, // Translation Offset
1928                0xF8F9FAFBFCFDFEFF, // Length
1929                ,, , AddressRangeNVS, TypeTranslation)
1930        },
1931
1932        ResourceTemplate ()
1933        {
1934            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadWrite,
1935                0xD8D9DADBDCDDDEDF, // Granularity
1936                0xE0E1E2E3E4E5E6E7, // Range Minimum
1937                0xE8E9EAEBECEDEEEF, // Range Maximum
1938                0xF0F1F2F3F4F5F6F7, // Translation Offset
1939                0xF8F9FAFBFCFDFEFF, // Length
1940                ,, , AddressRangeMemory, TypeStatic)
1941        },
1942
1943        ResourceTemplate ()
1944        {
1945            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadWrite,
1946                0xD8D9DADBDCDDDEDF, // Granularity
1947                0xE0E1E2E3E4E5E6E7, // Range Minimum
1948                0xE8E9EAEBECEDEEEF, // Range Maximum
1949                0xF0F1F2F3F4F5F6F7, // Translation Offset
1950                0xF8F9FAFBFCFDFEFF, // Length
1951                ,, , AddressRangeMemory, TypeTranslation)
1952        },
1953
1954        ResourceTemplate ()
1955        {
1956            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadWrite,
1957                0xD8D9DADBDCDDDEDF, // Granularity
1958                0xE0E1E2E3E4E5E6E7, // Range Minimum
1959                0xE8E9EAEBECEDEEEF, // Range Maximum
1960                0xF0F1F2F3F4F5F6F7, // Translation Offset
1961                0xF8F9FAFBFCFDFEFF, // Length
1962                ,, , AddressRangeReserved, TypeStatic)
1963        },
1964
1965        ResourceTemplate ()
1966        {
1967            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadWrite,
1968                0xD8D9DADBDCDDDEDF, // Granularity
1969                0xE0E1E2E3E4E5E6E7, // Range Minimum
1970                0xE8E9EAEBECEDEEEF, // Range Maximum
1971                0xF0F1F2F3F4F5F6F7, // Translation Offset
1972                0xF8F9FAFBFCFDFEFF, // Length
1973                ,, , AddressRangeReserved, TypeTranslation)
1974        },
1975
1976        ResourceTemplate ()
1977        {
1978            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadWrite,
1979                0xD8D9DADBDCDDDEDF, // Granularity
1980                0xE0E1E2E3E4E5E6E7, // Range Minimum
1981                0xE8E9EAEBECEDEEEF, // Range Maximum
1982                0xF0F1F2F3F4F5F6F7, // Translation Offset
1983                0xF8F9FAFBFCFDFEFF, // Length
1984                ,, , AddressRangeACPI, TypeStatic)
1985        },
1986
1987        ResourceTemplate ()
1988        {
1989            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadWrite,
1990                0xD8D9DADBDCDDDEDF, // Granularity
1991                0xE0E1E2E3E4E5E6E7, // Range Minimum
1992                0xE8E9EAEBECEDEEEF, // Range Maximum
1993                0xF0F1F2F3F4F5F6F7, // Translation Offset
1994                0xF8F9FAFBFCFDFEFF, // Length
1995                ,, , AddressRangeACPI, TypeTranslation)
1996        },
1997
1998        ResourceTemplate ()
1999        {
2000            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadWrite,
2001                0xD8D9DADBDCDDDEDF, // Granularity
2002                0xE0E1E2E3E4E5E6E7, // Range Minimum
2003                0xE8E9EAEBECEDEEEF, // Range Maximum
2004                0xF0F1F2F3F4F5F6F7, // Translation Offset
2005                0xF8F9FAFBFCFDFEFF, // Length
2006                ,, , AddressRangeNVS, TypeStatic)
2007        },
2008
2009        ResourceTemplate ()
2010        {
2011            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, Prefetchable, ReadWrite,
2012                0xD8D9DADBDCDDDEDF, // Granularity
2013                0xE0E1E2E3E4E5E6E7, // Range Minimum
2014                0xE8E9EAEBECEDEEEF, // Range Maximum
2015                0xF0F1F2F3F4F5F6F7, // Translation Offset
2016                0xF8F9FAFBFCFDFEFF, // Length
2017                ,, , AddressRangeNVS, TypeTranslation)
2018        },
2019
2020        /* Particular cases */
2021
2022        ResourceTemplate ()
2023        {
2024            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
2025                0xD8D9DADBDCDDDEDF, // Granularity
2026                0xE0E1E2E3E4E5E6E7, // Range Minimum
2027                0xE8E9EAEBECEDEEEF, // Range Maximum
2028                0xF0F1F2F3F4F5F6F7, // Translation Offset
2029                0xF8F9FAFBFCFDFEFF, // Length
2030                ,, , AddressRangeMemory, TypeStatic)
2031        },
2032
2033        ResourceTemplate ()
2034        {
2035            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
2036                0xD8D9DADBDCDDDEDF, // Granularity
2037                0xE0E1E2E3E4E5E6E7, // Range Minimum
2038                0xE8E9EAEBECEDEEEF, // Range Maximum
2039                0xF0F1F2F3F4F5F6F7, // Translation Offset
2040                0xF8F9FAFBFCFDFEFF, // Length
2041                ,, , AddressRangeMemory, TypeStatic)
2042        },
2043
2044        /* Resource Source */
2045
2046        ResourceTemplate ()
2047        {
2048            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
2049                0xD8D9DADBDCDDDEDF, // Granularity
2050                0xE0E1E2E3E4E5E6E7, // Range Minimum
2051                0xE8E9EAEBECEDEEEF, // Range Maximum
2052                0xF0F1F2F3F4F5F6F7, // Translation Offset
2053                0xF8F9FAFBFCFDFEFF, // Length
2054                0x01, "", , AddressRangeMemory, TypeStatic)
2055        },
2056
2057        ResourceTemplate ()
2058        {
2059            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
2060                0xD8D9DADBDCDDDEDF, // Granularity
2061                0xE0E1E2E3E4E5E6E7, // Range Minimum
2062                0xE8E9EAEBECEDEEEF, // Range Maximum
2063                0xF0F1F2F3F4F5F6F7, // Translation Offset
2064                0xF8F9FAFBFCFDFEFF, // Length
2065                0x0F, "P", , AddressRangeMemory, TypeStatic)
2066        },
2067
2068        ResourceTemplate ()
2069        {
2070            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
2071                0xD8D9DADBDCDDDEDF, // Granularity
2072                0xE0E1E2E3E4E5E6E7, // Range Minimum
2073                0xE8E9EAEBECEDEEEF, // Range Maximum
2074                0xF0F1F2F3F4F5F6F7, // Translation Offset
2075                0xF8F9FAFBFCFDFEFF, // Length
2076                0xF0, "PATH", , AddressRangeMemory, TypeStatic)
2077        },
2078
2079        ResourceTemplate ()
2080        {
2081            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
2082                0xD8D9DADBDCDDDEDF, // Granularity
2083                0xE0E1E2E3E4E5E6E7, // Range Minimum
2084                0xE8E9EAEBECEDEEEF, // Range Maximum
2085                0xF0F1F2F3F4F5F6F7, // Translation Offset
2086                0xF8F9FAFBFCFDFEFF, // Length
2087                0xFF, "!\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*", , AddressRangeMemory, TypeStatic)
2088        },
2089
2090        /* Particular cases */
2091
2092        ResourceTemplate ()
2093        {
2094            QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
2095                0xD8D9DADBDCDDDEDF, // Granularity
2096                0xE0E1E2E3E4E5E6E7, // Range Minimum
2097                0xE8E9EAEBECEDEEEF, // Range Maximum
2098                0xF0F1F2F3F4F5F6F7, // Translation Offset
2099                0xF8F9FAFBFCFDFEFF, // Length
2100                0xFF, "PATHPATHPATH", , AddressRangeACPI, TypeTranslation)
2101        },
2102
2103        ResourceTemplate ()
2104        {
2105            QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
2106                0x0000000000000000, // Granularity
2107                0x0000000000000000, // Range Minimum
2108                0x0000000000000000, // Range Maximum
2109                0x0000000000000000, // Translation Offset
2110                0x0000000000000000, // Length
2111                0xFF, "PATHPATHPATH", , AddressRangeACPI, TypeTranslation)
2112        },
2113
2114        /* 20051021, relaxation for omitted ResourceSource (bug-fix 70 rejection) */
2115
2116        ResourceTemplate ()
2117        {
2118            QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadWrite,
2119                0xD8D9DADBDCDDDEDF, // Granularity
2120                0xE0E1E2E3E4E5E6E7, // Range Minimum
2121                0xE8E9EAEBECEDEEEF, // Range Maximum
2122                0xF0F1F2F3F4F5F6F7, // Translation Offset
2123                0xF8F9FAFBFCFDFEFF, // Length
2124                0x0F,, , AddressRangeMemory, TypeStatic)
2125        }
2126    })
2127    Method (RT10, 0, Serialized)
2128    {
2129        /* Emit test header, set the filename */
2130
2131        THDR (__METHOD__, "QWordMemory Resource Descriptor Macro", "qwordmemory.asl")
2132        /* Main test case for packages above */
2133
2134        M330 (__METHOD__, 0x59, "p424", P424, P425)
2135        /* Check resource descriptor tag offsets */
2136
2137        Local0 = ResourceTemplate ()
2138            {
2139                QWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
2140                    0xD8D9DADBDCDDDEDF, // Granularity
2141                    0xE0E1E2E3E4E5E6E7, // Range Minimum
2142                    0xE8E9EAEBECEDEEEF, // Range Maximum
2143                    0xF0F1F2F3F4F5F6F7, // Translation Offset
2144                    0xF8F9FAFBFCFDFEFF, // Length
2145                    ,, , AddressRangeMemory, TypeStatic)
2146                QWordMemory (ResourceConsumer, PosDecode, MinNotFixed, MaxNotFixed, NonCacheable, ReadOnly,
2147                    0xD8D9DADBDCDDDEDF, // Granularity
2148                    0xE0E1E2E3E4E5E6E7, // Range Minimum
2149                    0xE8E9EAEBECEDEEEF, // Range Maximum
2150                    0xF0F1F2F3F4F5F6F7, // Translation Offset
2151                    0xF8F9FAFBFCFDFEFF, // Length
2152                    ,, , AddressRangeMemory, TypeStatic)
2153            }
2154        M331 (__METHOD__, 0x01, 0x21, 0x21, 0x0191, 0x0191, "_DEC")
2155        M331 (__METHOD__, 0x02, 0x22, 0x22, 0x0192, 0x0192, "_MIF")
2156        M331 (__METHOD__, 0x03, 0x23, 0x23, 0x0193, 0x0193, "_MAF")
2157        M331 (__METHOD__, 0x04, 0x28, 0x28, 0x0198, 0x0198, "_RW")
2158        M331 (__METHOD__, 0x05, 0x29, 0x29, 0x0199, 0x0199, "_MEM")
2159        M331 (__METHOD__, 0x06, 0x2B, 0x2B, 0x019B, 0x019B, "_MTP")
2160        M331 (__METHOD__, 0x06, 0x2D, 0x2D, 0x019D, 0x019D, "_TTP")
2161        M331 (__METHOD__, 0x07, 0x30, 0x30, 0x01A0, 0x01A0, "_GRA")
2162        M331 (__METHOD__, 0x08, 0x70, 0x70, 0x01E0, 0x01E0, "_MIN")
2163        M331 (__METHOD__, 0x09, 0xB0, 0xB0, 0x0220, 0x0220, "_MAX")
2164        M331 (__METHOD__, 0x0A, 0xF0, 0xF0, 0x0260, 0x0260, "_TRA")
2165        M331 (__METHOD__, 0x0B, 0x0130, 0x0130, 0x02A0, 0x02A0, "_LEN")
2166    }
2167