1/* 2 * Some or all of this work - Copyright (c) 2006 - 2016, Intel Corp. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without modification, 6 * are permitted provided that the following conditions are met: 7 * 8 * Redistributions of source code must retain the above copyright notice, 9 * this list of conditions and the following disclaimer. 10 * Redistributions in binary form must reproduce the above copyright notice, 11 * this list of conditions and the following disclaimer in the documentation 12 * and/or other materials provided with the distribution. 13 * Neither the name of Intel Corporation nor the names of its contributors 14 * may be used to endorse or promote products derived from this software 15 * without specific prior written permission. 16 * 17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 25 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 26 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 */ 28 29/* 30 * ns2 originated but has names from root 31 */ 32 33/* 34 * Element of Package instead of i000 (in m001) 35 */ 36Method(m203, 1, Serialized) 37{ 38 Name(ts, "m203") 39 Name(i001, 0) 40 Name(p000, Package() {1,2,3,4}) 41 Device(d000) 42 { 43 Name(pp00, Package() {0x11111111, 0x00000001, 0x22223333}) 44 } 45 46 CH03(ts, z156, 0x006, 0, 0) 47 48 Store(arg0, i001) 49 50 Method(m001) 51 { 52 Method(m002) 53 { 54 Method(m003) 55 { 56 Method(m004) 57 { 58 Method(m005) 59 { 60 Method(m006) 61 { 62 Method(m007) 63 { 64 Method(m008) 65 { 66 if (i001) 67 { 68 Store(p000, Index(\m203.d000.pp00, 1)) 69 } 70 Return (0) 71 } 72 Store(0x80000000, Index(\m203.d000.pp00, 1)) 73 Return (Add(DerefOf(Index(\m203.d000.pp00, 1)), m008())) 74 } 75 Store(0x07000000, Index(\m203.d000.pp00, 1)) 76 Return (Add(DerefOf(Index(\m203.d000.pp00, 1)), m007())) 77 } 78 Store(0x00600000, Index(\m203.d000.pp00, 1)) 79 Return (Add(DerefOf(Index(\m203.d000.pp00, 1)), m006())) 80 } 81 Store(0x00050000, Index(\m203.d000.pp00, 1)) 82 Return (Add(DerefOf(Index(\m203.d000.pp00, 1)), m005())) 83 } 84 Store(0x00004000, Index(\m203.d000.pp00, 1)) 85 Return (Add(DerefOf(Index(\m203.d000.pp00, 1)), m004())) 86 } 87 Store(0x00000300, Index(\m203.d000.pp00, 1)) 88 Return (Add(DerefOf(Index(\m203.d000.pp00, 1)), m003())) 89 } 90 Store(0x00000020, Index(^d000.pp00, 1)) 91 Return (Add(DerefOf(Index(^d000.pp00, 1)), m002())) 92 } 93 Store(Add(DerefOf(Index(d000.pp00, 1)), m001()), Local0) 94 95 if (LNotEqual(Local0, 0x87654321)) { 96 err(ts, z156, 0x007, 0, 0, Local0, 0x87654321) 97 } 98 99 Store(DerefOf(Index(d000.pp00, 1)), Local0) 100 101 if (LNotEqual(Local0, 0x80000000)) { 102 err(ts, z156, 0x008, 0, 0, Local0, 0x80000000) 103 } 104 105 CH03(ts, z156, 0x009, 0, 0) 106} 107 108/* 109 * Buffer Field instead of i000 (in m001) 110 */ 111Method(m205, 1, Serialized) 112{ 113 Name(ts, "m205") 114 Name(i001, 0) 115 Name(p000, Package() {1,2,3,4}) 116 117 CH03(ts, z156, 0x00d, 0, 0) 118 119 Device(d000) 120 { 121 Name(b000, Buffer(16) {}) 122 CreateField(b000, 5, 32, bf00) 123 } 124 125 CH03(ts, z156, 0x00e, 0, 0) 126 127 if (0) { 128 CreateField(d000.b000, 5, 32, bf00) 129 } 130 131 Store(arg0, i001) 132 133 Method(m001) 134 { 135 Method(m002) 136 { 137 Method(m003) 138 { 139 Method(m004) 140 { 141 Method(m005) 142 { 143 Method(m006) 144 { 145 Method(m007) 146 { 147 Method(m008) 148 { 149 if (i001) 150 { 151 Store(p000, Index(\m205.d000.bf00, 1)) 152 } 153 Return (0) 154 } 155 Store(0x80000000, Index(\m205.d000.bf00, 1)) 156 Return (Add(DerefOf(Index(\m205.d000.bf00, 1)), m008())) 157 } 158 Store(0x07000000, Index(\m205.d000.bf00, 1)) 159 Return (Add(DerefOf(Index(\m205.d000.bf00, 1)), m007())) 160 } 161 Store(0x00600000, Index(\m205.d000.bf00, 1)) 162 Return (Add(DerefOf(Index(\m205.d000.bf00, 1)), m006())) 163 } 164 Store(0x00050000, Index(\m205.d000.bf00, 1)) 165 Return (Add(DerefOf(Index(\m205.d000.bf00, 1)), m005())) 166 } 167 Store(0x00004000, Index(\m205.d000.bf00, 1)) 168 Return (Add(DerefOf(Index(\m205.d000.bf00, 1)), m004())) 169 } 170 Store(0x00000300, Index(\m205.d000.bf00, 1)) 171 Return (Add(DerefOf(Index(\m205.d000.bf00, 1)), m003())) 172 } 173 Store(0x00000020, Index(^d000.bf00, 1)) 174 Return (Add(DerefOf(Index(^d000.bf00, 1)), m002())) 175 } 176 Store(Add(DerefOf(Index(d000.bf00, 1)), m001()), Local0) 177 178 if (LNotEqual(Local0, 0x87654321)) { 179 err(ts, z156, 0x00f, 0, 0, Local0, 0x87654321) 180 } 181 182 Store(DerefOf(Index(d000.bf00, 1)), Local0) 183 184 if (LNotEqual(Local0, 0x80000000)) { 185 err(ts, z156, 0x010, 0, 0, Local0, 0x80000000) 186 } 187 188 CH03(ts, z156, 0x011, 0, 0) 189} 190 191Method(n102) 192{ 193if (1) { 194 195 SRMT("m203-0") 196 m203(0) 197 SRMT("m203-1") 198 if (y200) { 199 m203(1) 200 } else { 201 BLCK() 202 } 203 SRMT("m205-0") 204 if (y216) { 205 m205(0) 206 } else { 207 BLCK() 208 } 209 SRMT("m205-1") 210 if (LAnd(y200, y216)) { 211 m205(1) 212 } else { 213 BLCK() 214 } 215} else { 216 SRMT("m205-0") 217 m205(0) 218} 219} 220 221