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 * Bug 264: 30 * 31 * SUMMARY: Crash on re-writing named element of Package 32 */ 33 /* 34 * To be done: 35 * 36 * 1) Do then the bdemo-test for different type element of Package 37 * (not only Integer i000 as now). 38 * 39 * 2) See below: what should be there the result of Store operations? 40 * 41 * 3) After (2) do the relevant tests - writing/rewriting to such type elements of packages. 42 */ 43 Method (M025, 0, NotSerialized) 44 { 45 Method (M000, 0, Serialized) 46 { 47 Name (I000, 0xABCD0000) 48 Name (P000, Package (0x01) 49 { 50 I000 51 }) 52 CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00) 53 DerefOf (P000 [0x00]) = 0xABCD0001 54 /* 55 Specify then what should be there the result of Store operation above? 56 Store(DerefOf(Index(p000, 0)), Local0) 57 if (LNotEqual(Local0, 0xabcd0000)) { 58 err("", zFFF, __LINE__, 0, 0, Local0, 0xabcd0000) 59 } 60 */ 61 CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00) 62 } 63 64 Method (M001, 0, Serialized) 65 { 66 Name (I000, 0xABCD0000) 67 Name (P000, Package (0x01) 68 { 69 I000 70 }) 71 CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00) 72 DerefOf (Local0 = P000 [0x00]) = 0xABCD0001 73 CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00) 74 } 75 76 Method (M002, 0, Serialized) 77 { 78 Name (I000, 0xABCD0000) 79 Name (P000, Package (0x01) 80 { 81 I000 82 }) 83 CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00) 84 Local0 = P000 [0x00] 85 DerefOf (Local0) = 0xABCD0001 86 CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00) 87 } 88 89 Method (M003, 0, Serialized) 90 { 91 Name (I000, 0xABCD0000) 92 Name (P000, Package (0x01) 93 { 94 I000 95 }) 96 CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00) 97 Store (P000 [0x00], Local0) 98 DerefOf (Local0) = 0xABCD0001 99 CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00) 100 } 101 102 Method (M004, 0, Serialized) 103 { 104 Name (I000, 0xABCD0000) 105 Name (P000, Package (0x01) 106 { 107 I000 108 }) 109 CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00) 110 Local1 = Local0 = P000 [0x00] 111 DerefOf (Local0) = 0xABCD0001 112 CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00) 113 } 114 115 Method (M005, 0, Serialized) 116 { 117 Name (I000, 0xABCD0000) 118 Name (P000, Package (0x01) 119 { 120 I000 121 }) 122 CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00) 123 Local1 = Local0 = P000 [0x00] 124 DerefOf (Local1) = 0xABCD0001 125 CH03 (__METHOD__, 0x00, __LINE__, 0x00, 0x00) 126 } 127 128 Method (M006, 0, NotSerialized) 129 { 130 M000 () 131 M001 () 132 M002 () 133 M003 () 134 M004 () 135 M005 () 136 } 137 138 M006 () 139 } 140