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