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     * Concatenate two resource templates
32     */
33    Name (Z007, 0x07)
34    Name (P440, Package (0x03)
35    {
36        Buffer (0x02)
37        {
38             0x79, 0x00                                       // y.
39        },
40
41        ResourceTemplate ()
42        {
43            IRQ (Level, ActiveHigh, Exclusive, )
44                {0}
45            IRQNoFlags ()
46                {1}
47            DMA (Compatibility, NotBusMaster, Transfer16, )
48                {2}
49            IO (Decode16,
50                0xF0F1,             // Range Minimum
51                0xF2F3,             // Range Maximum
52                0xF4,               // Alignment
53                0xF5,               // Length
54                )
55            FixedIO (
56                0xF0F1,             // Address
57                0xF2,               // Length
58                )
59            VendorShort ()      // Length = 0x07
60            {
61                 0x00, 0xA2, 0xB3, 0x76, 0xD5, 0xE6, 0xF7         // ...v...
62            }
63            Memory24 (ReadWrite,
64                0xF0F1,             // Range Minimum
65                0xF2F3,             // Range Maximum
66                0xF4F5,             // Alignment
67                0xF6F7,             // Length
68                )
69            Memory32 (ReadWrite,
70                0xF0F1F2F3,         // Range Minimum
71                0xF4F5F6F7,         // Range Maximum
72                0xF8F9FAFB,         // Alignment
73                0xFCFDFEFF,         // Length
74                )
75            Memory32Fixed (ReadOnly,
76                0xF0F1F2F3,         // Address Base
77                0xF4F5F6F7,         // Address Length
78                )
79            VendorLong  ()      // Length = 0x15
80            {
81                /* 0000 */  0x9F, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6,  // ........
82                /* 0008 */  0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE,  // ........
83                /* 0010 */  0xFF, 0x00, 0x01, 0x02, 0x03                     // .....
84            }
85            QWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
86                0xD8D9DADBDCDDDEDF, // Granularity
87                0xE0E1E2E3E4E5E6E7, // Range Minimum
88                0xE8E9EAEBECEDEEEF, // Range Maximum
89                0xF0F1F2F3F4F5F6F7, // Translation Offset
90                0xF8F9FAFBFCFDFEFF, // Length
91                0xFF, "PATHPATHPATH", , TypeTranslation, SparseTranslation)
92            DWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
93                0xECEDEEEF,         // Granularity
94                0xF0F1F2F3,         // Range Minimum
95                0xF4F5F6F7,         // Range Maximum
96                0xF8F9FAFB,         // Translation Offset
97                0xFCFDFEFF,         // Length
98                0xFF, "PATHPATHPATH", , TypeTranslation, SparseTranslation)
99            WordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
100                0xF6F7,             // Granularity
101                0xF8F9,             // Range Minimum
102                0xFAFB,             // Range Maximum
103                0xFCFD,             // Translation Offset
104                0xFEFF,             // Length
105                0xFF, "PATHPATHPATH", , TypeTranslation, SparseTranslation)
106            QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
107                0xD8D9DADBDCDDDEDF, // Granularity
108                0xE0E1E2E3E4E5E6E7, // Range Minimum
109                0xE8E9EAEBECEDEEEF, // Range Maximum
110                0xF0F1F2F3F4F5F6F7, // Translation Offset
111                0xF8F9FAFBFCFDFEFF, // Length
112                0xFF, "PATHPATHPATH", , AddressRangeACPI, TypeTranslation)
113            DWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
114                0xECEDEEEF,         // Granularity
115                0xF0F1F2F3,         // Range Minimum
116                0xF4F5F6F7,         // Range Maximum
117                0xF8F9FAFB,         // Translation Offset
118                0xFCFDFEFF,         // Length
119                0xFF, "PATHPATHPATH", , AddressRangeACPI, TypeTranslation)
120            WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
121                0xF6F7,             // Granularity
122                0xF8F9,             // Range Minimum
123                0xFAFB,             // Range Maximum
124                0xFCFD,             // Translation Offset
125                0xFEFF,             // Length
126                0xFF, "PATHPATHPATH", )
127            Interrupt (ResourceConsumer, Edge, ActiveLow, Shared, 0xFF, "!\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*", )
128            {
129                0x00000001,
130                0x00000002,
131                0x00000003,
132                0x00000004,
133                0x00000005,
134                0x00000006,
135                0x00000007,
136                0x00000008,
137                0x00000009,
138                0x0000000A,
139                0x0000000B,
140                0x0000000C,
141                0x0000000D,
142                0x0000000E,
143                0x0000000F,
144                0x00000010,
145                0x00000011,
146                0x00000012,
147                0x00000013,
148                0x00000014,
149                0x00000015,
150                0x00000016,
151                0x00000017,
152                0x00000018,
153                0x00000019,
154                0x0000001A,
155                0x0000001B,
156                0x0000001C,
157                0x0000001D,
158                0x0000001E,
159                0x0000001F,
160                0x00000020,
161                0x00000021,
162                0x00000022,
163                0x00000023,
164                0x00000024,
165                0x00000025,
166                0x00000026,
167                0x00000027,
168                0x00000028,
169                0x00000029,
170                0x0000002A,
171                0x0000002B,
172                0x0000002C,
173                0x0000002D,
174                0x0000002E,
175                0x0000002F,
176                0x00000030,
177                0x00000031,
178                0x00000032,
179                0x00000033,
180                0x00000034,
181                0x00000035,
182                0x00000036,
183                0x00000037,
184                0x00000038,
185                0x00000039,
186                0x0000003A,
187                0x0000003B,
188                0x0000003C,
189                0x0000003D,
190                0x0000003E,
191                0x0000003F,
192                0x00000040,
193                0x00000041,
194                0x00000042,
195                0x00000043,
196                0x00000044,
197                0x00000045,
198                0x00000046,
199                0x00000047,
200                0x00000048,
201                0x00000049,
202                0x0000004A,
203                0x0000004B,
204                0x0000004C,
205                0x0000004D,
206                0x0000004E,
207                0x0000004F,
208                0x00000050,
209                0x00000051,
210                0x00000052,
211                0x00000053,
212                0x00000054,
213                0x00000055,
214                0x00000056,
215                0x00000057,
216                0x00000058,
217                0x00000059,
218                0x0000005A,
219                0x0000005B,
220                0x0000005C,
221                0x0000005D,
222                0x0000005E,
223                0x0000005F,
224                0x00000060,
225                0x00000061,
226                0x00000062,
227                0x00000063,
228                0x00000064,
229                0x00000065,
230                0x00000066,
231                0x00000067,
232                0x00000068,
233                0x00000069,
234                0x0000006A,
235                0x0000006B,
236                0x0000006C,
237                0x0000006D,
238                0x0000006E,
239                0x0000006F,
240                0x00000070,
241                0x00000071,
242                0x00000072,
243                0x00000073,
244                0x00000074,
245                0x00000075,
246                0x00000076,
247                0x00000077,
248                0x00000078,
249                0x00000079,
250                0x0000007A,
251                0x0000007B,
252                0x0000007C,
253                0x0000007D,
254                0x0000007E,
255                0x0000007F,
256                0x00000080,
257                0x00000081,
258                0x00000082,
259                0x00000083,
260                0x00000084,
261                0x00000085,
262                0x00000086,
263                0x00000087,
264                0x00000088,
265                0x00000089,
266                0x0000008A,
267                0x0000008B,
268                0x0000008C,
269                0x0000008D,
270                0x0000008E,
271                0x0000008F,
272                0x00000090,
273                0x00000091,
274                0x00000092,
275                0x00000093,
276                0x00000094,
277                0x00000095,
278                0x00000096,
279                0x00000097,
280                0x00000098,
281                0x00000099,
282                0x0000009A,
283                0x0000009B,
284                0x0000009C,
285                0x0000009D,
286                0x0000009E,
287                0x0000009F,
288                0x000000A0,
289                0x000000A1,
290                0x000000A2,
291                0x000000A3,
292                0x000000A4,
293                0x000000A5,
294                0x000000A6,
295                0x000000A7,
296                0x000000A8,
297                0x000000A9,
298                0x000000AA,
299                0x000000AB,
300                0x000000AC,
301                0x000000AD,
302                0x000000AE,
303                0x000000AF,
304                0x000000B0,
305                0x000000B1,
306                0x000000B2,
307                0x000000B3,
308                0x000000B4,
309                0x000000B5,
310                0x000000B6,
311                0x000000B7,
312                0x000000B8,
313                0x000000B9,
314                0x000000BA,
315                0x000000BB,
316                0x000000BC,
317                0x000000BD,
318                0x000000BE,
319                0x000000BF,
320                0x000000C0,
321                0x000000C1,
322                0x000000C2,
323                0x000000C3,
324                0x000000C4,
325                0x000000C5,
326                0x000000C6,
327                0x000000C7,
328                0x000000C8,
329                0x000000C9,
330                0x000000CA,
331                0x000000CB,
332                0x000000CC,
333                0x000000CD,
334                0x000000CE,
335                0x000000CF,
336                0x000000D0,
337                0x000000D1,
338                0x000000D2,
339                0x000000D3,
340                0x000000D4,
341                0x000000D5,
342                0x000000D6,
343                0x000000D7,
344                0x000000D8,
345                0x000000D9,
346                0x000000DA,
347                0x000000DB,
348                0x000000DC,
349                0x000000DD,
350                0x000000DE,
351                0x000000DF,
352                0x000000E0,
353                0x000000E1,
354                0x000000E2,
355                0x000000E3,
356                0x000000E4,
357                0x000000E5,
358                0x000000E6,
359                0x000000E7,
360                0x000000E8,
361                0x000000E9,
362                0x000000EA,
363                0x000000EB,
364                0x000000EC,
365                0x000000ED,
366                0x000000EE,
367                0x000000EF,
368                0x000000F0,
369                0x000000F1,
370                0x000000F2,
371                0x000000F3,
372                0x000000F4,
373                0x000000F5,
374                0x000000F6,
375                0x000000F7,
376                0x000000F8,
377                0x000000F9,
378                0x000000FA,
379                0x000000FB,
380                0x000000FC,
381                0x000000FD,
382                0x000000FE,
383                0x000000FF,
384            }
385            Register (FFixedHW,
386                0xF0,               // Bit Width
387                0xF1,               // Bit Offset
388                0xF2F3F4F5F6F7F8F9, // Address
389                ,)
390            ExtendedIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
391                0xD0D1D2D3D4D5D6D7, // Granularity
392                0xD8D9DADBDCDDDEDF, // Range Minimum
393                0xE0E1E2E3E4E5E6E7, // Range Maximum
394                0xE8E9EAEBECEDEEEF, // Translation Offset
395                0xF0F1F2F3F4F5F6F7, // Length
396                0xF8F9FAFBFCFDFEFF, // Type-Specific Attributes
397                , TypeTranslation, SparseTranslation)
398            ExtendedMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
399                0xD0D1D2D3D4D5D6D7, // Granularity
400                0xD8D9DADBDCDDDEDF, // Range Minimum
401                0xE0E1E2E3E4E5E6E7, // Range Maximum
402                0xE8E9EAEBECEDEEEF, // Translation Offset
403                0xF0F1F2F3F4F5F6F7, // Length
404                0xF8F9FAFBFCFDFEFF, // Type-Specific Attributes
405                , AddressRangeACPI, TypeTranslation)
406            ExtendedSpace (0xC0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5A,
407                0xD0D1D2D3D4D5D6D7, // Granularity
408                0xD8D9DADBDCDDDEDF, // Range Minimum
409                0xE0E1E2E3E4E5E6E7, // Range Maximum
410                0xE8E9EAEBECEDEEEF, // Translation Offset
411                0xF0F1F2F3F4F5F6F7, // Length
412                0xF8F9FAFBFCFDFEFF, // Type-Specific Attributes
413                )
414            DWordSpace (0xC0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5A,
415                0xECEDEEEF,         // Granularity
416                0xF0F1F2F3,         // Range Minimum
417                0xF4F5F6F7,         // Range Maximum
418                0xF8F9FAFB,         // Translation Offset
419                0xFCFDFEFF,         // Length
420                0xFF, "PATHPATHPATH", )
421            QWordSpace (0xC0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5A,
422                0xD8D9DADBDCDDDEDF, // Granularity
423                0xE0E1E2E3E4E5E6E7, // Range Minimum
424                0xE8E9EAEBECEDEEEF, // Range Maximum
425                0xF0F1F2F3F4F5F6F7, // Translation Offset
426                0xF8F9FAFBFCFDFEFF, // Length
427                0xFF, "PATHPATHPATH", )
428            WordSpace (0xC0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5A,
429                0xF6F7,             // Granularity
430                0xF8F9,             // Range Minimum
431                0xFAFB,             // Range Maximum
432                0xFCFD,             // Translation Offset
433                0xFEFF,             // Length
434                0xFF, "PATHPATHPATH", )
435            IRQ (Level, ActiveHigh, Exclusive, )
436                {0}
437            IRQNoFlags ()
438                {1}
439            DMA (Compatibility, NotBusMaster, Transfer16, )
440                {2}
441            IO (Decode16,
442                0xF0F1,             // Range Minimum
443                0xF2F3,             // Range Maximum
444                0xF4,               // Alignment
445                0xF5,               // Length
446                )
447            FixedIO (
448                0xF0F1,             // Address
449                0xF2,               // Length
450                )
451            VendorShort ()      // Length = 0x07
452            {
453                 0x00, 0xA2, 0xB3, 0x76, 0xD5, 0xE6, 0xF7         // ...v...
454            }
455            Memory24 (ReadWrite,
456                0xF0F1,             // Range Minimum
457                0xF2F3,             // Range Maximum
458                0xF4F5,             // Alignment
459                0xF6F7,             // Length
460                )
461            Memory32 (ReadWrite,
462                0xF0F1F2F3,         // Range Minimum
463                0xF4F5F6F7,         // Range Maximum
464                0xF8F9FAFB,         // Alignment
465                0xFCFDFEFF,         // Length
466                )
467            Memory32Fixed (ReadOnly,
468                0xF0F1F2F3,         // Address Base
469                0xF4F5F6F7,         // Address Length
470                )
471            VendorLong  ()      // Length = 0x15
472            {
473                /* 0000 */  0x9F, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6,  // ........
474                /* 0008 */  0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE,  // ........
475                /* 0010 */  0xFF, 0x00, 0x01, 0x02, 0x03                     // .....
476            }
477            QWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
478                0xD8D9DADBDCDDDEDF, // Granularity
479                0xE0E1E2E3E4E5E6E7, // Range Minimum
480                0xE8E9EAEBECEDEEEF, // Range Maximum
481                0xF0F1F2F3F4F5F6F7, // Translation Offset
482                0xF8F9FAFBFCFDFEFF, // Length
483                0xFF, "PATHPATHPATH", , TypeTranslation, SparseTranslation)
484            DWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
485                0xECEDEEEF,         // Granularity
486                0xF0F1F2F3,         // Range Minimum
487                0xF4F5F6F7,         // Range Maximum
488                0xF8F9FAFB,         // Translation Offset
489                0xFCFDFEFF,         // Length
490                0xFF, "PATHPATHPATH", , TypeTranslation, SparseTranslation)
491            WordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
492                0xF6F7,             // Granularity
493                0xF8F9,             // Range Minimum
494                0xFAFB,             // Range Maximum
495                0xFCFD,             // Translation Offset
496                0xFEFF,             // Length
497                0xFF, "PATHPATHPATH", , TypeTranslation, SparseTranslation)
498            QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
499                0xD8D9DADBDCDDDEDF, // Granularity
500                0xE0E1E2E3E4E5E6E7, // Range Minimum
501                0xE8E9EAEBECEDEEEF, // Range Maximum
502                0xF0F1F2F3F4F5F6F7, // Translation Offset
503                0xF8F9FAFBFCFDFEFF, // Length
504                0xFF, "PATHPATHPATH", , AddressRangeACPI, TypeTranslation)
505            DWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
506                0xECEDEEEF,         // Granularity
507                0xF0F1F2F3,         // Range Minimum
508                0xF4F5F6F7,         // Range Maximum
509                0xF8F9FAFB,         // Translation Offset
510                0xFCFDFEFF,         // Length
511                0xFF, "PATHPATHPATH", , AddressRangeACPI, TypeTranslation)
512            WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
513                0xF6F7,             // Granularity
514                0xF8F9,             // Range Minimum
515                0xFAFB,             // Range Maximum
516                0xFCFD,             // Translation Offset
517                0xFEFF,             // Length
518                0xFF, "PATHPATHPATH", )
519            Interrupt (ResourceConsumer, Edge, ActiveLow, Shared, 0xFF, "!\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*", )
520            {
521                0x00000001,
522                0x00000002,
523                0x00000003,
524                0x00000004,
525                0x00000005,
526                0x00000006,
527                0x00000007,
528                0x00000008,
529                0x00000009,
530                0x0000000A,
531                0x0000000B,
532                0x0000000C,
533                0x0000000D,
534                0x0000000E,
535                0x0000000F,
536                0x00000010,
537                0x00000011,
538                0x00000012,
539                0x00000013,
540                0x00000014,
541                0x00000015,
542                0x00000016,
543                0x00000017,
544                0x00000018,
545                0x00000019,
546                0x0000001A,
547                0x0000001B,
548                0x0000001C,
549                0x0000001D,
550                0x0000001E,
551                0x0000001F,
552                0x00000020,
553                0x00000021,
554                0x00000022,
555                0x00000023,
556                0x00000024,
557                0x00000025,
558                0x00000026,
559                0x00000027,
560                0x00000028,
561                0x00000029,
562                0x0000002A,
563                0x0000002B,
564                0x0000002C,
565                0x0000002D,
566                0x0000002E,
567                0x0000002F,
568                0x00000030,
569                0x00000031,
570                0x00000032,
571                0x00000033,
572                0x00000034,
573                0x00000035,
574                0x00000036,
575                0x00000037,
576                0x00000038,
577                0x00000039,
578                0x0000003A,
579                0x0000003B,
580                0x0000003C,
581                0x0000003D,
582                0x0000003E,
583                0x0000003F,
584                0x00000040,
585                0x00000041,
586                0x00000042,
587                0x00000043,
588                0x00000044,
589                0x00000045,
590                0x00000046,
591                0x00000047,
592                0x00000048,
593                0x00000049,
594                0x0000004A,
595                0x0000004B,
596                0x0000004C,
597                0x0000004D,
598                0x0000004E,
599                0x0000004F,
600                0x00000050,
601                0x00000051,
602                0x00000052,
603                0x00000053,
604                0x00000054,
605                0x00000055,
606                0x00000056,
607                0x00000057,
608                0x00000058,
609                0x00000059,
610                0x0000005A,
611                0x0000005B,
612                0x0000005C,
613                0x0000005D,
614                0x0000005E,
615                0x0000005F,
616                0x00000060,
617                0x00000061,
618                0x00000062,
619                0x00000063,
620                0x00000064,
621                0x00000065,
622                0x00000066,
623                0x00000067,
624                0x00000068,
625                0x00000069,
626                0x0000006A,
627                0x0000006B,
628                0x0000006C,
629                0x0000006D,
630                0x0000006E,
631                0x0000006F,
632                0x00000070,
633                0x00000071,
634                0x00000072,
635                0x00000073,
636                0x00000074,
637                0x00000075,
638                0x00000076,
639                0x00000077,
640                0x00000078,
641                0x00000079,
642                0x0000007A,
643                0x0000007B,
644                0x0000007C,
645                0x0000007D,
646                0x0000007E,
647                0x0000007F,
648                0x00000080,
649                0x00000081,
650                0x00000082,
651                0x00000083,
652                0x00000084,
653                0x00000085,
654                0x00000086,
655                0x00000087,
656                0x00000088,
657                0x00000089,
658                0x0000008A,
659                0x0000008B,
660                0x0000008C,
661                0x0000008D,
662                0x0000008E,
663                0x0000008F,
664                0x00000090,
665                0x00000091,
666                0x00000092,
667                0x00000093,
668                0x00000094,
669                0x00000095,
670                0x00000096,
671                0x00000097,
672                0x00000098,
673                0x00000099,
674                0x0000009A,
675                0x0000009B,
676                0x0000009C,
677                0x0000009D,
678                0x0000009E,
679                0x0000009F,
680                0x000000A0,
681                0x000000A1,
682                0x000000A2,
683                0x000000A3,
684                0x000000A4,
685                0x000000A5,
686                0x000000A6,
687                0x000000A7,
688                0x000000A8,
689                0x000000A9,
690                0x000000AA,
691                0x000000AB,
692                0x000000AC,
693                0x000000AD,
694                0x000000AE,
695                0x000000AF,
696                0x000000B0,
697                0x000000B1,
698                0x000000B2,
699                0x000000B3,
700                0x000000B4,
701                0x000000B5,
702                0x000000B6,
703                0x000000B7,
704                0x000000B8,
705                0x000000B9,
706                0x000000BA,
707                0x000000BB,
708                0x000000BC,
709                0x000000BD,
710                0x000000BE,
711                0x000000BF,
712                0x000000C0,
713                0x000000C1,
714                0x000000C2,
715                0x000000C3,
716                0x000000C4,
717                0x000000C5,
718                0x000000C6,
719                0x000000C7,
720                0x000000C8,
721                0x000000C9,
722                0x000000CA,
723                0x000000CB,
724                0x000000CC,
725                0x000000CD,
726                0x000000CE,
727                0x000000CF,
728                0x000000D0,
729                0x000000D1,
730                0x000000D2,
731                0x000000D3,
732                0x000000D4,
733                0x000000D5,
734                0x000000D6,
735                0x000000D7,
736                0x000000D8,
737                0x000000D9,
738                0x000000DA,
739                0x000000DB,
740                0x000000DC,
741                0x000000DD,
742                0x000000DE,
743                0x000000DF,
744                0x000000E0,
745                0x000000E1,
746                0x000000E2,
747                0x000000E3,
748                0x000000E4,
749                0x000000E5,
750                0x000000E6,
751                0x000000E7,
752                0x000000E8,
753                0x000000E9,
754                0x000000EA,
755                0x000000EB,
756                0x000000EC,
757                0x000000ED,
758                0x000000EE,
759                0x000000EF,
760                0x000000F0,
761                0x000000F1,
762                0x000000F2,
763                0x000000F3,
764                0x000000F4,
765                0x000000F5,
766                0x000000F6,
767                0x000000F7,
768                0x000000F8,
769                0x000000F9,
770                0x000000FA,
771                0x000000FB,
772                0x000000FC,
773                0x000000FD,
774                0x000000FE,
775                0x000000FF,
776            }
777            Register (FFixedHW,
778                0xF0,               // Bit Width
779                0xF1,               // Bit Offset
780                0xF2F3F4F5F6F7F8F9, // Address
781                ,)
782            ExtendedIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
783                0xD0D1D2D3D4D5D6D7, // Granularity
784                0xD8D9DADBDCDDDEDF, // Range Minimum
785                0xE0E1E2E3E4E5E6E7, // Range Maximum
786                0xE8E9EAEBECEDEEEF, // Translation Offset
787                0xF0F1F2F3F4F5F6F7, // Length
788                0xF8F9FAFBFCFDFEFF, // Type-Specific Attributes
789                , TypeTranslation, SparseTranslation)
790            ExtendedMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
791                0xD0D1D2D3D4D5D6D7, // Granularity
792                0xD8D9DADBDCDDDEDF, // Range Minimum
793                0xE0E1E2E3E4E5E6E7, // Range Maximum
794                0xE8E9EAEBECEDEEEF, // Translation Offset
795                0xF0F1F2F3F4F5F6F7, // Length
796                0xF8F9FAFBFCFDFEFF, // Type-Specific Attributes
797                , AddressRangeACPI, TypeTranslation)
798            ExtendedSpace (0xC0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5A,
799                0xD0D1D2D3D4D5D6D7, // Granularity
800                0xD8D9DADBDCDDDEDF, // Range Minimum
801                0xE0E1E2E3E4E5E6E7, // Range Maximum
802                0xE8E9EAEBECEDEEEF, // Translation Offset
803                0xF0F1F2F3F4F5F6F7, // Length
804                0xF8F9FAFBFCFDFEFF, // Type-Specific Attributes
805                )
806            DWordSpace (0xC0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5A,
807                0xECEDEEEF,         // Granularity
808                0xF0F1F2F3,         // Range Minimum
809                0xF4F5F6F7,         // Range Maximum
810                0xF8F9FAFB,         // Translation Offset
811                0xFCFDFEFF,         // Length
812                0xFF, "PATHPATHPATH", )
813            QWordSpace (0xC0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5A,
814                0xD8D9DADBDCDDDEDF, // Granularity
815                0xE0E1E2E3E4E5E6E7, // Range Minimum
816                0xE8E9EAEBECEDEEEF, // Range Maximum
817                0xF0F1F2F3F4F5F6F7, // Translation Offset
818                0xF8F9FAFBFCFDFEFF, // Length
819                0xFF, "PATHPATHPATH", )
820            WordSpace (0xC0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5A,
821                0xF6F7,             // Granularity
822                0xF8F9,             // Range Minimum
823                0xFAFB,             // Range Maximum
824                0xFCFD,             // Translation Offset
825                0xFEFF,             // Length
826                0xFF, "PATHPATHPATH", )
827        },
828
829        ResourceTemplate ()
830        {
831            StartDependentFnNoPri ()
832            {
833                IRQ (Level, ActiveHigh, Exclusive, )
834                    {0}
835                IRQNoFlags ()
836                    {1}
837            }
838            StartDependentFnNoPri ()
839            {
840                IRQ (Level, ActiveHigh, Exclusive, )
841                    {0}
842                IRQNoFlags ()
843                    {1}
844                DMA (Compatibility, NotBusMaster, Transfer16, )
845                    {2}
846            }
847            StartDependentFn (0x00, 0x00)
848            {
849                IRQ (Level, ActiveHigh, Exclusive, )
850                    {0}
851                IRQNoFlags ()
852                    {1}
853                DMA (Compatibility, NotBusMaster, Transfer16, )
854                    {2}
855                IO (Decode16,
856                    0xF0F1,             // Range Minimum
857                    0xF2F3,             // Range Maximum
858                    0xF4,               // Alignment
859                    0xF5,               // Length
860                    )
861            }
862            StartDependentFn (0x00, 0x01)
863            {
864                IRQ (Level, ActiveHigh, Exclusive, )
865                    {0}
866                IRQNoFlags ()
867                    {1}
868                DMA (Compatibility, NotBusMaster, Transfer16, )
869                    {2}
870                IO (Decode16,
871                    0xF0F1,             // Range Minimum
872                    0xF2F3,             // Range Maximum
873                    0xF4,               // Alignment
874                    0xF5,               // Length
875                    )
876                FixedIO (
877                    0xF0F1,             // Address
878                    0xF2,               // Length
879                    )
880            }
881            StartDependentFn (0x00, 0x02)
882            {
883                IRQ (Level, ActiveHigh, Exclusive, )
884                    {0}
885                IRQNoFlags ()
886                    {1}
887                DMA (Compatibility, NotBusMaster, Transfer16, )
888                    {2}
889                IO (Decode16,
890                    0xF0F1,             // Range Minimum
891                    0xF2F3,             // Range Maximum
892                    0xF4,               // Alignment
893                    0xF5,               // Length
894                    )
895                FixedIO (
896                    0xF0F1,             // Address
897                    0xF2,               // Length
898                    )
899                VendorShort ()      // Length = 0x07
900                {
901                     0x00, 0xA2, 0xB3, 0x76, 0xD5, 0xE6, 0xF7         // ...v...
902                }
903            }
904            StartDependentFn (0x01, 0x00)
905            {
906                IRQ (Level, ActiveHigh, Exclusive, )
907                    {0}
908                IRQNoFlags ()
909                    {1}
910                DMA (Compatibility, NotBusMaster, Transfer16, )
911                    {2}
912                IO (Decode16,
913                    0xF0F1,             // Range Minimum
914                    0xF2F3,             // Range Maximum
915                    0xF4,               // Alignment
916                    0xF5,               // Length
917                    )
918                FixedIO (
919                    0xF0F1,             // Address
920                    0xF2,               // Length
921                    )
922                VendorShort ()      // Length = 0x07
923                {
924                     0x00, 0xA2, 0xB3, 0x76, 0xD5, 0xE6, 0xF7         // ...v...
925                }
926                Memory24 (ReadWrite,
927                    0xF0F1,             // Range Minimum
928                    0xF2F3,             // Range Maximum
929                    0xF4F5,             // Alignment
930                    0xF6F7,             // Length
931                    )
932            }
933            StartDependentFn (0x01, 0x01)
934            {
935                IRQ (Level, ActiveHigh, Exclusive, )
936                    {0}
937                IRQNoFlags ()
938                    {1}
939                DMA (Compatibility, NotBusMaster, Transfer16, )
940                    {2}
941                IO (Decode16,
942                    0xF0F1,             // Range Minimum
943                    0xF2F3,             // Range Maximum
944                    0xF4,               // Alignment
945                    0xF5,               // Length
946                    )
947                FixedIO (
948                    0xF0F1,             // Address
949                    0xF2,               // Length
950                    )
951                VendorShort ()      // Length = 0x07
952                {
953                     0x00, 0xA2, 0xB3, 0x76, 0xD5, 0xE6, 0xF7         // ...v...
954                }
955                Memory24 (ReadWrite,
956                    0xF0F1,             // Range Minimum
957                    0xF2F3,             // Range Maximum
958                    0xF4F5,             // Alignment
959                    0xF6F7,             // Length
960                    )
961                Memory32 (ReadWrite,
962                    0xF0F1F2F3,         // Range Minimum
963                    0xF4F5F6F7,         // Range Maximum
964                    0xF8F9FAFB,         // Alignment
965                    0xFCFDFEFF,         // Length
966                    )
967            }
968            StartDependentFn (0x01, 0x01)
969            {
970                IRQ (Level, ActiveHigh, Exclusive, )
971                    {0}
972                IRQNoFlags ()
973                    {1}
974                DMA (Compatibility, NotBusMaster, Transfer16, )
975                    {2}
976                IO (Decode16,
977                    0xF0F1,             // Range Minimum
978                    0xF2F3,             // Range Maximum
979                    0xF4,               // Alignment
980                    0xF5,               // Length
981                    )
982                FixedIO (
983                    0xF0F1,             // Address
984                    0xF2,               // Length
985                    )
986                VendorShort ()      // Length = 0x07
987                {
988                     0x00, 0xA2, 0xB3, 0x76, 0xD5, 0xE6, 0xF7         // ...v...
989                }
990                Memory24 (ReadWrite,
991                    0xF0F1,             // Range Minimum
992                    0xF2F3,             // Range Maximum
993                    0xF4F5,             // Alignment
994                    0xF6F7,             // Length
995                    )
996                Memory32 (ReadWrite,
997                    0xF0F1F2F3,         // Range Minimum
998                    0xF4F5F6F7,         // Range Maximum
999                    0xF8F9FAFB,         // Alignment
1000                    0xFCFDFEFF,         // Length
1001                    )
1002                Memory32Fixed (ReadOnly,
1003                    0xF0F1F2F3,         // Address Base
1004                    0xF4F5F6F7,         // Address Length
1005                    )
1006                VendorLong  ()      // Length = 0x15
1007                {
1008                    /* 0000 */  0x9F, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6,  // ........
1009                    /* 0008 */  0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE,  // ........
1010                    /* 0010 */  0xFF, 0x00, 0x01, 0x02, 0x03                     // .....
1011                }
1012                QWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
1013                    0xD8D9DADBDCDDDEDF, // Granularity
1014                    0xE0E1E2E3E4E5E6E7, // Range Minimum
1015                    0xE8E9EAEBECEDEEEF, // Range Maximum
1016                    0xF0F1F2F3F4F5F6F7, // Translation Offset
1017                    0xF8F9FAFBFCFDFEFF, // Length
1018                    0xFF, "PATHPATHPATH", , TypeTranslation, SparseTranslation)
1019                DWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
1020                    0xECEDEEEF,         // Granularity
1021                    0xF0F1F2F3,         // Range Minimum
1022                    0xF4F5F6F7,         // Range Maximum
1023                    0xF8F9FAFB,         // Translation Offset
1024                    0xFCFDFEFF,         // Length
1025                    0xFF, "PATHPATHPATH", , TypeTranslation, SparseTranslation)
1026                WordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
1027                    0xF6F7,             // Granularity
1028                    0xF8F9,             // Range Minimum
1029                    0xFAFB,             // Range Maximum
1030                    0xFCFD,             // Translation Offset
1031                    0xFEFF,             // Length
1032                    0xFF, "PATHPATHPATH", , TypeTranslation, SparseTranslation)
1033                QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
1034                    0xD8D9DADBDCDDDEDF, // Granularity
1035                    0xE0E1E2E3E4E5E6E7, // Range Minimum
1036                    0xE8E9EAEBECEDEEEF, // Range Maximum
1037                    0xF0F1F2F3F4F5F6F7, // Translation Offset
1038                    0xF8F9FAFBFCFDFEFF, // Length
1039                    0xFF, "PATHPATHPATH", , AddressRangeACPI, TypeTranslation)
1040                DWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
1041                    0xECEDEEEF,         // Granularity
1042                    0xF0F1F2F3,         // Range Minimum
1043                    0xF4F5F6F7,         // Range Maximum
1044                    0xF8F9FAFB,         // Translation Offset
1045                    0xFCFDFEFF,         // Length
1046                    0xFF, "PATHPATHPATH", , AddressRangeACPI, TypeTranslation)
1047                WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
1048                    0xF6F7,             // Granularity
1049                    0xF8F9,             // Range Minimum
1050                    0xFAFB,             // Range Maximum
1051                    0xFCFD,             // Translation Offset
1052                    0xFEFF,             // Length
1053                    0xFF, "PATHPATHPATH", )
1054                Interrupt (ResourceConsumer, Edge, ActiveLow, Shared, 0xFF, "!\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*", )
1055                {
1056                    0x00000001,
1057                    0x00000002,
1058                    0x00000003,
1059                    0x00000004,
1060                    0x00000005,
1061                    0x00000006,
1062                    0x00000007,
1063                    0x00000008,
1064                    0x00000009,
1065                    0x0000000A,
1066                    0x0000000B,
1067                    0x0000000C,
1068                    0x0000000D,
1069                    0x0000000E,
1070                    0x0000000F,
1071                    0x00000010,
1072                    0x00000011,
1073                    0x00000012,
1074                    0x00000013,
1075                    0x00000014,
1076                    0x00000015,
1077                    0x00000016,
1078                    0x00000017,
1079                    0x00000018,
1080                    0x00000019,
1081                    0x0000001A,
1082                    0x0000001B,
1083                    0x0000001C,
1084                    0x0000001D,
1085                    0x0000001E,
1086                    0x0000001F,
1087                    0x00000020,
1088                    0x00000021,
1089                    0x00000022,
1090                    0x00000023,
1091                    0x00000024,
1092                    0x00000025,
1093                    0x00000026,
1094                    0x00000027,
1095                    0x00000028,
1096                    0x00000029,
1097                    0x0000002A,
1098                    0x0000002B,
1099                    0x0000002C,
1100                    0x0000002D,
1101                    0x0000002E,
1102                    0x0000002F,
1103                    0x00000030,
1104                    0x00000031,
1105                    0x00000032,
1106                    0x00000033,
1107                    0x00000034,
1108                    0x00000035,
1109                    0x00000036,
1110                    0x00000037,
1111                    0x00000038,
1112                    0x00000039,
1113                    0x0000003A,
1114                    0x0000003B,
1115                    0x0000003C,
1116                    0x0000003D,
1117                    0x0000003E,
1118                    0x0000003F,
1119                    0x00000040,
1120                    0x00000041,
1121                    0x00000042,
1122                    0x00000043,
1123                    0x00000044,
1124                    0x00000045,
1125                    0x00000046,
1126                    0x00000047,
1127                    0x00000048,
1128                    0x00000049,
1129                    0x0000004A,
1130                    0x0000004B,
1131                    0x0000004C,
1132                    0x0000004D,
1133                    0x0000004E,
1134                    0x0000004F,
1135                    0x00000050,
1136                    0x00000051,
1137                    0x00000052,
1138                    0x00000053,
1139                    0x00000054,
1140                    0x00000055,
1141                    0x00000056,
1142                    0x00000057,
1143                    0x00000058,
1144                    0x00000059,
1145                    0x0000005A,
1146                    0x0000005B,
1147                    0x0000005C,
1148                    0x0000005D,
1149                    0x0000005E,
1150                    0x0000005F,
1151                    0x00000060,
1152                    0x00000061,
1153                    0x00000062,
1154                    0x00000063,
1155                    0x00000064,
1156                    0x00000065,
1157                    0x00000066,
1158                    0x00000067,
1159                    0x00000068,
1160                    0x00000069,
1161                    0x0000006A,
1162                    0x0000006B,
1163                    0x0000006C,
1164                    0x0000006D,
1165                    0x0000006E,
1166                    0x0000006F,
1167                    0x00000070,
1168                    0x00000071,
1169                    0x00000072,
1170                    0x00000073,
1171                    0x00000074,
1172                    0x00000075,
1173                    0x00000076,
1174                    0x00000077,
1175                    0x00000078,
1176                    0x00000079,
1177                    0x0000007A,
1178                    0x0000007B,
1179                    0x0000007C,
1180                    0x0000007D,
1181                    0x0000007E,
1182                    0x0000007F,
1183                    0x00000080,
1184                    0x00000081,
1185                    0x00000082,
1186                    0x00000083,
1187                    0x00000084,
1188                    0x00000085,
1189                    0x00000086,
1190                    0x00000087,
1191                    0x00000088,
1192                    0x00000089,
1193                    0x0000008A,
1194                    0x0000008B,
1195                    0x0000008C,
1196                    0x0000008D,
1197                    0x0000008E,
1198                    0x0000008F,
1199                    0x00000090,
1200                    0x00000091,
1201                    0x00000092,
1202                    0x00000093,
1203                    0x00000094,
1204                    0x00000095,
1205                    0x00000096,
1206                    0x00000097,
1207                    0x00000098,
1208                    0x00000099,
1209                    0x0000009A,
1210                    0x0000009B,
1211                    0x0000009C,
1212                    0x0000009D,
1213                    0x0000009E,
1214                    0x0000009F,
1215                    0x000000A0,
1216                    0x000000A1,
1217                    0x000000A2,
1218                    0x000000A3,
1219                    0x000000A4,
1220                    0x000000A5,
1221                    0x000000A6,
1222                    0x000000A7,
1223                    0x000000A8,
1224                    0x000000A9,
1225                    0x000000AA,
1226                    0x000000AB,
1227                    0x000000AC,
1228                    0x000000AD,
1229                    0x000000AE,
1230                    0x000000AF,
1231                    0x000000B0,
1232                    0x000000B1,
1233                    0x000000B2,
1234                    0x000000B3,
1235                    0x000000B4,
1236                    0x000000B5,
1237                    0x000000B6,
1238                    0x000000B7,
1239                    0x000000B8,
1240                    0x000000B9,
1241                    0x000000BA,
1242                    0x000000BB,
1243                    0x000000BC,
1244                    0x000000BD,
1245                    0x000000BE,
1246                    0x000000BF,
1247                    0x000000C0,
1248                    0x000000C1,
1249                    0x000000C2,
1250                    0x000000C3,
1251                    0x000000C4,
1252                    0x000000C5,
1253                    0x000000C6,
1254                    0x000000C7,
1255                    0x000000C8,
1256                    0x000000C9,
1257                    0x000000CA,
1258                    0x000000CB,
1259                    0x000000CC,
1260                    0x000000CD,
1261                    0x000000CE,
1262                    0x000000CF,
1263                    0x000000D0,
1264                    0x000000D1,
1265                    0x000000D2,
1266                    0x000000D3,
1267                    0x000000D4,
1268                    0x000000D5,
1269                    0x000000D6,
1270                    0x000000D7,
1271                    0x000000D8,
1272                    0x000000D9,
1273                    0x000000DA,
1274                    0x000000DB,
1275                    0x000000DC,
1276                    0x000000DD,
1277                    0x000000DE,
1278                    0x000000DF,
1279                    0x000000E0,
1280                    0x000000E1,
1281                    0x000000E2,
1282                    0x000000E3,
1283                    0x000000E4,
1284                    0x000000E5,
1285                    0x000000E6,
1286                    0x000000E7,
1287                    0x000000E8,
1288                    0x000000E9,
1289                    0x000000EA,
1290                    0x000000EB,
1291                    0x000000EC,
1292                    0x000000ED,
1293                    0x000000EE,
1294                    0x000000EF,
1295                    0x000000F0,
1296                    0x000000F1,
1297                    0x000000F2,
1298                    0x000000F3,
1299                    0x000000F4,
1300                    0x000000F5,
1301                    0x000000F6,
1302                    0x000000F7,
1303                    0x000000F8,
1304                    0x000000F9,
1305                    0x000000FA,
1306                    0x000000FB,
1307                    0x000000FC,
1308                    0x000000FD,
1309                    0x000000FE,
1310                    0x000000FF,
1311                }
1312                Register (FFixedHW,
1313                    0xF0,               // Bit Width
1314                    0xF1,               // Bit Offset
1315                    0xF2F3F4F5F6F7F8F9, // Address
1316                    ,)
1317                ExtendedIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
1318                    0xD0D1D2D3D4D5D6D7, // Granularity
1319                    0xD8D9DADBDCDDDEDF, // Range Minimum
1320                    0xE0E1E2E3E4E5E6E7, // Range Maximum
1321                    0xE8E9EAEBECEDEEEF, // Translation Offset
1322                    0xF0F1F2F3F4F5F6F7, // Length
1323                    0xF8F9FAFBFCFDFEFF, // Type-Specific Attributes
1324                    , TypeTranslation, SparseTranslation)
1325                ExtendedMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
1326                    0xD0D1D2D3D4D5D6D7, // Granularity
1327                    0xD8D9DADBDCDDDEDF, // Range Minimum
1328                    0xE0E1E2E3E4E5E6E7, // Range Maximum
1329                    0xE8E9EAEBECEDEEEF, // Translation Offset
1330                    0xF0F1F2F3F4F5F6F7, // Length
1331                    0xF8F9FAFBFCFDFEFF, // Type-Specific Attributes
1332                    , AddressRangeACPI, TypeTranslation)
1333                ExtendedSpace (0xC0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5A,
1334                    0xD0D1D2D3D4D5D6D7, // Granularity
1335                    0xD8D9DADBDCDDDEDF, // Range Minimum
1336                    0xE0E1E2E3E4E5E6E7, // Range Maximum
1337                    0xE8E9EAEBECEDEEEF, // Translation Offset
1338                    0xF0F1F2F3F4F5F6F7, // Length
1339                    0xF8F9FAFBFCFDFEFF, // Type-Specific Attributes
1340                    )
1341                DWordSpace (0xC0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5A,
1342                    0xECEDEEEF,         // Granularity
1343                    0xF0F1F2F3,         // Range Minimum
1344                    0xF4F5F6F7,         // Range Maximum
1345                    0xF8F9FAFB,         // Translation Offset
1346                    0xFCFDFEFF,         // Length
1347                    0xFF, "PATHPATHPATH", )
1348                QWordSpace (0xC0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5A,
1349                    0xD8D9DADBDCDDDEDF, // Granularity
1350                    0xE0E1E2E3E4E5E6E7, // Range Minimum
1351                    0xE8E9EAEBECEDEEEF, // Range Maximum
1352                    0xF0F1F2F3F4F5F6F7, // Translation Offset
1353                    0xF8F9FAFBFCFDFEFF, // Length
1354                    0xFF, "PATHPATHPATH", )
1355                WordSpace (0xC0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5A,
1356                    0xF6F7,             // Granularity
1357                    0xF8F9,             // Range Minimum
1358                    0xFAFB,             // Range Maximum
1359                    0xFCFD,             // Translation Offset
1360                    0xFEFF,             // Length
1361                    0xFF, "PATHPATHPATH", )
1362            }
1363            StartDependentFn (0x01, 0x02)
1364            {
1365                IRQ (Level, ActiveHigh, Exclusive, )
1366                    {0}
1367                IRQNoFlags ()
1368                    {1}
1369                DMA (Compatibility, NotBusMaster, Transfer16, )
1370                    {2}
1371                IO (Decode16,
1372                    0xF0F1,             // Range Minimum
1373                    0xF2F3,             // Range Maximum
1374                    0xF4,               // Alignment
1375                    0xF5,               // Length
1376                    )
1377                FixedIO (
1378                    0xF0F1,             // Address
1379                    0xF2,               // Length
1380                    )
1381                VendorShort ()      // Length = 0x07
1382                {
1383                     0x00, 0xA2, 0xB3, 0x76, 0xD5, 0xE6, 0xF7         // ...v...
1384                }
1385                Memory24 (ReadWrite,
1386                    0xF0F1,             // Range Minimum
1387                    0xF2F3,             // Range Maximum
1388                    0xF4F5,             // Alignment
1389                    0xF6F7,             // Length
1390                    )
1391                Memory32 (ReadWrite,
1392                    0xF0F1F2F3,         // Range Minimum
1393                    0xF4F5F6F7,         // Range Maximum
1394                    0xF8F9FAFB,         // Alignment
1395                    0xFCFDFEFF,         // Length
1396                    )
1397                Memory32Fixed (ReadOnly,
1398                    0xF0F1F2F3,         // Address Base
1399                    0xF4F5F6F7,         // Address Length
1400                    )
1401            }
1402            StartDependentFn (0x02, 0x00)
1403            {
1404            }
1405            StartDependentFn (0x02, 0x01)
1406            {
1407                IRQ (Level, ActiveHigh, Exclusive, )
1408                    {0}
1409                IRQNoFlags ()
1410                    {1}
1411                DMA (Compatibility, NotBusMaster, Transfer16, )
1412                    {2}
1413                IO (Decode16,
1414                    0xF0F1,             // Range Minimum
1415                    0xF2F3,             // Range Maximum
1416                    0xF4,               // Alignment
1417                    0xF5,               // Length
1418                    )
1419                FixedIO (
1420                    0xF0F1,             // Address
1421                    0xF2,               // Length
1422                    )
1423                VendorShort ()      // Length = 0x07
1424                {
1425                     0x00, 0xA2, 0xB3, 0x76, 0xD5, 0xE6, 0xF7         // ...v...
1426                }
1427                Memory24 (ReadWrite,
1428                    0xF0F1,             // Range Minimum
1429                    0xF2F3,             // Range Maximum
1430                    0xF4F5,             // Alignment
1431                    0xF6F7,             // Length
1432                    )
1433                Memory32 (ReadWrite,
1434                    0xF0F1F2F3,         // Range Minimum
1435                    0xF4F5F6F7,         // Range Maximum
1436                    0xF8F9FAFB,         // Alignment
1437                    0xFCFDFEFF,         // Length
1438                    )
1439                Memory32Fixed (ReadOnly,
1440                    0xF0F1F2F3,         // Address Base
1441                    0xF4F5F6F7,         // Address Length
1442                    )
1443                VendorLong  ()      // Length = 0x15
1444                {
1445                    /* 0000 */  0x9F, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6,  // ........
1446                    /* 0008 */  0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE,  // ........
1447                    /* 0010 */  0xFF, 0x00, 0x01, 0x02, 0x03                     // .....
1448                }
1449            }
1450            StartDependentFn (0x02, 0x02)
1451            {
1452            }
1453            EndDependentFn ()
1454            StartDependentFnNoPri ()
1455            {
1456                IRQ (Level, ActiveHigh, Exclusive, )
1457                    {0}
1458                IRQNoFlags ()
1459                    {1}
1460            }
1461            StartDependentFnNoPri ()
1462            {
1463                IRQ (Level, ActiveHigh, Exclusive, )
1464                    {0}
1465                IRQNoFlags ()
1466                    {1}
1467                DMA (Compatibility, NotBusMaster, Transfer16, )
1468                    {2}
1469            }
1470            StartDependentFn (0x00, 0x00)
1471            {
1472                IRQ (Level, ActiveHigh, Exclusive, )
1473                    {0}
1474                IRQNoFlags ()
1475                    {1}
1476                DMA (Compatibility, NotBusMaster, Transfer16, )
1477                    {2}
1478                IO (Decode16,
1479                    0xF0F1,             // Range Minimum
1480                    0xF2F3,             // Range Maximum
1481                    0xF4,               // Alignment
1482                    0xF5,               // Length
1483                    )
1484            }
1485            StartDependentFn (0x00, 0x01)
1486            {
1487                IRQ (Level, ActiveHigh, Exclusive, )
1488                    {0}
1489                IRQNoFlags ()
1490                    {1}
1491                DMA (Compatibility, NotBusMaster, Transfer16, )
1492                    {2}
1493                IO (Decode16,
1494                    0xF0F1,             // Range Minimum
1495                    0xF2F3,             // Range Maximum
1496                    0xF4,               // Alignment
1497                    0xF5,               // Length
1498                    )
1499                FixedIO (
1500                    0xF0F1,             // Address
1501                    0xF2,               // Length
1502                    )
1503            }
1504            StartDependentFn (0x00, 0x02)
1505            {
1506                IRQ (Level, ActiveHigh, Exclusive, )
1507                    {0}
1508                IRQNoFlags ()
1509                    {1}
1510                DMA (Compatibility, NotBusMaster, Transfer16, )
1511                    {2}
1512                IO (Decode16,
1513                    0xF0F1,             // Range Minimum
1514                    0xF2F3,             // Range Maximum
1515                    0xF4,               // Alignment
1516                    0xF5,               // Length
1517                    )
1518                FixedIO (
1519                    0xF0F1,             // Address
1520                    0xF2,               // Length
1521                    )
1522                VendorShort ()      // Length = 0x07
1523                {
1524                     0x00, 0xA2, 0xB3, 0x76, 0xD5, 0xE6, 0xF7         // ...v...
1525                }
1526            }
1527            StartDependentFn (0x01, 0x00)
1528            {
1529                IRQ (Level, ActiveHigh, Exclusive, )
1530                    {0}
1531                IRQNoFlags ()
1532                    {1}
1533                DMA (Compatibility, NotBusMaster, Transfer16, )
1534                    {2}
1535                IO (Decode16,
1536                    0xF0F1,             // Range Minimum
1537                    0xF2F3,             // Range Maximum
1538                    0xF4,               // Alignment
1539                    0xF5,               // Length
1540                    )
1541                FixedIO (
1542                    0xF0F1,             // Address
1543                    0xF2,               // Length
1544                    )
1545                VendorShort ()      // Length = 0x07
1546                {
1547                     0x00, 0xA2, 0xB3, 0x76, 0xD5, 0xE6, 0xF7         // ...v...
1548                }
1549                Memory24 (ReadWrite,
1550                    0xF0F1,             // Range Minimum
1551                    0xF2F3,             // Range Maximum
1552                    0xF4F5,             // Alignment
1553                    0xF6F7,             // Length
1554                    )
1555            }
1556            StartDependentFn (0x01, 0x01)
1557            {
1558                IRQ (Level, ActiveHigh, Exclusive, )
1559                    {0}
1560                IRQNoFlags ()
1561                    {1}
1562                DMA (Compatibility, NotBusMaster, Transfer16, )
1563                    {2}
1564                IO (Decode16,
1565                    0xF0F1,             // Range Minimum
1566                    0xF2F3,             // Range Maximum
1567                    0xF4,               // Alignment
1568                    0xF5,               // Length
1569                    )
1570                FixedIO (
1571                    0xF0F1,             // Address
1572                    0xF2,               // Length
1573                    )
1574                VendorShort ()      // Length = 0x07
1575                {
1576                     0x00, 0xA2, 0xB3, 0x76, 0xD5, 0xE6, 0xF7         // ...v...
1577                }
1578                Memory24 (ReadWrite,
1579                    0xF0F1,             // Range Minimum
1580                    0xF2F3,             // Range Maximum
1581                    0xF4F5,             // Alignment
1582                    0xF6F7,             // Length
1583                    )
1584                Memory32 (ReadWrite,
1585                    0xF0F1F2F3,         // Range Minimum
1586                    0xF4F5F6F7,         // Range Maximum
1587                    0xF8F9FAFB,         // Alignment
1588                    0xFCFDFEFF,         // Length
1589                    )
1590            }
1591            StartDependentFn (0x01, 0x01)
1592            {
1593                IRQ (Level, ActiveHigh, Exclusive, )
1594                    {0}
1595                IRQNoFlags ()
1596                    {1}
1597                DMA (Compatibility, NotBusMaster, Transfer16, )
1598                    {2}
1599                IO (Decode16,
1600                    0xF0F1,             // Range Minimum
1601                    0xF2F3,             // Range Maximum
1602                    0xF4,               // Alignment
1603                    0xF5,               // Length
1604                    )
1605                FixedIO (
1606                    0xF0F1,             // Address
1607                    0xF2,               // Length
1608                    )
1609                VendorShort ()      // Length = 0x07
1610                {
1611                     0x00, 0xA2, 0xB3, 0x76, 0xD5, 0xE6, 0xF7         // ...v...
1612                }
1613                Memory24 (ReadWrite,
1614                    0xF0F1,             // Range Minimum
1615                    0xF2F3,             // Range Maximum
1616                    0xF4F5,             // Alignment
1617                    0xF6F7,             // Length
1618                    )
1619                Memory32 (ReadWrite,
1620                    0xF0F1F2F3,         // Range Minimum
1621                    0xF4F5F6F7,         // Range Maximum
1622                    0xF8F9FAFB,         // Alignment
1623                    0xFCFDFEFF,         // Length
1624                    )
1625                Memory32Fixed (ReadOnly,
1626                    0xF0F1F2F3,         // Address Base
1627                    0xF4F5F6F7,         // Address Length
1628                    )
1629                VendorLong  ()      // Length = 0x15
1630                {
1631                    /* 0000 */  0x9F, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6,  // ........
1632                    /* 0008 */  0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE,  // ........
1633                    /* 0010 */  0xFF, 0x00, 0x01, 0x02, 0x03                     // .....
1634                }
1635                QWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
1636                    0xD8D9DADBDCDDDEDF, // Granularity
1637                    0xE0E1E2E3E4E5E6E7, // Range Minimum
1638                    0xE8E9EAEBECEDEEEF, // Range Maximum
1639                    0xF0F1F2F3F4F5F6F7, // Translation Offset
1640                    0xF8F9FAFBFCFDFEFF, // Length
1641                    0xFF, "PATHPATHPATH", , TypeTranslation, SparseTranslation)
1642                DWordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
1643                    0xECEDEEEF,         // Granularity
1644                    0xF0F1F2F3,         // Range Minimum
1645                    0xF4F5F6F7,         // Range Maximum
1646                    0xF8F9FAFB,         // Translation Offset
1647                    0xFCFDFEFF,         // Length
1648                    0xFF, "PATHPATHPATH", , TypeTranslation, SparseTranslation)
1649                WordIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
1650                    0xF6F7,             // Granularity
1651                    0xF8F9,             // Range Minimum
1652                    0xFAFB,             // Range Maximum
1653                    0xFCFD,             // Translation Offset
1654                    0xFEFF,             // Length
1655                    0xFF, "PATHPATHPATH", , TypeTranslation, SparseTranslation)
1656                QWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
1657                    0xD8D9DADBDCDDDEDF, // Granularity
1658                    0xE0E1E2E3E4E5E6E7, // Range Minimum
1659                    0xE8E9EAEBECEDEEEF, // Range Maximum
1660                    0xF0F1F2F3F4F5F6F7, // Translation Offset
1661                    0xF8F9FAFBFCFDFEFF, // Length
1662                    0xFF, "PATHPATHPATH", , AddressRangeACPI, TypeTranslation)
1663                DWordMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
1664                    0xECEDEEEF,         // Granularity
1665                    0xF0F1F2F3,         // Range Minimum
1666                    0xF4F5F6F7,         // Range Maximum
1667                    0xF8F9FAFB,         // Translation Offset
1668                    0xFCFDFEFF,         // Length
1669                    0xFF, "PATHPATHPATH", , AddressRangeACPI, TypeTranslation)
1670                WordBusNumber (ResourceConsumer, MinFixed, MaxFixed, SubDecode,
1671                    0xF6F7,             // Granularity
1672                    0xF8F9,             // Range Minimum
1673                    0xFAFB,             // Range Maximum
1674                    0xFCFD,             // Translation Offset
1675                    0xFEFF,             // Length
1676                    0xFF, "PATHPATHPATH", )
1677                Interrupt (ResourceConsumer, Edge, ActiveLow, Shared, 0xFF, "!\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !\"#$%&\'()*", )
1678                {
1679                    0x00000001,
1680                    0x00000002,
1681                    0x00000003,
1682                    0x00000004,
1683                    0x00000005,
1684                    0x00000006,
1685                    0x00000007,
1686                    0x00000008,
1687                    0x00000009,
1688                    0x0000000A,
1689                    0x0000000B,
1690                    0x0000000C,
1691                    0x0000000D,
1692                    0x0000000E,
1693                    0x0000000F,
1694                    0x00000010,
1695                    0x00000011,
1696                    0x00000012,
1697                    0x00000013,
1698                    0x00000014,
1699                    0x00000015,
1700                    0x00000016,
1701                    0x00000017,
1702                    0x00000018,
1703                    0x00000019,
1704                    0x0000001A,
1705                    0x0000001B,
1706                    0x0000001C,
1707                    0x0000001D,
1708                    0x0000001E,
1709                    0x0000001F,
1710                    0x00000020,
1711                    0x00000021,
1712                    0x00000022,
1713                    0x00000023,
1714                    0x00000024,
1715                    0x00000025,
1716                    0x00000026,
1717                    0x00000027,
1718                    0x00000028,
1719                    0x00000029,
1720                    0x0000002A,
1721                    0x0000002B,
1722                    0x0000002C,
1723                    0x0000002D,
1724                    0x0000002E,
1725                    0x0000002F,
1726                    0x00000030,
1727                    0x00000031,
1728                    0x00000032,
1729                    0x00000033,
1730                    0x00000034,
1731                    0x00000035,
1732                    0x00000036,
1733                    0x00000037,
1734                    0x00000038,
1735                    0x00000039,
1736                    0x0000003A,
1737                    0x0000003B,
1738                    0x0000003C,
1739                    0x0000003D,
1740                    0x0000003E,
1741                    0x0000003F,
1742                    0x00000040,
1743                    0x00000041,
1744                    0x00000042,
1745                    0x00000043,
1746                    0x00000044,
1747                    0x00000045,
1748                    0x00000046,
1749                    0x00000047,
1750                    0x00000048,
1751                    0x00000049,
1752                    0x0000004A,
1753                    0x0000004B,
1754                    0x0000004C,
1755                    0x0000004D,
1756                    0x0000004E,
1757                    0x0000004F,
1758                    0x00000050,
1759                    0x00000051,
1760                    0x00000052,
1761                    0x00000053,
1762                    0x00000054,
1763                    0x00000055,
1764                    0x00000056,
1765                    0x00000057,
1766                    0x00000058,
1767                    0x00000059,
1768                    0x0000005A,
1769                    0x0000005B,
1770                    0x0000005C,
1771                    0x0000005D,
1772                    0x0000005E,
1773                    0x0000005F,
1774                    0x00000060,
1775                    0x00000061,
1776                    0x00000062,
1777                    0x00000063,
1778                    0x00000064,
1779                    0x00000065,
1780                    0x00000066,
1781                    0x00000067,
1782                    0x00000068,
1783                    0x00000069,
1784                    0x0000006A,
1785                    0x0000006B,
1786                    0x0000006C,
1787                    0x0000006D,
1788                    0x0000006E,
1789                    0x0000006F,
1790                    0x00000070,
1791                    0x00000071,
1792                    0x00000072,
1793                    0x00000073,
1794                    0x00000074,
1795                    0x00000075,
1796                    0x00000076,
1797                    0x00000077,
1798                    0x00000078,
1799                    0x00000079,
1800                    0x0000007A,
1801                    0x0000007B,
1802                    0x0000007C,
1803                    0x0000007D,
1804                    0x0000007E,
1805                    0x0000007F,
1806                    0x00000080,
1807                    0x00000081,
1808                    0x00000082,
1809                    0x00000083,
1810                    0x00000084,
1811                    0x00000085,
1812                    0x00000086,
1813                    0x00000087,
1814                    0x00000088,
1815                    0x00000089,
1816                    0x0000008A,
1817                    0x0000008B,
1818                    0x0000008C,
1819                    0x0000008D,
1820                    0x0000008E,
1821                    0x0000008F,
1822                    0x00000090,
1823                    0x00000091,
1824                    0x00000092,
1825                    0x00000093,
1826                    0x00000094,
1827                    0x00000095,
1828                    0x00000096,
1829                    0x00000097,
1830                    0x00000098,
1831                    0x00000099,
1832                    0x0000009A,
1833                    0x0000009B,
1834                    0x0000009C,
1835                    0x0000009D,
1836                    0x0000009E,
1837                    0x0000009F,
1838                    0x000000A0,
1839                    0x000000A1,
1840                    0x000000A2,
1841                    0x000000A3,
1842                    0x000000A4,
1843                    0x000000A5,
1844                    0x000000A6,
1845                    0x000000A7,
1846                    0x000000A8,
1847                    0x000000A9,
1848                    0x000000AA,
1849                    0x000000AB,
1850                    0x000000AC,
1851                    0x000000AD,
1852                    0x000000AE,
1853                    0x000000AF,
1854                    0x000000B0,
1855                    0x000000B1,
1856                    0x000000B2,
1857                    0x000000B3,
1858                    0x000000B4,
1859                    0x000000B5,
1860                    0x000000B6,
1861                    0x000000B7,
1862                    0x000000B8,
1863                    0x000000B9,
1864                    0x000000BA,
1865                    0x000000BB,
1866                    0x000000BC,
1867                    0x000000BD,
1868                    0x000000BE,
1869                    0x000000BF,
1870                    0x000000C0,
1871                    0x000000C1,
1872                    0x000000C2,
1873                    0x000000C3,
1874                    0x000000C4,
1875                    0x000000C5,
1876                    0x000000C6,
1877                    0x000000C7,
1878                    0x000000C8,
1879                    0x000000C9,
1880                    0x000000CA,
1881                    0x000000CB,
1882                    0x000000CC,
1883                    0x000000CD,
1884                    0x000000CE,
1885                    0x000000CF,
1886                    0x000000D0,
1887                    0x000000D1,
1888                    0x000000D2,
1889                    0x000000D3,
1890                    0x000000D4,
1891                    0x000000D5,
1892                    0x000000D6,
1893                    0x000000D7,
1894                    0x000000D8,
1895                    0x000000D9,
1896                    0x000000DA,
1897                    0x000000DB,
1898                    0x000000DC,
1899                    0x000000DD,
1900                    0x000000DE,
1901                    0x000000DF,
1902                    0x000000E0,
1903                    0x000000E1,
1904                    0x000000E2,
1905                    0x000000E3,
1906                    0x000000E4,
1907                    0x000000E5,
1908                    0x000000E6,
1909                    0x000000E7,
1910                    0x000000E8,
1911                    0x000000E9,
1912                    0x000000EA,
1913                    0x000000EB,
1914                    0x000000EC,
1915                    0x000000ED,
1916                    0x000000EE,
1917                    0x000000EF,
1918                    0x000000F0,
1919                    0x000000F1,
1920                    0x000000F2,
1921                    0x000000F3,
1922                    0x000000F4,
1923                    0x000000F5,
1924                    0x000000F6,
1925                    0x000000F7,
1926                    0x000000F8,
1927                    0x000000F9,
1928                    0x000000FA,
1929                    0x000000FB,
1930                    0x000000FC,
1931                    0x000000FD,
1932                    0x000000FE,
1933                    0x000000FF,
1934                }
1935                Register (FFixedHW,
1936                    0xF0,               // Bit Width
1937                    0xF1,               // Bit Offset
1938                    0xF2F3F4F5F6F7F8F9, // Address
1939                    ,)
1940                ExtendedIO (ResourceConsumer, MinFixed, MaxFixed, SubDecode, EntireRange,
1941                    0xD0D1D2D3D4D5D6D7, // Granularity
1942                    0xD8D9DADBDCDDDEDF, // Range Minimum
1943                    0xE0E1E2E3E4E5E6E7, // Range Maximum
1944                    0xE8E9EAEBECEDEEEF, // Translation Offset
1945                    0xF0F1F2F3F4F5F6F7, // Length
1946                    0xF8F9FAFBFCFDFEFF, // Type-Specific Attributes
1947                    , TypeTranslation, SparseTranslation)
1948                ExtendedMemory (ResourceConsumer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
1949                    0xD0D1D2D3D4D5D6D7, // Granularity
1950                    0xD8D9DADBDCDDDEDF, // Range Minimum
1951                    0xE0E1E2E3E4E5E6E7, // Range Maximum
1952                    0xE8E9EAEBECEDEEEF, // Translation Offset
1953                    0xF0F1F2F3F4F5F6F7, // Length
1954                    0xF8F9FAFBFCFDFEFF, // Type-Specific Attributes
1955                    , AddressRangeACPI, TypeTranslation)
1956                ExtendedSpace (0xC0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5A,
1957                    0xD0D1D2D3D4D5D6D7, // Granularity
1958                    0xD8D9DADBDCDDDEDF, // Range Minimum
1959                    0xE0E1E2E3E4E5E6E7, // Range Maximum
1960                    0xE8E9EAEBECEDEEEF, // Translation Offset
1961                    0xF0F1F2F3F4F5F6F7, // Length
1962                    0xF8F9FAFBFCFDFEFF, // Type-Specific Attributes
1963                    )
1964                DWordSpace (0xC0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5A,
1965                    0xECEDEEEF,         // Granularity
1966                    0xF0F1F2F3,         // Range Minimum
1967                    0xF4F5F6F7,         // Range Maximum
1968                    0xF8F9FAFB,         // Translation Offset
1969                    0xFCFDFEFF,         // Length
1970                    0xFF, "PATHPATHPATH", )
1971                QWordSpace (0xC0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5A,
1972                    0xD8D9DADBDCDDDEDF, // Granularity
1973                    0xE0E1E2E3E4E5E6E7, // Range Minimum
1974                    0xE8E9EAEBECEDEEEF, // Range Maximum
1975                    0xF0F1F2F3F4F5F6F7, // Translation Offset
1976                    0xF8F9FAFBFCFDFEFF, // Length
1977                    0xFF, "PATHPATHPATH", )
1978                WordSpace (0xC0, ResourceConsumer, SubDecode, MinFixed, MaxFixed, 0x5A,
1979                    0xF6F7,             // Granularity
1980                    0xF8F9,             // Range Minimum
1981                    0xFAFB,             // Range Maximum
1982                    0xFCFD,             // Translation Offset
1983                    0xFEFF,             // Length
1984                    0xFF, "PATHPATHPATH", )
1985            }
1986            StartDependentFn (0x01, 0x02)
1987            {
1988                IRQ (Level, ActiveHigh, Exclusive, )
1989                    {0}
1990                IRQNoFlags ()
1991                    {1}
1992                DMA (Compatibility, NotBusMaster, Transfer16, )
1993                    {2}
1994                IO (Decode16,
1995                    0xF0F1,             // Range Minimum
1996                    0xF2F3,             // Range Maximum
1997                    0xF4,               // Alignment
1998                    0xF5,               // Length
1999                    )
2000                FixedIO (
2001                    0xF0F1,             // Address
2002                    0xF2,               // Length
2003                    )
2004                VendorShort ()      // Length = 0x07
2005                {
2006                     0x00, 0xA2, 0xB3, 0x76, 0xD5, 0xE6, 0xF7         // ...v...
2007                }
2008                Memory24 (ReadWrite,
2009                    0xF0F1,             // Range Minimum
2010                    0xF2F3,             // Range Maximum
2011                    0xF4F5,             // Alignment
2012                    0xF6F7,             // Length
2013                    )
2014                Memory32 (ReadWrite,
2015                    0xF0F1F2F3,         // Range Minimum
2016                    0xF4F5F6F7,         // Range Maximum
2017                    0xF8F9FAFB,         // Alignment
2018                    0xFCFDFEFF,         // Length
2019                    )
2020                Memory32Fixed (ReadOnly,
2021                    0xF0F1F2F3,         // Address Base
2022                    0xF4F5F6F7,         // Address Length
2023                    )
2024            }
2025            StartDependentFn (0x02, 0x00)
2026            {
2027            }
2028            StartDependentFn (0x02, 0x01)
2029            {
2030                IRQ (Level, ActiveHigh, Exclusive, )
2031                    {0}
2032                IRQNoFlags ()
2033                    {1}
2034                DMA (Compatibility, NotBusMaster, Transfer16, )
2035                    {2}
2036                IO (Decode16,
2037                    0xF0F1,             // Range Minimum
2038                    0xF2F3,             // Range Maximum
2039                    0xF4,               // Alignment
2040                    0xF5,               // Length
2041                    )
2042                FixedIO (
2043                    0xF0F1,             // Address
2044                    0xF2,               // Length
2045                    )
2046                VendorShort ()      // Length = 0x07
2047                {
2048                     0x00, 0xA2, 0xB3, 0x76, 0xD5, 0xE6, 0xF7         // ...v...
2049                }
2050                Memory24 (ReadWrite,
2051                    0xF0F1,             // Range Minimum
2052                    0xF2F3,             // Range Maximum
2053                    0xF4F5,             // Alignment
2054                    0xF6F7,             // Length
2055                    )
2056                Memory32 (ReadWrite,
2057                    0xF0F1F2F3,         // Range Minimum
2058                    0xF4F5F6F7,         // Range Maximum
2059                    0xF8F9FAFB,         // Alignment
2060                    0xFCFDFEFF,         // Length
2061                    )
2062                Memory32Fixed (ReadOnly,
2063                    0xF0F1F2F3,         // Address Base
2064                    0xF4F5F6F7,         // Address Length
2065                    )
2066                VendorLong  ()      // Length = 0x15
2067                {
2068                    /* 0000 */  0x9F, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6,  // ........
2069                    /* 0008 */  0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE,  // ........
2070                    /* 0010 */  0xFF, 0x00, 0x01, 0x02, 0x03                     // .....
2071                }
2072            }
2073            StartDependentFn (0x02, 0x02)
2074            {
2075            }
2076            EndDependentFn ()
2077        }
2078    })
2079    /* Particular cases */
2080
2081    Name (P441, Package (0x01)
2082    {
2083        ResourceTemplate ()
2084        {
2085            DMA (Compatibility, BusMaster, Transfer8_16, )
2086                {4}
2087        }
2088        /* Buffer () {0x00, 0x00, 0x00, 0x79, 0x00}, */
2089    /* Buffer () {0x2a, 0x10, 0x05, 0x79}, */
2090    /* Empty buffer */
2091    })
2092    Name (P442, Package (0x02)
2093    {
2094        ResourceTemplate ()
2095        {
2096            IRQNoFlags ()
2097                {1}
2098        },
2099
2100        ResourceTemplate ()
2101        {
2102            IRQNoFlags ()
2103                {1}
2104        }
2105        /*
2106     * ResourceTemplate () {
2107     *	IRQNoFlags () {1}
2108     * },
2109     *
2110     * ResourceTemplate () {
2111     *	IRQNoFlags () {1}
2112     * },
2113     */
2114    })
2115    Name (P443, Package (0x02)
2116    {
2117        ResourceTemplate ()
2118        {
2119            DMA (Compatibility, BusMaster, Transfer8_16, )
2120                {4}
2121            IRQNoFlags ()
2122                {1}
2123        },
2124
2125        /* Buffer () {0x00, 0x00, 0x00, 0x22, 0x02, 0x00, 0x79, 0}, */
2126        /* Buffer () {0x2a, 0x10, 0x05, 0x22, 0x02, 0x00, 0x79, 0}, */
2127        ResourceTemplate ()
2128        {
2129            IRQNoFlags ()
2130                {1}
2131        }
2132    })
2133    Name (P444, Package (0x02)
2134    {
2135        ResourceTemplate ()
2136        {
2137            IRQNoFlags ()
2138                {1}
2139            DMA (Compatibility, BusMaster, Transfer8_16, )
2140                {4}
2141        },
2142
2143        /* Buffer () {0x22, 0x02, 0x00, 0x00, 0x00, 0x00, 0x79, 0}, */
2144        /* Buffer () {0x22, 0x02, 0x00, 0x2a, 0x10, 0x05, 0x79, 0}, */
2145        ResourceTemplate ()
2146        {
2147            IRQNoFlags ()
2148                {1}
2149        }
2150    })
2151    Method (RT1B, 0, Serialized)
2152    {
2153        /* Emit test header, set the filename */
2154
2155        THDR (__METHOD__, "Concatenate two resource templates", "concatenaterestemplate.asl")
2156        /* Calculate the checksum for the target first */
2157        /*	m334(p440, 3) */
2158        /*	m332(ts, 3, "p440", p438, p438, p440) */
2159        /* Particular cases */
2160        /*	Store(0, Local0) */
2161        /*	Store(Buffer(Local0){}, Local1) */
2162        /*	Store(Local1, Index(p441, 1)) */
2163        M332 (__METHOD__, 0x01, "p443", P441, P442, P443)
2164        M332 (__METHOD__, 0x01, "p444", P442, P441, P444)
2165        CH03 (__METHOD__, Z007, __LINE__, 0x00, 0x00)
2166    }
2167