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 * Short Vendor Resource Descriptor 32 */ 33 Name (P40C, Package (0x08) 34 { 35 ResourceTemplate () 36 { 37 VendorShort () // Length = 0x00 38 { 39 } 40 }, 41 42 ResourceTemplate () 43 { 44 VendorShort () // Length = 0x01 45 { 46 0xF1 // . 47 } 48 }, 49 50 ResourceTemplate () 51 { 52 VendorShort () // Length = 0x02 53 { 54 0xE1, 0xF2 // .. 55 } 56 }, 57 58 ResourceTemplate () 59 { 60 VendorShort () // Length = 0x03 61 { 62 0xD1, 0xE2, 0xF3 // ... 63 } 64 }, 65 66 ResourceTemplate () 67 { 68 VendorShort () // Length = 0x04 69 { 70 0x00, 0xD2, 0xE3, 0xF4 // .... 71 } 72 }, 73 74 ResourceTemplate () 75 { 76 VendorShort () // Length = 0x05 77 { 78 0xB1, 0xC2, 0x00, 0xE4, 0xF5 // ..... 79 } 80 }, 81 82 ResourceTemplate () 83 { 84 VendorShort () // Length = 0x06 85 { 86 0xA1, 0xB2, 0xC3, 0xD4, 0xE5, 0xF6 // ...... 87 } 88 }, 89 90 ResourceTemplate () 91 { 92 VendorShort () // Length = 0x07 93 { 94 0x00, 0xA2, 0xB3, 0x76, 0xD5, 0xE6, 0xF7 // ...v... 95 } 96 } 97 }) 98 /* 99 ACPI Specification, Revision 3.0, September 2, 2004 100 6.4.2.7 Vendor-Defined Descriptor 101 Vendor-Defined Descriptor layout: 102 Byte 0 (Tag Bits): Value = 01110nnnB (0x71-0x77)(Type = 0, small item name = 0xE, length = (1-7)) 103 Byte 1 to 7 - Vendor defined 104 */ 105 Name (P40D, Package (0x08) 106 { 107 ResourceTemplate () 108 { 109 VendorShort () // Length = 0x00 110 { 111 } 112 }, 113 114 ResourceTemplate () 115 { 116 VendorShort () // Length = 0x01 117 { 118 0xF1 // . 119 } 120 }, 121 122 ResourceTemplate () 123 { 124 VendorShort () // Length = 0x02 125 { 126 0xE1, 0xF2 // .. 127 } 128 }, 129 130 ResourceTemplate () 131 { 132 VendorShort () // Length = 0x03 133 { 134 0xD1, 0xE2, 0xF3 // ... 135 } 136 }, 137 138 ResourceTemplate () 139 { 140 VendorShort () // Length = 0x04 141 { 142 0x00, 0xD2, 0xE3, 0xF4 // .... 143 } 144 }, 145 146 ResourceTemplate () 147 { 148 VendorShort () // Length = 0x05 149 { 150 0xB1, 0xC2, 0x00, 0xE4, 0xF5 // ..... 151 } 152 }, 153 154 ResourceTemplate () 155 { 156 VendorShort () // Length = 0x06 157 { 158 0xA1, 0xB2, 0xC3, 0xD4, 0xE5, 0xF6 // ...... 159 } 160 }, 161 162 ResourceTemplate () 163 { 164 VendorShort () // Length = 0x07 165 { 166 0x00, 0xA2, 0xB3, 0x76, 0xD5, 0xE6, 0xF7 // ...v... 167 } 168 } 169 }) 170 Method (RT07, 0, Serialized) 171 { 172 /* Emit test header, set the filename */ 173 174 THDR (__METHOD__, "Short Vendor Resource Descriptor Macro", "vendorshort.asl") 175 /* Main test case for packages above */ 176 177 M330 (__METHOD__, 0x08, "p40c", P40C, P40D) 178 } 179