diff options
author | David E. Box <david.e.box@linux.intel.com> | 2015-01-23 14:44:06 -0800 |
---|---|---|
committer | David E. Box <david.e.box@linux.intel.com> | 2015-01-23 14:44:06 -0800 |
commit | 28a95326289ca5ee7cd95f8e8e809dc5564d9509 (patch) | |
tree | 9860c3df863edd372cc7f0b0a57239a655e6d772 /tests/aslts/src/runtime/collections/exceptions/exc_operand | |
parent | 9e3db3381c0dd791dd395020d470952b07c3e878 (diff) | |
download | acpica-28a95326289ca5ee7cd95f8e8e809dc5564d9509.tar.gz |
source and test: update copyright notices to 2015
Diffstat (limited to 'tests/aslts/src/runtime/collections/exceptions/exc_operand')
22 files changed, 17205 insertions, 17205 deletions
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/FULL/MAIN.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/FULL/MAIN.asl index bdb6f4fda..e5913381d 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/FULL/MAIN.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/FULL/MAIN.asl @@ -1,76 +1,76 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -DefinitionBlock( - "exc_operand.aml", // Output filename - "DSDT", // Signature - 0x02, // DSDT Revision - "Intel", // OEMID - "Many", // TABLE ID - 0x00000001 // OEM Revision - ) { - - // All declarations - Include("../../../../../runtime/cntl/DECL_5UP.asl") - Include("../../../../../runtime/common/operations.asl") - Include("../../../../../runtime/common/conversion/oproc.asl") - Include("../../../../../runtime/common/conversion/otest.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_00_undef.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_01_int.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_02_str.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_03_buf.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_04_pckg.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_05_funit.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_06_dev.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_07_event.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_08_method.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_09_mux.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_10_oreg.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_11_pwr.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_12_proc.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_13_tzone.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_14_bfield.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_operand2.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand1/exc_operand1.asl") - - Method(MAIN) { - - // Initialization - STRT(0) - - // Run verification methods - - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand1/RUN.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/RUN.asl") - - // Final actions - Store(FNSH(), Local7) - - return (Local7) - } -} +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+DefinitionBlock(
+ "exc_operand.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/common/operations.asl")
+ Include("../../../../../runtime/common/conversion/oproc.asl")
+ Include("../../../../../runtime/common/conversion/otest.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_00_undef.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_01_int.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_02_str.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_03_buf.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_04_pckg.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_05_funit.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_06_dev.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_07_event.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_08_method.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_09_mux.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_10_oreg.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_11_pwr.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_12_proc.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_13_tzone.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_14_bfield.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_operand2.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand1/exc_operand1.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand1/RUN.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/MAIN.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/MAIN.asl index c22b50df8..6ee0d003c 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/MAIN.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/MAIN.asl @@ -1,59 +1,59 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -DefinitionBlock( - "exc_operand1.aml", // Output filename - "DSDT", // Signature - 0x02, // DSDT Revision - "Intel", // OEMID - "Many", // TABLE ID - 0x00000001 // OEM Revision - ) { - - // All declarations - Include("../../../../../runtime/cntl/DECL_5UP.asl") - Include("../../../../../runtime/common/operations.asl") - Include("../../../../../runtime/common/conversion/oproc.asl") - Include("../../../../../runtime/common/conversion/otest.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand1/exc_operand1.asl") - - Method(MAIN) { - - // Initialization - STRT(0) - - // Run verification methods - - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand1/RUN.asl") - - // Final actions - Store(FNSH(), Local7) - - return (Local7) - } -} +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+DefinitionBlock(
+ "exc_operand1.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/common/operations.asl")
+ Include("../../../../../runtime/common/conversion/oproc.asl")
+ Include("../../../../../runtime/common/conversion/otest.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand1/exc_operand1.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand1/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/RUN.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/RUN.asl index 90f76d8b9..9f3a4f9c1 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/RUN.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/RUN.asl @@ -1,34 +1,34 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - -if (STTT("Exceptions caused by inappropriate type of operands", TCLE, 1, W014)) { - SRMT("EOP1") - EOP1() -} -FTTT() +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+if (STTT("Exceptions caused by inappropriate type of operands", TCLE, 1, W014)) {
+ SRMT("EOP1")
+ EOP1()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/exc_operand1.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/exc_operand1.asl index 645961166..73573437c 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/exc_operand1.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand1/exc_operand1.asl @@ -1,42 +1,42 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * This test should be investigated and probably fixed because - * it most likely not conforms with the changed functionality of - * the Store operator - storing of non-computational data and - * BufferFields and Fields was once diasbled. - * - * Such are exc_operand1, exc_result, oconversion and rconversion tests. - */ - -// Run-method -Method(EOP1) -{ - m460(1) -} +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * This test should be investigated and probably fixed because
+ * it most likely not conforms with the changed functionality of
+ * the Store operator - storing of non-computational data and
+ * BufferFields and Fields was once diasbled.
+ *
+ * Such are exc_operand1, exc_result, oconversion and rconversion tests.
+ */
+
+// Run-method
+Method(EOP1)
+{
+ m460(1)
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/MAIN.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/MAIN.asl index 9695a8395..d31708c84 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/MAIN.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/MAIN.asl @@ -1,71 +1,71 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -DefinitionBlock( - "exc_operand2.aml", // Output filename - "DSDT", // Signature - 0x02, // DSDT Revision - "Intel", // OEMID - "Many", // TABLE ID - 0x00000001 // OEM Revision - ) { - - // All declarations - Include("../../../../../runtime/cntl/DECL_5UP.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_00_undef.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_01_int.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_02_str.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_03_buf.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_04_pckg.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_05_funit.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_06_dev.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_07_event.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_08_method.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_09_mux.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_10_oreg.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_11_pwr.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_12_proc.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_13_tzone.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_14_bfield.asl") - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_operand2.asl") - - Method(MAIN) { - - // Initialization - STRT(0) - - // Run verification methods - - Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/RUN.asl") - - // Final actions - Store(FNSH(), Local7) - - return (Local7) - } -} +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+DefinitionBlock(
+ "exc_operand2.aml", // Output filename
+ "DSDT", // Signature
+ 0x02, // DSDT Revision
+ "Intel", // OEMID
+ "Many", // TABLE ID
+ 0x00000001 // OEM Revision
+ ) {
+
+ // All declarations
+ Include("../../../../../runtime/cntl/DECL_5UP.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_00_undef.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_01_int.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_02_str.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_03_buf.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_04_pckg.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_05_funit.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_06_dev.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_07_event.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_08_method.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_09_mux.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_10_oreg.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_11_pwr.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_12_proc.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_13_tzone.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_14_bfield.asl")
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/exc_operand2.asl")
+
+ Method(MAIN) {
+
+ // Initialization
+ STRT(0)
+
+ // Run verification methods
+
+ Include("../../../../../runtime/collections/exceptions/exc_operand/exc_operand2/RUN.asl")
+
+ // Final actions
+ Store(FNSH(), Local7)
+
+ return (Local7)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/RUN.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/RUN.asl index ca07dea2d..76be9cc81 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/RUN.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/RUN.asl @@ -1,33 +1,33 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - -if (STTT("Exceptions caused by inappropriate type of operands", TCLE, 2, W014)) { - EOP2() -} -FTTT() +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+if (STTT("Exceptions caused by inappropriate type of operands", TCLE, 2, W014)) {
+ EOP2()
+}
+FTTT()
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_00_undef.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_00_undef.asl index 2a5a38390..3340068bd 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_00_undef.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_00_undef.asl @@ -1,1933 +1,1933 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * Uninitialized Data - * - * (verify exceptions caused by use of Uninitialized Data) - */ - -Name(z092, 92) - -// Expected exceptions: -// -// 49 - AE_AML_UNINITIALIZED_LOCAL -// 50 - AE_AML_UNINITIALIZED_ARG -// 51 - AE_AML_UNINITIALIZED_ELEMENT -Method(m4b0, 1, Serialized) -{ - Name(ts, "m4b0") - - Name(i000, 0) - Event(e000) - - // Uninitialized Local - Method(m000, 2) - { - if (arg1) { - Store(0, Local0) - } - - // CondRefOf - - CondRefOf(Local0, Local1) - CH03(ts, z092, 1, 0, 0) - - // CopyObject - - CopyObject(Local0, Local1) - CH06(arg0, 0, 49) - - // Decrement - - Decrement(Local0) - CH06(arg0, 1, 49) - - // DerefOf - - Store (DerefOf(Local0), Local1) - CH06(arg0, 2, 49) - - // FindSetLeftBit - - FindSetLeftBit(Local0, Local1) - CH06(arg0, 4, 49) - - // FindSetRightBit - - FindSetRightBit(Local0, Local1) - CH06(arg0, 6, 49) - - // FromBCD - - FromBCD(Local0, Local1) - CH06(arg0, 8, 49) - - // Increment - - Increment(Local0) - CH06(arg0, 9, 49) - - // LNot - - Store (LNot(Local0), Local1) - CH06(arg0, 10, 49) - - // Not - - Not(Local0, Local1) - CH06(arg0, 12, 49) - - // ObjectType - - Store (ObjectType(Local0), Local1) - CH03(ts, z092, 2, 0, 0) - - // RefOf - - Store (RefOf(Local0), Local1) - CH03(ts, z092, 3, 0, 0) - - // Release - - Release(Local0) - CH06(arg0, 13, 49) - - // Reset - - Reset(Local0) - CH06(arg0, 14, 49) - - // Signal - - Signal(Local0) - CH06(arg0, 15, 49) - - // SizeOf - - Store (SizeOf(Local0), Local1) - CH06(arg0, 16, 49) - - // Sleep - - Sleep(Local0) - CH06(arg0, 17, 49) - - // Stall - - Stall(Local0) - CH06(arg0, 18, 49) - - // Store - - Store(Local0, Local1) - CH06(arg0, 19, 49) - - // ToBCD - - ToBCD(Local0, Local1) - CH06(arg0, 21, 49) - - // ToBuffer - - ToBuffer(Local0, Local1) - CH06(arg0, 23, 49) - - // ToDecimalString - - ToDecimalString(Local0, Local1) - CH06(arg0, 25, 49) - - // ToHexString - - ToHexString(Local0, Local1) - CH06(arg0, 27, 49) - - // ToInteger - - ToInteger(Local0, Local1) - CH06(arg0, 29, 49) - - // Acquire - - Store(Acquire(Local0, 100), Local1) - CH06(arg0, 30, 49) - - // Add - - Add(Local0, i000, Local1) - CH06(arg0, 33, 49) - - Add(i000, Local0, Local1) - CH06(arg0, 34, 49) - - // And - - And(Local0, i000, Local1) - CH06(arg0, 37, 49) - - And(i000, Local0, Local1) - CH06(arg0, 38, 49) - - // Concatenate - - Concatenate(Local0, i000, Local1) - CH06(arg0, 41, 49) - - Concatenate(i000, Local0, Local1) - CH06(arg0, 42, 49) - - // ConcatenateResTemplate - - ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1) - CH06(arg0, 45, 49) - - ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1) - CH06(arg0, 46, 49) - - // Divide - - Divide(Local0, i000, Local2) - CH06(arg0, 49, 49) - - Divide(i000, Local0, Local2) - CH06(arg0, 50, 49) - - Divide(Local0, i000, Local2, Local1) - CH06(arg0, 51, 49) - - Divide(i000, Local0, Local2, Local1) - CH06(arg0, 52, 49) - - // Fatal - - Fatal(0xff, 0xffffffff, Local0) - CH06(arg0, 53, 49) - - // Index - - Index(Local0, 0, Local1) - CH06(arg0, 56, 49) - - Index("0", Local0, Local1) - CH06(arg0, 57, 49) - - // LEqual - - Store (LEqual(Local0, i000), Local1) - CH06(arg0, 58, 49) - - Store (LEqual(i000, Local0), Local1) - CH06(arg0, 59, 49) - - // LGreater - - Store (LGreater(Local0, i000), Local1) - CH06(arg0, 60, 49) - - Store (LGreater(i000, Local0), Local1) - CH06(arg0, 61, 49) - - // LGreaterEqual - - Store (LGreaterEqual(Local0, i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, Local0), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(Local0, i000), Local1) - CH06(arg0, 64, 49) - - Store (LLess(i000, Local0), Local1) - CH06(arg0, 65, 49) - - // LLessEqual - - Store (LLessEqual(Local0, i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, Local0), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(Local0, i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, Local0), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(Local0, i000), Local1) - CH06(arg0, 70, 49) - - Store (LOr(i000, Local0), Local1) - CH06(arg0, 71, 49) - - // Mod - - Mod(Local0, i000, Local1) - CH06(arg0, 74, 49) - - Mod(i000, Local0, Local1) - CH06(arg0, 75, 49) - - // Multiply - - Multiply(Local0, i000, Local1) - CH06(arg0, 78, 49) - - Multiply(i000, Local0, Local1) - CH06(arg0, 79, 49) - - // NAnd - - NAnd(Local0, i000, Local1) - CH06(arg0, 82, 49) - - NAnd(i000, Local0, Local1) - CH06(arg0, 83, 49) - - // NOr - - NOr(Local0, i000, Local1) - CH06(arg0, 86, 49) - - NOr(i000, Local0, Local1) - CH06(arg0, 87, 49) - - // Or - - Or(Local0, i000, Local1) - CH06(arg0, 90, 49) - - Or(i000, Local0, Local1) - CH06(arg0, 91, 49) - - // ShiftLeft - - ShiftLeft(Local0, i000, Local1) - CH06(arg0, 94, 49) - - ShiftLeft(i000, Local0, Local1) - CH06(arg0, 95, 49) - - // ShiftRight - - ShiftRight(Local0, i000, Local1) - CH06(arg0, 98, 49) - - ShiftRight(i000, Local0, Local1) - CH06(arg0, 99, 49) - - // Subtract - - Subtract(Local0, i000, Local1) - CH06(arg0, 102, 49) - - Subtract(i000, Local0, Local1) - CH06(arg0, 103, 49) - - // ToString - - ToString(Local0, 1, Local1) - CH06(arg0, 106, 49) - - ToString(i000, Local0, Local1) - CH06(arg0, 107, 49) - - // Wait - - Store(Wait(Local0, i000), Local1) - CH06(arg0, 108, 49) - - Store(Wait(e000, Local0), Local1) - CH06(arg0, 109, 49) - - // XOr - - XOr(Local0, i000, Local1) - CH06(arg0, 112, 49) - - XOr(i000, Local0, Local1) - CH06(arg0, 113, 49) - - // Mid - - Mid(Local0, 1, 1, Local1) - CH06(arg0, 117, 49) - - Mid("123", Local0, 1, Local1) - CH06(arg0, 118, 49) - - Mid("123", 1, Local0, Local1) - CH06(arg0, 119, 49) - - // Match - - Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 49) - - Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1) - CH06(arg0, 121, 49) - - Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1) - CH06(arg0, 122, 49) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1) - CH06(arg0, 123, 49) - } - - // Uninitialized element of Package - Method(m001, 1, Serialized) - { - Name(p000, Package(1){}) - - // DeRefOf(Index(Package, Ind)) - - Store (DeRefOf(Index(p000, 0)), Local1) - CH04(ts, 1, 51, z092, 4, 0, 0) - - // CondRefOf - - CondRefOf(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 1, 0xff) - - // CopyObject - - CopyObject(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 2, 0xff) - - // Decrement - - Decrement(DeRefOf(Index(p000, 0))) - CH06(arg0, 3, 0xff) - - // DerefOf - - Store (DerefOf(DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 4, 0xff) - - // FindSetLeftBit - - FindSetLeftBit(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 6, 0xff) - - // FindSetRightBit - - FindSetRightBit(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 8, 0xff) - - // FromBCD - - FromBCD(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 10, 0xff) - - // Increment - - Increment(DeRefOf(Index(p000, 0))) - CH06(arg0, 11, 0xff) - - // LNot - - Store (LNot(DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 12, 0xff) - - // Not - - Not(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 14, 0xff) - - // ObjectType - - if (X104) { - Store (ObjectType(DeRefOf(Index(p000, 0))), Local1) - CH03(ts, z092, 5, 0, 0) - } - - // RefOf - - Store (RefOf(DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 15, 0xff) - - // Release - - // Reset - - // Signal - - // SizeOf - - Store (SizeOf(DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 16, 0xff) - - // Sleep - - Sleep(DeRefOf(Index(p000, 0))) - CH06(arg0, 17, 0xff) - - // Stall - - Stall(DeRefOf(Index(p000, 0))) - CH06(arg0, 18, 0xff) - - // Store - - Store(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 19, 0xff) - - // ToBCD - - ToBCD(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 21, 0xff) - - // ToBuffer - - ToBuffer(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 23, 0xff) - - // ToDecimalString - - ToDecimalString(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 25, 0xff) - - // ToHexString - - ToHexString(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 27, 0xff) - - // ToInteger - - ToInteger(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 29, 0xff) - - // Acquire - - // Add - - Add(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 33, 0xff) - - Add(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 34, 0xff) - - // And - - And(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 37, 0xff) - - And(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 38, 0xff) - - // Concatenate - - Concatenate(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 41, 0xff) - - Concatenate(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 42, 0xff) - - // ConcatenateResTemplate - - ConcatenateResTemplate(DeRefOf(Index(p000, 0)), ResourceTemplate(){}, Local1) - CH06(arg0, 45, 0xff) - - ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 46, 0xff) - - // Divide - - Divide(DeRefOf(Index(p000, 0)), i000, Local2) - CH06(arg0, 49, 0xff) - - Divide(i000, DeRefOf(Index(p000, 0)), Local2) - CH06(arg0, 50, 0xff) - - Divide(DeRefOf(Index(p000, 0)), i000, Local2, Local1) - CH06(arg0, 51, 0xff) - - Divide(i000, DeRefOf(Index(p000, 0)), Local2, Local1) - CH06(arg0, 52, 0xff) - - // Fatal - - Fatal(0xff, 0xffffffff, DeRefOf(Index(p000, 0))) - CH06(arg0, 53, 0xff) - - // Index - - Index(DeRefOf(Index(p000, 0)), 0, Local1) - CH06(arg0, 56, 0xff) - - Index("0", DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 57, 0xff) - - // LEqual - - Store (LEqual(DeRefOf(Index(p000, 0)), i000), Local1) - CH06(arg0, 58, 0xff) - - Store (LEqual(i000, DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 59, 0xff) - - // LGreater - - Store (LGreater(DeRefOf(Index(p000, 0)), i000), Local1) - CH06(arg0, 60, 0xff) - - Store (LGreater(i000, DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 61, 0xff) - - // LGreaterEqual - - Store (LGreaterEqual(DeRefOf(Index(p000, 0)), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(DeRefOf(Index(p000, 0)), i000), Local1) - CH06(arg0, 64, 0xff) - - Store (LLess(i000, DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 65, 0xff) - - // LLessEqual - - Store (LLessEqual(DeRefOf(Index(p000, 0)), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(DeRefOf(Index(p000, 0)), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(DeRefOf(Index(p000, 0)), i000), Local1) - CH06(arg0, 70, 0xff) - - Store (LOr(i000, DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 71, 0xff) - - // Mod - - Mod(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 74, 0xff) - - Mod(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 75, 0xff) - - // Multiply - - Multiply(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 78, 0xff) - - Multiply(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 79, 0xff) - - // NAnd - - NAnd(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 82, 0xff) - - NAnd(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 83, 0xff) - - // NOr - - NOr(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 86, 0xff) - - NOr(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 87, 0xff) - - // Or - - Or(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 90, 0xff) - - Or(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 91, 0xff) - - // ShiftLeft - - ShiftLeft(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 94, 0xff) - - ShiftLeft(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 95, 0xff) - - // ShiftRight - - ShiftRight(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 98, 0xff) - - ShiftRight(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 99, 0xff) - - // Subtract - - Subtract(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 102, 0xff) - - Subtract(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 103, 0xff) - - // ToString - - ToString(DeRefOf(Index(p000, 0)), 1, Local1) - CH06(arg0, 106, 0xff) - - ToString(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 107, 0xff) - - // Wait - - Store(Wait(e000, DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 109, 0xff) - - // XOr - - XOr(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 112, 0xff) - - XOr(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 113, 0xff) - - // Mid - - Mid(DeRefOf(Index(p000, 0)), 1, 1, Local1) - CH06(arg0, 117, 0xff) - - Mid("123", DeRefOf(Index(p000, 0)), 1, Local1) - CH06(arg0, 118, 0xff) - - Mid("123", 1, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 119, 0xff) - - // Match - - Store (Match(Package(){1}, MTR, DeRefOf(Index(p000, 0)), MTR, 0, 0), Local1) - CH06(arg0, 121, 0xff) - - Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(Index(p000, 0)), 0), Local1) - CH06(arg0, 122, 0xff) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 123, 0xff) - - // DeRefOf(Index(Package, Ind, Dest)) - // This should cause an exception - // on storing to Dest (see m001) - - Return (0) - } - -/* -// Causes Remark on compilation - // Uninitialized Arg - Method(m002, 2) - { - if (arg1) { - Store(0, arg2) - } - - // CondRefOf - - CondRefOf(arg2) - CH03(ts, z092, 6, 0, 0) - - CondRefOf(arg2, Local1) - CH03(ts, z092, 7, 0, 0) - - // CopyObject - - CopyObject(arg2, Local1) - CH06(arg0, 0, 50) - - // Decrement - - Decrement(arg2) - CH06(arg0, 1, 50) - - // DerefOf - - DerefOf(arg2) - CH06(arg0, 2, 50) - - // FindSetLeftBit - - FindSetLeftBit(arg2) - CH06(arg0, 3, 50) - - FindSetLeftBit(arg2, Local1) - CH06(arg0, 4, 50) - - // FindSetRightBit - - FindSetRightBit(arg2) - CH06(arg0, 5, 50) - - FindSetRightBit(arg2, Local1) - CH06(arg0, 6, 50) - - // FromBCD - - FromBCD(arg2) - CH06(arg0, 7, 50) - - FromBCD(arg2, Local1) - CH06(arg0, 8, 50) - - // Increment - - Increment(arg2) - CH06(arg0, 9, 50) - - // LNot - - LNot(arg2) - CH06(arg0, 10, 50) - - // Not - - Not(arg2) - CH06(arg0, 11, 50) - - Not(arg2, Local1) - CH06(arg0, 12, 50) - - // ObjectType - - ObjectType(arg2) - CH03(ts, z092, 8, 0, 0) - - // RefOf - - RefOf(arg2) - CH03(ts, z092, 9, 0, 0) - - // Release - - Release(arg2) - CH06(arg0, 13, 50) - - // Reset - - Reset(arg2) - CH06(arg0, 14, 50) - - // Signal - - Signal(arg2) - CH06(arg0, 15, 50) - - // SizeOf - - SizeOf(arg2) - CH06(arg0, 16, 50) - - // Sleep - - Sleep(arg2) - CH06(arg0, 17, 50) - - // Stall - - Stall(arg2) - CH06(arg0, 18, 50) - - // Store - - Store(arg2, Local1) - CH06(arg0, 19, 50) - - // ToBCD - - ToBCD(arg2) - CH06(arg0, 20, 50) - - ToBCD(arg2, Local1) - CH06(arg0, 21, 50) - - // ToBuffer - - ToBuffer(arg2) - CH06(arg0, 22, 50) - - ToBuffer(arg2, Local1) - CH06(arg0, 23, 50) - - // ToDecimalString - - ToDecimalString(arg2) - CH06(arg0, 24, 50) - - ToDecimalString(arg2, Local1) - CH06(arg0, 25, 50) - - // ToHexString - - ToHexString(arg2) - CH06(arg0, 26, 50) - - ToHexString(arg2, Local1) - CH06(arg0, 27, 50) - - // ToInteger - - ToInteger(arg2) - CH06(arg0, 28, 50) - - ToInteger(arg2, Local1) - CH06(arg0, 29, 50) - - // Acquire - - Store(Acquire(arg2, 100), Local1) - CH06(arg0, 30, 50) - - // Add - - Add(arg2, i000) - CH06(arg0, 31, 50) - - Add(i000, arg2) - CH06(arg0, 32, 50) - - Add(arg2, i000, Local1) - CH06(arg0, 33, 50) - - Add(i000, arg2, Local1) - CH06(arg0, 34, 50) - - // And - - And(arg2, i000) - CH06(arg0, 35, 50) - - And(i000, arg2) - CH06(arg0, 36, 50) - - And(arg2, i000, Local1) - CH06(arg0, 37, 50) - - And(i000, arg2, Local1) - CH06(arg0, 38, 50) - - // Concatenate - - Concatenate(arg2, i000) - CH06(arg0, 39, 50) - - Concatenate(i000, arg2) - CH06(arg0, 40, 50) - - Concatenate(arg2, i000, Local1) - CH06(arg0, 41, 50) - - Concatenate(i000, arg2, Local1) - CH06(arg0, 42, 50) - - // ConcatenateResTemplate - - ConcatenateResTemplate(arg2, ResourceTemplate(){}) - CH06(arg0, 43, 50) - - ConcatenateResTemplate(ResourceTemplate(){}, arg2) - CH06(arg0, 44, 50) - - ConcatenateResTemplate(arg2, ResourceTemplate(){}, Local1) - CH06(arg0, 45, 50) - - ConcatenateResTemplate(ResourceTemplate(){}, arg2, Local1) - CH06(arg0, 46, 50) - - // Divide - - Divide(arg2, i000) - CH06(arg0, 47, 50) - - Divide(i000, arg2) - CH06(arg0, 48, 50) - - Divide(arg2, i000, Local2) - CH06(arg0, 49, 50) - - Divide(i000, arg2, Local2) - CH06(arg0, 50, 50) - - Divide(arg2, i000, Local2, Local1) - CH06(arg0, 51, 50) - - Divide(i000, arg2, Local2, Local1) - CH06(arg0, 52, 50) - - // Fatal - - Fatal(0xff, 0xffffffff, arg2) - CH06(arg0, 53, 50) - - // Index - - Index(arg2, 0) - CH06(arg0, 54, 50) - - Index("0", arg2) - CH06(arg0, 55, 50) - - Index(arg2, 0, Local1) - CH06(arg0, 56, 50) - - Index("0", arg2, Local1) - CH06(arg0, 57, 50) - - // LEqual - - LEqual(arg2, i000) - CH06(arg0, 58, 50) - - LEqual(i000, arg2) - CH06(arg0, 59, 50) - - // LGreater - - LGreater(arg2, i000) - CH06(arg0, 60, 50) - - LGreater(i000, arg2) - CH06(arg0, 61, 50) - - // LGreaterEqual - - LGreaterEqual(arg2, i000) - CH06(arg0, 62, 0xff) - - LGreaterEqual(i000, arg2) - CH06(arg0, 63, 0xff) - - // LLess - - LLess(arg2, i000) - CH06(arg0, 64, 50) - - LLess(i000, arg2) - CH06(arg0, 65, 50) - - // LLessEqual - - LLessEqual(arg2, i000) - CH06(arg0, 66, 0xff) - - LLessEqual(i000, arg2) - CH06(arg0, 67, 0xff) - - // LNotEqual - - LNotEqual(arg2, i000) - CH06(arg0, 68, 0xff) - - LNotEqual(i000, arg2) - CH06(arg0, 69, 0xff) - - // LOr - - LOr(arg2, i000) - CH06(arg0, 70, 50) - - LOr(i000, arg2) - CH06(arg0, 71, 50) - - // Mod - - Mod(arg2, i000) - CH06(arg0, 72, 50) - - Mod(i000, arg2) - CH06(arg0, 73, 50) - - Mod(arg2, i000, Local1) - CH06(arg0, 74, 50) - - Mod(i000, arg2, Local1) - CH06(arg0, 75, 50) - - // Multiply - - Multiply(arg2, i000) - CH06(arg0, 76, 50) - - Multiply(i000, arg2) - CH06(arg0, 77, 50) - - Multiply(arg2, i000, Local1) - CH06(arg0, 78, 50) - - Multiply(i000, arg2, Local1) - CH06(arg0, 79, 50) - - // NAnd - - NAnd(arg2, i000) - CH06(arg0, 80, 50) - - NAnd(i000, arg2) - CH06(arg0, 81, 50) - - NAnd(arg2, i000, Local1) - CH06(arg0, 82, 50) - - NAnd(i000, arg2, Local1) - CH06(arg0, 83, 50) - - // NOr - - NOr(arg2, i000) - CH06(arg0, 84, 50) - - NOr(i000, arg2) - CH06(arg0, 85, 50) - - NOr(arg2, i000, Local1) - CH06(arg0, 86, 50) - - NOr(i000, arg2, Local1) - CH06(arg0, 87, 50) - - // Or - - Or(arg2, i000) - CH06(arg0, 88, 50) - - Or(i000, arg2) - CH06(arg0, 89, 50) - - Or(arg2, i000, Local1) - CH06(arg0, 90, 50) - - Or(i000, arg2, Local1) - CH06(arg0, 91, 50) - - // ShiftLeft - - ShiftLeft(arg2, i000) - CH06(arg0, 92, 50) - - ShiftLeft(i000, arg2) - CH06(arg0, 93, 50) - - ShiftLeft(arg2, i000, Local1) - CH06(arg0, 94, 50) - - ShiftLeft(i000, arg2, Local1) - CH06(arg0, 95, 50) - - // ShiftRight - - ShiftRight(arg2, i000) - CH06(arg0, 96, 50) - - ShiftRight(i000, arg2) - CH06(arg0, 97, 50) - - ShiftRight(arg2, i000, Local1) - CH06(arg0, 98, 50) - - ShiftRight(i000, arg2, Local1) - CH06(arg0, 99, 50) - - // Subtract - - Subtract(arg2, i000) - CH06(arg0, 100, 50) - - Subtract(i000, arg2) - CH06(arg0, 101, 50) - - Subtract(arg2, i000, Local1) - CH06(arg0, 102, 50) - - Subtract(i000, arg2, Local1) - CH06(arg0, 103, 50) - - // ToString - - ToString(arg2, 1) - CH06(arg0, 104, 50) - - ToString(i000, arg2) - CH06(arg0, 105, 50) - - ToString(arg2, 1, Local1) - CH06(arg0, 106, 50) - - ToString(i000, arg2, Local1) - CH06(arg0, 107, 50) - - // Wait - - Store(Wait(arg2, i000), Local1) - CH06(arg0, 108, 50) - - Store(Wait(e000, arg2), Local1) - CH06(arg0, 109, 50) - - // XOr - - XOr(arg2, i000) - CH06(arg0, 110, 50) - - XOr(i000, arg2) - CH06(arg0, 111, 50) - - XOr(arg2, i000, Local1) - CH06(arg0, 112, 50) - - XOr(i000, arg2, Local1) - CH06(arg0, 113, 50) - - // Mid - - Mid(arg2, 1, 1) - CH06(arg0, 114, 50) - - Mid("123", arg2, 1) - CH06(arg0, 115, 50) - - Mid("123", 1, arg2) - CH06(arg0, 116, 50) - - Mid(arg2, 1, 1, Local1) - CH06(arg0, 117, 50) - - Mid("123", arg2, 1, Local1) - CH06(arg0, 118, 50) - - Mid("123", 1, arg2, Local1) - CH06(arg0, 119, 50) - - // Match - - Match(arg2, MTR, 0, MTR, 0, 0) - CH06(arg0, 120, 50) - - Match(Package(){1}, MTR, arg2, MTR, 0, 0) - CH06(arg0, 121, 50) - - Match(Package(){1}, MTR, 0, MTR, arg2, 0) - CH06(arg0, 122, 50) - - Match(Package(){1}, MTR, 0, MTR, 0, arg2) - CH06(arg0, 123, 50) - } -*/ - - // Reference to Uninitialized Object - Method(m003, 2) - { - Store(ObjectType(arg1), Local0) - if (LNotEqual(Local0, 0)) { - err(arg0, z092, 8, 0, 0, Local0, 0) - return (1) - } - - Store (DeRefOf(arg1), Local1) - CH04(ts, 0, 62, z092, 10, 0, 0) - - // CondRefOf - - CondRefOf(DeRefOf(arg1), Local1) - CH06(arg0, 1, 0xff) - - // CopyObject - - CopyObject(DeRefOf(arg1), Local1) - CH06(arg0, 2, 0xff) - - // Decrement - - Decrement(DeRefOf(arg1)) - CH06(arg0, 3, 0xff) - - // DerefOf - - Store (DerefOf(DeRefOf(arg1)), Local1) - CH06(arg0, 4, 0xff) - - // FindSetLeftBit - - FindSetLeftBit(DeRefOf(arg1), Local1) - CH06(arg0, 6, 0xff) - - // FindSetRightBit - - FindSetRightBit(DeRefOf(arg1), Local1) - CH06(arg0, 8, 0xff) - - // FromBCD - - FromBCD(DeRefOf(arg1), Local1) - CH06(arg0, 10, 0xff) - - // Increment - - Increment(DeRefOf(arg1)) - CH06(arg0, 11, 0xff) - - // LNot - - Store (LNot(DeRefOf(arg1)), Local1) - CH06(arg0, 12, 0xff) - - // Not - - Store (Not(DeRefOf(arg1)), Local1) - CH06(arg0, 14, 0xff) - - // ObjectType - - if (X104) { - Store (ObjectType(DeRefOf(arg1)), Local1) - CH03(ts, z092, 11, 0, 0) - } - - // RefOf - - Store (RefOf(DeRefOf(arg1)), Local1) - CH06(arg0, 15, 0xff) - - // Release - - // Reset - - // Signal - - // SizeOf - - Store (SizeOf(DeRefOf(arg1)), Local1) - CH06(arg0, 16, 0xff) - - // Sleep - - Sleep(DeRefOf(arg1)) - CH06(arg0, 17, 0xff) - - // Stall - - Stall(DeRefOf(arg1)) - CH06(arg0, 18, 0xff) - - // Store - - Store(DeRefOf(arg1), Local1) - CH06(arg0, 19, 0xff) - - // ToBCD - - ToBCD(DeRefOf(arg1), Local1) - CH06(arg0, 21, 0xff) - - // ToBuffer - - ToBuffer(DeRefOf(arg1), Local1) - CH06(arg0, 23, 0xff) - - // ToDecimalString - - ToDecimalString(DeRefOf(arg1), Local1) - CH06(arg0, 25, 0xff) - - // ToHexString - - ToHexString(DeRefOf(arg1), Local1) - CH06(arg0, 27, 0xff) - - // ToInteger - - ToInteger(DeRefOf(arg1), Local1) - CH06(arg0, 29, 0xff) - - // Acquire - - // Add - - Add(DeRefOf(arg1), i000, Local1) - CH06(arg0, 33, 0xff) - - Add(i000, DeRefOf(arg1), Local1) - CH06(arg0, 34, 0xff) - - // And - - And(DeRefOf(arg1), i000, Local1) - CH06(arg0, 37, 0xff) - - And(i000, DeRefOf(arg1), Local1) - CH06(arg0, 38, 0xff) - - // Concatenate - - Concatenate(DeRefOf(arg1), i000, Local1) - CH06(arg0, 41, 0xff) - - Concatenate(i000, DeRefOf(arg1), Local1) - CH06(arg0, 42, 0xff) - - // ConcatenateResTemplate - - ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1) - CH06(arg0, 45, 0xff) - - ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1) - CH06(arg0, 46, 0xff) - - // Divide - - Divide(DeRefOf(arg1), i000, Local2) - CH06(arg0, 49, 0xff) - - Divide(i000, DeRefOf(arg1), Local2) - CH06(arg0, 50, 0xff) - - Divide(DeRefOf(arg1), i000, Local2, Local1) - CH06(arg0, 51, 0xff) - - Divide(i000, DeRefOf(arg1), Local2, Local1) - CH06(arg0, 52, 0xff) - - // Fatal - - Fatal(0xff, 0xffffffff, DeRefOf(arg1)) - CH06(arg0, 53, 0xff) - - // Index - - Index(DeRefOf(arg1), 0, Local1) - CH06(arg0, 56, 0xff) - - Index("0", DeRefOf(arg1), Local1) - CH06(arg0, 57, 0xff) - - // LEqual - - Store (LEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 58, 0xff) - - Store (LEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 59, 0xff) - - // LGreater - - Store (LGreater(DeRefOf(arg1), i000), Local1) - CH06(arg0, 60, 0xff) - - Store (LGreater(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 61, 0xff) - - // LGreaterEqual - - Store (LGreaterEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(DeRefOf(arg1), i000), Local1) - CH06(arg0, 64, 0xff) - - Store (LLess(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 65, 0xff) - - // LLessEqual - - Store (LLessEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(DeRefOf(arg1), i000), Local1) - CH06(arg0, 70, 0xff) - - Store (LOr(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 71, 0xff) - - // Mod - - Mod(DeRefOf(arg1), i000, Local1) - CH06(arg0, 74, 0xff) - - Mod(i000, DeRefOf(arg1), Local1) - CH06(arg0, 75, 0xff) - - // Multiply - - Multiply(DeRefOf(arg1), i000, Local1) - CH06(arg0, 78, 0xff) - - Multiply(i000, DeRefOf(arg1), Local1) - CH06(arg0, 79, 0xff) - - // NAnd - - NAnd(DeRefOf(arg1), i000, Local1) - CH06(arg0, 82, 0xff) - - NAnd(i000, DeRefOf(arg1), Local1) - CH06(arg0, 83, 0xff) - - // NOr - - NOr(DeRefOf(arg1), i000, Local1) - CH06(arg0, 86, 0xff) - - NOr(i000, DeRefOf(arg1), Local1) - CH06(arg0, 87, 0xff) - - // Or - - Or(DeRefOf(arg1), i000, Local1) - CH06(arg0, 90, 0xff) - - Or(i000, DeRefOf(arg1), Local1) - CH06(arg0, 91, 0xff) - - // ShiftLeft - - ShiftLeft(DeRefOf(arg1), i000, Local1) - CH06(arg0, 94, 0xff) - - ShiftLeft(i000, DeRefOf(arg1), Local1) - CH06(arg0, 95, 0xff) - - // ShiftRight - - ShiftRight(DeRefOf(arg1), i000, Local1) - CH06(arg0, 98, 0xff) - - ShiftRight(i000, DeRefOf(arg1), Local1) - CH06(arg0, 99, 0xff) - - // Subtract - - Subtract(DeRefOf(arg1), i000, Local1) - CH06(arg0, 102, 0xff) - - Subtract(i000, DeRefOf(arg1), Local1) - CH06(arg0, 103, 0xff) - - // ToString - - ToString(DeRefOf(arg1), 1, Local1) - CH06(arg0, 106, 0xff) - - ToString(i000, DeRefOf(arg1), Local1) - CH06(arg0, 107, 0xff) - - // Wait - - Store(Wait(e000, DeRefOf(arg1)), Local1) - CH06(arg0, 109, 0xff) - - // XOr - - XOr(DeRefOf(arg1), i000, Local1) - CH06(arg0, 112, 0xff) - - XOr(i000, DeRefOf(arg1), Local1) - CH06(arg0, 113, 0xff) - - // Mid - - Mid(DeRefOf(arg1), 1, 1, Local1) - CH06(arg0, 117, 0xff) - - Mid("123", DeRefOf(arg1), 1, Local1) - CH06(arg0, 118, 0xff) - - Mid("123", 1, DeRefOf(arg1), Local1) - CH06(arg0, 119, 0xff) - - // Match - - Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 0xff) - - Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1) - CH06(arg0, 121, 0xff) - - Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1) - CH06(arg0, 122, 0xff) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1) - CH06(arg0, 123, 0xff) - - return (0) - } - - // Uninitialized Local in Return - Method(m004, 1) - { - if (arg0) { - Store(0, Local0) - } - - Return (Local0) - - } - - // Uninitialized element of Package in Return - Method(m005,, Serialized) - { - Name(p000, Package(1){}) - - Return (DeRefOf(Index(p000, 0))) - - } - -/* -// Causes Remark on compilation - // Uninitialized Arg in Return - Method(m006, 1) - { - if (arg0) { - Store(0, arg1) - } - - Return (arg1) - - } -*/ - - // Uninitialized Local in If - Method(m007, 1) - { - if (arg0) { - Store(0, Local0) - } - - Store(0, Local1) - - if (Local0) { - Store(1, Local1) - } - - Return (Local1) - - } - - // Uninitialized element of Package in If - Method(m008,, Serialized) - { - Name(p000, Package(1){}) - - Store(0, Local1) - - if (DeRefOf(Index(p000, 0))) { - Store(1, Local1) - } - - Return (Local1) - - } - -/* -// Causes Remark on compilation - // Uninitialized Arg in If - Method(m009, 1) - { - if (arg0) { - Store(0, arg1) - } - - Store(0, Local1) - - if (arg1) { - Store(1, Local1) - } - - Return (Local1) - - } -*/ - - // Uninitialized Local in Elseif - Method(m00a, 1) - { - if (arg0) { - Store(0, Local0) - } - - Store(0, Local1) - - if (arg0) { - Store(1, Local1) - } elseif (Local0) { - Store(2, Local1) - } - - Return (Local1) - - } - - // Uninitialized element of Package in Elseif - Method(m00b, 1, Serialized) - { - Name(p000, Package(1){}) - - Store(0, Local1) - - if (arg0) { - Store(1, Local1) - } elseif (DeRefOf(Index(p000, 0))) { - Store(2, Local1) - } - - Return (Local1) - - } - -/* -// Causes Remark on compilation - // Uninitialized Arg in If - Method(m00c, 1) - { - if (arg0) { - Store(0, arg1) - } - - Store(0, Local1) - - if (arg0) { - Store(1, Local1) - } elseif (arg1) { - Store(2, Local1) - } - - Return (Local1) - - } -*/ - - Name(i001, 0) - - Method(m00d, 1) - { - Store(1, i001) - } - - - // Uninitialized element of Package as parameter of a method - Method(m00e, 1, Serialized) - { - Name(p000, Package(1){}) - - Store(0, i001) - m00d(Derefof(Index(p000, 0))) - CH06(arg0, 0, 51) - if (LNotEqual(i001, 0)) { - err(arg0, z092, 1, 0, 0, i001, 0) - } - - Store(0, i001) - Store(Index(p000, 0), Local1) - m00d(Derefof(Local1)) - CH06(arg0, 2, 51) - if (LNotEqual(i001, 0)) { - err(arg0, z092, 3, 0, 0, i001, 0) - } - - Store(0, i001) - m00d(Derefof(Index(p000, 0, Local2))) - CH06(arg0, 4, 51) - if (LNotEqual(i001, 0)) { - err(arg0, z092, 5, 0, 0, i001, 0) - } - - Store(0, i001) - Index(p000, 0, Local3) - m00d(Derefof(Local3)) - CH06(arg0, 6, 51) - if (LNotEqual(i001, 0)) { - err(arg0, z092, 7, 0, 0, i001, 0) - } - - Store(0, i001) - Store(Index(p000, 0, Local4), Local5) - m00d(Derefof(Local5)) - CH06(arg0, 8, 51) - if (LNotEqual(i001, 0)) { - err(arg0, z092, 9, 0, 0, i001, 0) - } - } - - CH03(ts, z092, 12, 0, 0) - - // Uninitialized Local - m000(Concatenate(ts, "-m000"), 0) - - // Uninitialized element of Package - m001(Concatenate(ts, "-m001")) - -/* -// Causes Remark on compilation - // Uninitialized Arg - m002(Concatenate(ts, "-m002"), 0) -*/ - - // Reference to Uninitialized Local - - if (arg0) { - Store(0, Local0) - } - - m003(Concatenate(ts, "-m003-RefLocal"), RefOf(Local0)) - - // Reference (Index) to Uninitialized element of Package - - if (y502) { - Name(p000, Package(1){}) - - if (y113) { - m003(Concatenate(ts, "-m003-Index"), Index(p000, 0)) - } - - Store(Index(p000, 0), Local1) - m003(Concatenate(ts, "-m003-Index2"), Local1) - - if (y113) { - m003(Concatenate(ts, "-m003-Index3"), Index(p000, 0, Local2)) - } - - Index(p000, 0, Local3) - m003(Concatenate(ts, "-m003-Index4"), Local3) - - Store(Index(p000, 0, Local4), Local5) - m003(Concatenate(ts, "-m003-Index5"), Local5) - } - - // Uninitialized Local in Return - m004(0) - CH06(ts, 0, 49) - - // Uninitialized element of Package in Return - if (y502) { - m005() - CH06(ts, 1, 51) - } - -/* -// Causes Remark on compilation - // Uninitialized Arg in Return - m006(0) - CH06(ts, 2, 50) -*/ - - // Uninitialized Local in If - m007(0) - CH06(ts, 3, 49) - - // Uninitialized element of Package in If - if (y502) { - m008() - CH06(ts, 4, 51) - } - -/* -// Causes Remark on compilation - // Uninitialized Arg in If - m009(0) - CH06(ts, 5, 50) -*/ - - // Uninitialized Local in Elseif - m00a(0) - CH06(ts, 6, 49) - - // Uninitialized element of Package in Elseif - if (y502) { - m00b(0) - CH06(ts, 7, 51) - } - -/* -// Causes Remark on compilation - // Uninitialized Arg in Elseif - m00c(0) - CH06(ts, 8, 50) -*/ - - // Uninitialized Local as parameter of a method - Store(0, i001) - m00d(Local0) - CH06(ts, 9, 49) - if (LNotEqual(i001, 0)) { - err(ts, z092, 10, 0, 0, i001, 0) - } - - // Uninitialized element of Package as parameter of a method - if (y502) { - m00e(Concatenate(ts, "-m00e")) - } - -/* -// Causes Remark on compilation - // Uninitialized Arg as parameter of a method - Store(0, i001) - m00d(Arg1) - CH06(ts, 11, 50) - if (LNotEqual(i001, 0)) { - err(ts, z092, 12, i001, 0) - } -*/ -} +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Uninitialized Data
+ *
+ * (verify exceptions caused by use of Uninitialized Data)
+ */
+
+Name(z092, 92)
+
+// Expected exceptions:
+//
+// 49 - AE_AML_UNINITIALIZED_LOCAL
+// 50 - AE_AML_UNINITIALIZED_ARG
+// 51 - AE_AML_UNINITIALIZED_ELEMENT
+Method(m4b0, 1, Serialized)
+{
+ Name(ts, "m4b0")
+
+ Name(i000, 0)
+ Event(e000)
+
+ // Uninitialized Local
+ Method(m000, 2)
+ {
+ if (arg1) {
+ Store(0, Local0)
+ }
+
+ // CondRefOf
+
+ CondRefOf(Local0, Local1)
+ CH03(ts, z092, 1, 0, 0)
+
+ // CopyObject
+
+ CopyObject(Local0, Local1)
+ CH06(arg0, 0, 49)
+
+ // Decrement
+
+ Decrement(Local0)
+ CH06(arg0, 1, 49)
+
+ // DerefOf
+
+ Store (DerefOf(Local0), Local1)
+ CH06(arg0, 2, 49)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(Local0, Local1)
+ CH06(arg0, 4, 49)
+
+ // FindSetRightBit
+
+ FindSetRightBit(Local0, Local1)
+ CH06(arg0, 6, 49)
+
+ // FromBCD
+
+ FromBCD(Local0, Local1)
+ CH06(arg0, 8, 49)
+
+ // Increment
+
+ Increment(Local0)
+ CH06(arg0, 9, 49)
+
+ // LNot
+
+ Store (LNot(Local0), Local1)
+ CH06(arg0, 10, 49)
+
+ // Not
+
+ Not(Local0, Local1)
+ CH06(arg0, 12, 49)
+
+ // ObjectType
+
+ Store (ObjectType(Local0), Local1)
+ CH03(ts, z092, 2, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(Local0), Local1)
+ CH03(ts, z092, 3, 0, 0)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 13, 49)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 14, 49)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 15, 49)
+
+ // SizeOf
+
+ Store (SizeOf(Local0), Local1)
+ CH06(arg0, 16, 49)
+
+ // Sleep
+
+ Sleep(Local0)
+ CH06(arg0, 17, 49)
+
+ // Stall
+
+ Stall(Local0)
+ CH06(arg0, 18, 49)
+
+ // Store
+
+ Store(Local0, Local1)
+ CH06(arg0, 19, 49)
+
+ // ToBCD
+
+ ToBCD(Local0, Local1)
+ CH06(arg0, 21, 49)
+
+ // ToBuffer
+
+ ToBuffer(Local0, Local1)
+ CH06(arg0, 23, 49)
+
+ // ToDecimalString
+
+ ToDecimalString(Local0, Local1)
+ CH06(arg0, 25, 49)
+
+ // ToHexString
+
+ ToHexString(Local0, Local1)
+ CH06(arg0, 27, 49)
+
+ // ToInteger
+
+ ToInteger(Local0, Local1)
+ CH06(arg0, 29, 49)
+
+ // Acquire
+
+ Store(Acquire(Local0, 100), Local1)
+ CH06(arg0, 30, 49)
+
+ // Add
+
+ Add(Local0, i000, Local1)
+ CH06(arg0, 33, 49)
+
+ Add(i000, Local0, Local1)
+ CH06(arg0, 34, 49)
+
+ // And
+
+ And(Local0, i000, Local1)
+ CH06(arg0, 37, 49)
+
+ And(i000, Local0, Local1)
+ CH06(arg0, 38, 49)
+
+ // Concatenate
+
+ Concatenate(Local0, i000, Local1)
+ CH06(arg0, 41, 49)
+
+ Concatenate(i000, Local0, Local1)
+ CH06(arg0, 42, 49)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 49)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 46, 49)
+
+ // Divide
+
+ Divide(Local0, i000, Local2)
+ CH06(arg0, 49, 49)
+
+ Divide(i000, Local0, Local2)
+ CH06(arg0, 50, 49)
+
+ Divide(Local0, i000, Local2, Local1)
+ CH06(arg0, 51, 49)
+
+ Divide(i000, Local0, Local2, Local1)
+ CH06(arg0, 52, 49)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, Local0)
+ CH06(arg0, 53, 49)
+
+ // Index
+
+ Index(Local0, 0, Local1)
+ CH06(arg0, 56, 49)
+
+ Index("0", Local0, Local1)
+ CH06(arg0, 57, 49)
+
+ // LEqual
+
+ Store (LEqual(Local0, i000), Local1)
+ CH06(arg0, 58, 49)
+
+ Store (LEqual(i000, Local0), Local1)
+ CH06(arg0, 59, 49)
+
+ // LGreater
+
+ Store (LGreater(Local0, i000), Local1)
+ CH06(arg0, 60, 49)
+
+ Store (LGreater(i000, Local0), Local1)
+ CH06(arg0, 61, 49)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(Local0, i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, Local0), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(Local0, i000), Local1)
+ CH06(arg0, 64, 49)
+
+ Store (LLess(i000, Local0), Local1)
+ CH06(arg0, 65, 49)
+
+ // LLessEqual
+
+ Store (LLessEqual(Local0, i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, Local0), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(Local0, i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, Local0), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(Local0, i000), Local1)
+ CH06(arg0, 70, 49)
+
+ Store (LOr(i000, Local0), Local1)
+ CH06(arg0, 71, 49)
+
+ // Mod
+
+ Mod(Local0, i000, Local1)
+ CH06(arg0, 74, 49)
+
+ Mod(i000, Local0, Local1)
+ CH06(arg0, 75, 49)
+
+ // Multiply
+
+ Multiply(Local0, i000, Local1)
+ CH06(arg0, 78, 49)
+
+ Multiply(i000, Local0, Local1)
+ CH06(arg0, 79, 49)
+
+ // NAnd
+
+ NAnd(Local0, i000, Local1)
+ CH06(arg0, 82, 49)
+
+ NAnd(i000, Local0, Local1)
+ CH06(arg0, 83, 49)
+
+ // NOr
+
+ NOr(Local0, i000, Local1)
+ CH06(arg0, 86, 49)
+
+ NOr(i000, Local0, Local1)
+ CH06(arg0, 87, 49)
+
+ // Or
+
+ Or(Local0, i000, Local1)
+ CH06(arg0, 90, 49)
+
+ Or(i000, Local0, Local1)
+ CH06(arg0, 91, 49)
+
+ // ShiftLeft
+
+ ShiftLeft(Local0, i000, Local1)
+ CH06(arg0, 94, 49)
+
+ ShiftLeft(i000, Local0, Local1)
+ CH06(arg0, 95, 49)
+
+ // ShiftRight
+
+ ShiftRight(Local0, i000, Local1)
+ CH06(arg0, 98, 49)
+
+ ShiftRight(i000, Local0, Local1)
+ CH06(arg0, 99, 49)
+
+ // Subtract
+
+ Subtract(Local0, i000, Local1)
+ CH06(arg0, 102, 49)
+
+ Subtract(i000, Local0, Local1)
+ CH06(arg0, 103, 49)
+
+ // ToString
+
+ ToString(Local0, 1, Local1)
+ CH06(arg0, 106, 49)
+
+ ToString(i000, Local0, Local1)
+ CH06(arg0, 107, 49)
+
+ // Wait
+
+ Store(Wait(Local0, i000), Local1)
+ CH06(arg0, 108, 49)
+
+ Store(Wait(e000, Local0), Local1)
+ CH06(arg0, 109, 49)
+
+ // XOr
+
+ XOr(Local0, i000, Local1)
+ CH06(arg0, 112, 49)
+
+ XOr(i000, Local0, Local1)
+ CH06(arg0, 113, 49)
+
+ // Mid
+
+ Mid(Local0, 1, 1, Local1)
+ CH06(arg0, 117, 49)
+
+ Mid("123", Local0, 1, Local1)
+ CH06(arg0, 118, 49)
+
+ Mid("123", 1, Local0, Local1)
+ CH06(arg0, 119, 49)
+
+ // Match
+
+ Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 49)
+
+ Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1)
+ CH06(arg0, 121, 49)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1)
+ CH06(arg0, 122, 49)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1)
+ CH06(arg0, 123, 49)
+ }
+
+ // Uninitialized element of Package
+ Method(m001, 1, Serialized)
+ {
+ Name(p000, Package(1){})
+
+ // DeRefOf(Index(Package, Ind))
+
+ Store (DeRefOf(Index(p000, 0)), Local1)
+ CH04(ts, 1, 51, z092, 4, 0, 0)
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 1, 0xff)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 2, 0xff)
+
+ // Decrement
+
+ Decrement(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 3, 0xff)
+
+ // DerefOf
+
+ Store (DerefOf(DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 4, 0xff)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 6, 0xff)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 8, 0xff)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 10, 0xff)
+
+ // Increment
+
+ Increment(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 11, 0xff)
+
+ // LNot
+
+ Store (LNot(DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 12, 0xff)
+
+ // Not
+
+ Not(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 14, 0xff)
+
+ // ObjectType
+
+ if (X104) {
+ Store (ObjectType(DeRefOf(Index(p000, 0))), Local1)
+ CH03(ts, z092, 5, 0, 0)
+ }
+
+ // RefOf
+
+ Store (RefOf(DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 15, 0xff)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ Store (SizeOf(DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 16, 0xff)
+
+ // Sleep
+
+ Sleep(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 17, 0xff)
+
+ // Stall
+
+ Stall(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 18, 0xff)
+
+ // Store
+
+ Store(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 19, 0xff)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 21, 0xff)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 23, 0xff)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 25, 0xff)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 27, 0xff)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 29, 0xff)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 33, 0xff)
+
+ Add(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 34, 0xff)
+
+ // And
+
+ And(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 37, 0xff)
+
+ And(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 38, 0xff)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 41, 0xff)
+
+ Concatenate(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 42, 0xff)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(Index(p000, 0)), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 0xff)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 46, 0xff)
+
+ // Divide
+
+ Divide(DeRefOf(Index(p000, 0)), i000, Local2)
+ CH06(arg0, 49, 0xff)
+
+ Divide(i000, DeRefOf(Index(p000, 0)), Local2)
+ CH06(arg0, 50, 0xff)
+
+ Divide(DeRefOf(Index(p000, 0)), i000, Local2, Local1)
+ CH06(arg0, 51, 0xff)
+
+ Divide(i000, DeRefOf(Index(p000, 0)), Local2, Local1)
+ CH06(arg0, 52, 0xff)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 53, 0xff)
+
+ // Index
+
+ Index(DeRefOf(Index(p000, 0)), 0, Local1)
+ CH06(arg0, 56, 0xff)
+
+ Index("0", DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 57, 0xff)
+
+ // LEqual
+
+ Store (LEqual(DeRefOf(Index(p000, 0)), i000), Local1)
+ CH06(arg0, 58, 0xff)
+
+ Store (LEqual(i000, DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 59, 0xff)
+
+ // LGreater
+
+ Store (LGreater(DeRefOf(Index(p000, 0)), i000), Local1)
+ CH06(arg0, 60, 0xff)
+
+ Store (LGreater(i000, DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 61, 0xff)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(DeRefOf(Index(p000, 0)), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(DeRefOf(Index(p000, 0)), i000), Local1)
+ CH06(arg0, 64, 0xff)
+
+ Store (LLess(i000, DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 65, 0xff)
+
+ // LLessEqual
+
+ Store (LLessEqual(DeRefOf(Index(p000, 0)), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(DeRefOf(Index(p000, 0)), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(DeRefOf(Index(p000, 0)), i000), Local1)
+ CH06(arg0, 70, 0xff)
+
+ Store (LOr(i000, DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 71, 0xff)
+
+ // Mod
+
+ Mod(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 74, 0xff)
+
+ Mod(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 75, 0xff)
+
+ // Multiply
+
+ Multiply(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 78, 0xff)
+
+ Multiply(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 79, 0xff)
+
+ // NAnd
+
+ NAnd(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 82, 0xff)
+
+ NAnd(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 83, 0xff)
+
+ // NOr
+
+ NOr(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 86, 0xff)
+
+ NOr(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 87, 0xff)
+
+ // Or
+
+ Or(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 90, 0xff)
+
+ Or(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 91, 0xff)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 94, 0xff)
+
+ ShiftLeft(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 95, 0xff)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 98, 0xff)
+
+ ShiftRight(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 99, 0xff)
+
+ // Subtract
+
+ Subtract(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 102, 0xff)
+
+ Subtract(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 103, 0xff)
+
+ // ToString
+
+ ToString(DeRefOf(Index(p000, 0)), 1, Local1)
+ CH06(arg0, 106, 0xff)
+
+ ToString(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 107, 0xff)
+
+ // Wait
+
+ Store(Wait(e000, DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 109, 0xff)
+
+ // XOr
+
+ XOr(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 112, 0xff)
+
+ XOr(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 113, 0xff)
+
+ // Mid
+
+ Mid(DeRefOf(Index(p000, 0)), 1, 1, Local1)
+ CH06(arg0, 117, 0xff)
+
+ Mid("123", DeRefOf(Index(p000, 0)), 1, Local1)
+ CH06(arg0, 118, 0xff)
+
+ Mid("123", 1, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 119, 0xff)
+
+ // Match
+
+ Store (Match(Package(){1}, MTR, DeRefOf(Index(p000, 0)), MTR, 0, 0), Local1)
+ CH06(arg0, 121, 0xff)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(Index(p000, 0)), 0), Local1)
+ CH06(arg0, 122, 0xff)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 123, 0xff)
+
+ // DeRefOf(Index(Package, Ind, Dest))
+ // This should cause an exception
+ // on storing to Dest (see m001)
+
+ Return (0)
+ }
+
+/*
+// Causes Remark on compilation
+ // Uninitialized Arg
+ Method(m002, 2)
+ {
+ if (arg1) {
+ Store(0, arg2)
+ }
+
+ // CondRefOf
+
+ CondRefOf(arg2)
+ CH03(ts, z092, 6, 0, 0)
+
+ CondRefOf(arg2, Local1)
+ CH03(ts, z092, 7, 0, 0)
+
+ // CopyObject
+
+ CopyObject(arg2, Local1)
+ CH06(arg0, 0, 50)
+
+ // Decrement
+
+ Decrement(arg2)
+ CH06(arg0, 1, 50)
+
+ // DerefOf
+
+ DerefOf(arg2)
+ CH06(arg0, 2, 50)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(arg2)
+ CH06(arg0, 3, 50)
+
+ FindSetLeftBit(arg2, Local1)
+ CH06(arg0, 4, 50)
+
+ // FindSetRightBit
+
+ FindSetRightBit(arg2)
+ CH06(arg0, 5, 50)
+
+ FindSetRightBit(arg2, Local1)
+ CH06(arg0, 6, 50)
+
+ // FromBCD
+
+ FromBCD(arg2)
+ CH06(arg0, 7, 50)
+
+ FromBCD(arg2, Local1)
+ CH06(arg0, 8, 50)
+
+ // Increment
+
+ Increment(arg2)
+ CH06(arg0, 9, 50)
+
+ // LNot
+
+ LNot(arg2)
+ CH06(arg0, 10, 50)
+
+ // Not
+
+ Not(arg2)
+ CH06(arg0, 11, 50)
+
+ Not(arg2, Local1)
+ CH06(arg0, 12, 50)
+
+ // ObjectType
+
+ ObjectType(arg2)
+ CH03(ts, z092, 8, 0, 0)
+
+ // RefOf
+
+ RefOf(arg2)
+ CH03(ts, z092, 9, 0, 0)
+
+ // Release
+
+ Release(arg2)
+ CH06(arg0, 13, 50)
+
+ // Reset
+
+ Reset(arg2)
+ CH06(arg0, 14, 50)
+
+ // Signal
+
+ Signal(arg2)
+ CH06(arg0, 15, 50)
+
+ // SizeOf
+
+ SizeOf(arg2)
+ CH06(arg0, 16, 50)
+
+ // Sleep
+
+ Sleep(arg2)
+ CH06(arg0, 17, 50)
+
+ // Stall
+
+ Stall(arg2)
+ CH06(arg0, 18, 50)
+
+ // Store
+
+ Store(arg2, Local1)
+ CH06(arg0, 19, 50)
+
+ // ToBCD
+
+ ToBCD(arg2)
+ CH06(arg0, 20, 50)
+
+ ToBCD(arg2, Local1)
+ CH06(arg0, 21, 50)
+
+ // ToBuffer
+
+ ToBuffer(arg2)
+ CH06(arg0, 22, 50)
+
+ ToBuffer(arg2, Local1)
+ CH06(arg0, 23, 50)
+
+ // ToDecimalString
+
+ ToDecimalString(arg2)
+ CH06(arg0, 24, 50)
+
+ ToDecimalString(arg2, Local1)
+ CH06(arg0, 25, 50)
+
+ // ToHexString
+
+ ToHexString(arg2)
+ CH06(arg0, 26, 50)
+
+ ToHexString(arg2, Local1)
+ CH06(arg0, 27, 50)
+
+ // ToInteger
+
+ ToInteger(arg2)
+ CH06(arg0, 28, 50)
+
+ ToInteger(arg2, Local1)
+ CH06(arg0, 29, 50)
+
+ // Acquire
+
+ Store(Acquire(arg2, 100), Local1)
+ CH06(arg0, 30, 50)
+
+ // Add
+
+ Add(arg2, i000)
+ CH06(arg0, 31, 50)
+
+ Add(i000, arg2)
+ CH06(arg0, 32, 50)
+
+ Add(arg2, i000, Local1)
+ CH06(arg0, 33, 50)
+
+ Add(i000, arg2, Local1)
+ CH06(arg0, 34, 50)
+
+ // And
+
+ And(arg2, i000)
+ CH06(arg0, 35, 50)
+
+ And(i000, arg2)
+ CH06(arg0, 36, 50)
+
+ And(arg2, i000, Local1)
+ CH06(arg0, 37, 50)
+
+ And(i000, arg2, Local1)
+ CH06(arg0, 38, 50)
+
+ // Concatenate
+
+ Concatenate(arg2, i000)
+ CH06(arg0, 39, 50)
+
+ Concatenate(i000, arg2)
+ CH06(arg0, 40, 50)
+
+ Concatenate(arg2, i000, Local1)
+ CH06(arg0, 41, 50)
+
+ Concatenate(i000, arg2, Local1)
+ CH06(arg0, 42, 50)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(arg2, ResourceTemplate(){})
+ CH06(arg0, 43, 50)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, arg2)
+ CH06(arg0, 44, 50)
+
+ ConcatenateResTemplate(arg2, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 50)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, arg2, Local1)
+ CH06(arg0, 46, 50)
+
+ // Divide
+
+ Divide(arg2, i000)
+ CH06(arg0, 47, 50)
+
+ Divide(i000, arg2)
+ CH06(arg0, 48, 50)
+
+ Divide(arg2, i000, Local2)
+ CH06(arg0, 49, 50)
+
+ Divide(i000, arg2, Local2)
+ CH06(arg0, 50, 50)
+
+ Divide(arg2, i000, Local2, Local1)
+ CH06(arg0, 51, 50)
+
+ Divide(i000, arg2, Local2, Local1)
+ CH06(arg0, 52, 50)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, arg2)
+ CH06(arg0, 53, 50)
+
+ // Index
+
+ Index(arg2, 0)
+ CH06(arg0, 54, 50)
+
+ Index("0", arg2)
+ CH06(arg0, 55, 50)
+
+ Index(arg2, 0, Local1)
+ CH06(arg0, 56, 50)
+
+ Index("0", arg2, Local1)
+ CH06(arg0, 57, 50)
+
+ // LEqual
+
+ LEqual(arg2, i000)
+ CH06(arg0, 58, 50)
+
+ LEqual(i000, arg2)
+ CH06(arg0, 59, 50)
+
+ // LGreater
+
+ LGreater(arg2, i000)
+ CH06(arg0, 60, 50)
+
+ LGreater(i000, arg2)
+ CH06(arg0, 61, 50)
+
+ // LGreaterEqual
+
+ LGreaterEqual(arg2, i000)
+ CH06(arg0, 62, 0xff)
+
+ LGreaterEqual(i000, arg2)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ LLess(arg2, i000)
+ CH06(arg0, 64, 50)
+
+ LLess(i000, arg2)
+ CH06(arg0, 65, 50)
+
+ // LLessEqual
+
+ LLessEqual(arg2, i000)
+ CH06(arg0, 66, 0xff)
+
+ LLessEqual(i000, arg2)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ LNotEqual(arg2, i000)
+ CH06(arg0, 68, 0xff)
+
+ LNotEqual(i000, arg2)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ LOr(arg2, i000)
+ CH06(arg0, 70, 50)
+
+ LOr(i000, arg2)
+ CH06(arg0, 71, 50)
+
+ // Mod
+
+ Mod(arg2, i000)
+ CH06(arg0, 72, 50)
+
+ Mod(i000, arg2)
+ CH06(arg0, 73, 50)
+
+ Mod(arg2, i000, Local1)
+ CH06(arg0, 74, 50)
+
+ Mod(i000, arg2, Local1)
+ CH06(arg0, 75, 50)
+
+ // Multiply
+
+ Multiply(arg2, i000)
+ CH06(arg0, 76, 50)
+
+ Multiply(i000, arg2)
+ CH06(arg0, 77, 50)
+
+ Multiply(arg2, i000, Local1)
+ CH06(arg0, 78, 50)
+
+ Multiply(i000, arg2, Local1)
+ CH06(arg0, 79, 50)
+
+ // NAnd
+
+ NAnd(arg2, i000)
+ CH06(arg0, 80, 50)
+
+ NAnd(i000, arg2)
+ CH06(arg0, 81, 50)
+
+ NAnd(arg2, i000, Local1)
+ CH06(arg0, 82, 50)
+
+ NAnd(i000, arg2, Local1)
+ CH06(arg0, 83, 50)
+
+ // NOr
+
+ NOr(arg2, i000)
+ CH06(arg0, 84, 50)
+
+ NOr(i000, arg2)
+ CH06(arg0, 85, 50)
+
+ NOr(arg2, i000, Local1)
+ CH06(arg0, 86, 50)
+
+ NOr(i000, arg2, Local1)
+ CH06(arg0, 87, 50)
+
+ // Or
+
+ Or(arg2, i000)
+ CH06(arg0, 88, 50)
+
+ Or(i000, arg2)
+ CH06(arg0, 89, 50)
+
+ Or(arg2, i000, Local1)
+ CH06(arg0, 90, 50)
+
+ Or(i000, arg2, Local1)
+ CH06(arg0, 91, 50)
+
+ // ShiftLeft
+
+ ShiftLeft(arg2, i000)
+ CH06(arg0, 92, 50)
+
+ ShiftLeft(i000, arg2)
+ CH06(arg0, 93, 50)
+
+ ShiftLeft(arg2, i000, Local1)
+ CH06(arg0, 94, 50)
+
+ ShiftLeft(i000, arg2, Local1)
+ CH06(arg0, 95, 50)
+
+ // ShiftRight
+
+ ShiftRight(arg2, i000)
+ CH06(arg0, 96, 50)
+
+ ShiftRight(i000, arg2)
+ CH06(arg0, 97, 50)
+
+ ShiftRight(arg2, i000, Local1)
+ CH06(arg0, 98, 50)
+
+ ShiftRight(i000, arg2, Local1)
+ CH06(arg0, 99, 50)
+
+ // Subtract
+
+ Subtract(arg2, i000)
+ CH06(arg0, 100, 50)
+
+ Subtract(i000, arg2)
+ CH06(arg0, 101, 50)
+
+ Subtract(arg2, i000, Local1)
+ CH06(arg0, 102, 50)
+
+ Subtract(i000, arg2, Local1)
+ CH06(arg0, 103, 50)
+
+ // ToString
+
+ ToString(arg2, 1)
+ CH06(arg0, 104, 50)
+
+ ToString(i000, arg2)
+ CH06(arg0, 105, 50)
+
+ ToString(arg2, 1, Local1)
+ CH06(arg0, 106, 50)
+
+ ToString(i000, arg2, Local1)
+ CH06(arg0, 107, 50)
+
+ // Wait
+
+ Store(Wait(arg2, i000), Local1)
+ CH06(arg0, 108, 50)
+
+ Store(Wait(e000, arg2), Local1)
+ CH06(arg0, 109, 50)
+
+ // XOr
+
+ XOr(arg2, i000)
+ CH06(arg0, 110, 50)
+
+ XOr(i000, arg2)
+ CH06(arg0, 111, 50)
+
+ XOr(arg2, i000, Local1)
+ CH06(arg0, 112, 50)
+
+ XOr(i000, arg2, Local1)
+ CH06(arg0, 113, 50)
+
+ // Mid
+
+ Mid(arg2, 1, 1)
+ CH06(arg0, 114, 50)
+
+ Mid("123", arg2, 1)
+ CH06(arg0, 115, 50)
+
+ Mid("123", 1, arg2)
+ CH06(arg0, 116, 50)
+
+ Mid(arg2, 1, 1, Local1)
+ CH06(arg0, 117, 50)
+
+ Mid("123", arg2, 1, Local1)
+ CH06(arg0, 118, 50)
+
+ Mid("123", 1, arg2, Local1)
+ CH06(arg0, 119, 50)
+
+ // Match
+
+ Match(arg2, MTR, 0, MTR, 0, 0)
+ CH06(arg0, 120, 50)
+
+ Match(Package(){1}, MTR, arg2, MTR, 0, 0)
+ CH06(arg0, 121, 50)
+
+ Match(Package(){1}, MTR, 0, MTR, arg2, 0)
+ CH06(arg0, 122, 50)
+
+ Match(Package(){1}, MTR, 0, MTR, 0, arg2)
+ CH06(arg0, 123, 50)
+ }
+*/
+
+ // Reference to Uninitialized Object
+ Method(m003, 2)
+ {
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 0)) {
+ err(arg0, z092, 8, 0, 0, Local0, 0)
+ return (1)
+ }
+
+ Store (DeRefOf(arg1), Local1)
+ CH04(ts, 0, 62, z092, 10, 0, 0)
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(arg1), Local1)
+ CH06(arg0, 1, 0xff)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(arg1), Local1)
+ CH06(arg0, 2, 0xff)
+
+ // Decrement
+
+ Decrement(DeRefOf(arg1))
+ CH06(arg0, 3, 0xff)
+
+ // DerefOf
+
+ Store (DerefOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 4, 0xff)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 6, 0xff)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 8, 0xff)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 10, 0xff)
+
+ // Increment
+
+ Increment(DeRefOf(arg1))
+ CH06(arg0, 11, 0xff)
+
+ // LNot
+
+ Store (LNot(DeRefOf(arg1)), Local1)
+ CH06(arg0, 12, 0xff)
+
+ // Not
+
+ Store (Not(DeRefOf(arg1)), Local1)
+ CH06(arg0, 14, 0xff)
+
+ // ObjectType
+
+ if (X104) {
+ Store (ObjectType(DeRefOf(arg1)), Local1)
+ CH03(ts, z092, 11, 0, 0)
+ }
+
+ // RefOf
+
+ Store (RefOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 15, 0xff)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ Store (SizeOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 16, 0xff)
+
+ // Sleep
+
+ Sleep(DeRefOf(arg1))
+ CH06(arg0, 17, 0xff)
+
+ // Stall
+
+ Stall(DeRefOf(arg1))
+ CH06(arg0, 18, 0xff)
+
+ // Store
+
+ Store(DeRefOf(arg1), Local1)
+ CH06(arg0, 19, 0xff)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 21, 0xff)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(arg1), Local1)
+ CH06(arg0, 23, 0xff)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(arg1), Local1)
+ CH06(arg0, 25, 0xff)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(arg1), Local1)
+ CH06(arg0, 27, 0xff)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(arg1), Local1)
+ CH06(arg0, 29, 0xff)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 33, 0xff)
+
+ Add(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 34, 0xff)
+
+ // And
+
+ And(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 37, 0xff)
+
+ And(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 38, 0xff)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 41, 0xff)
+
+ Concatenate(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 42, 0xff)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 0xff)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
+ CH06(arg0, 46, 0xff)
+
+ // Divide
+
+ Divide(DeRefOf(arg1), i000, Local2)
+ CH06(arg0, 49, 0xff)
+
+ Divide(i000, DeRefOf(arg1), Local2)
+ CH06(arg0, 50, 0xff)
+
+ Divide(DeRefOf(arg1), i000, Local2, Local1)
+ CH06(arg0, 51, 0xff)
+
+ Divide(i000, DeRefOf(arg1), Local2, Local1)
+ CH06(arg0, 52, 0xff)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(arg1))
+ CH06(arg0, 53, 0xff)
+
+ // Index
+
+ Index(DeRefOf(arg1), 0, Local1)
+ CH06(arg0, 56, 0xff)
+
+ Index("0", DeRefOf(arg1), Local1)
+ CH06(arg0, 57, 0xff)
+
+ // LEqual
+
+ Store (LEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 58, 0xff)
+
+ Store (LEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 59, 0xff)
+
+ // LGreater
+
+ Store (LGreater(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 60, 0xff)
+
+ Store (LGreater(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 61, 0xff)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 64, 0xff)
+
+ Store (LLess(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 65, 0xff)
+
+ // LLessEqual
+
+ Store (LLessEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 70, 0xff)
+
+ Store (LOr(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 71, 0xff)
+
+ // Mod
+
+ Mod(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 74, 0xff)
+
+ Mod(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 75, 0xff)
+
+ // Multiply
+
+ Multiply(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 78, 0xff)
+
+ Multiply(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 79, 0xff)
+
+ // NAnd
+
+ NAnd(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 82, 0xff)
+
+ NAnd(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 83, 0xff)
+
+ // NOr
+
+ NOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 86, 0xff)
+
+ NOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 87, 0xff)
+
+ // Or
+
+ Or(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 90, 0xff)
+
+ Or(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 91, 0xff)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 94, 0xff)
+
+ ShiftLeft(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 95, 0xff)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 98, 0xff)
+
+ ShiftRight(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 99, 0xff)
+
+ // Subtract
+
+ Subtract(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 102, 0xff)
+
+ Subtract(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 103, 0xff)
+
+ // ToString
+
+ ToString(DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 106, 0xff)
+
+ ToString(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 107, 0xff)
+
+ // Wait
+
+ Store(Wait(e000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 109, 0xff)
+
+ // XOr
+
+ XOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 112, 0xff)
+
+ XOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 113, 0xff)
+
+ // Mid
+
+ Mid(DeRefOf(arg1), 1, 1, Local1)
+ CH06(arg0, 117, 0xff)
+
+ Mid("123", DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 118, 0xff)
+
+ Mid("123", 1, DeRefOf(arg1), Local1)
+ CH06(arg0, 119, 0xff)
+
+ // Match
+
+ Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 0xff)
+
+ Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1)
+ CH06(arg0, 121, 0xff)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1)
+ CH06(arg0, 122, 0xff)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1)
+ CH06(arg0, 123, 0xff)
+
+ return (0)
+ }
+
+ // Uninitialized Local in Return
+ Method(m004, 1)
+ {
+ if (arg0) {
+ Store(0, Local0)
+ }
+
+ Return (Local0)
+
+ }
+
+ // Uninitialized element of Package in Return
+ Method(m005,, Serialized)
+ {
+ Name(p000, Package(1){})
+
+ Return (DeRefOf(Index(p000, 0)))
+
+ }
+
+/*
+// Causes Remark on compilation
+ // Uninitialized Arg in Return
+ Method(m006, 1)
+ {
+ if (arg0) {
+ Store(0, arg1)
+ }
+
+ Return (arg1)
+
+ }
+*/
+
+ // Uninitialized Local in If
+ Method(m007, 1)
+ {
+ if (arg0) {
+ Store(0, Local0)
+ }
+
+ Store(0, Local1)
+
+ if (Local0) {
+ Store(1, Local1)
+ }
+
+ Return (Local1)
+
+ }
+
+ // Uninitialized element of Package in If
+ Method(m008,, Serialized)
+ {
+ Name(p000, Package(1){})
+
+ Store(0, Local1)
+
+ if (DeRefOf(Index(p000, 0))) {
+ Store(1, Local1)
+ }
+
+ Return (Local1)
+
+ }
+
+/*
+// Causes Remark on compilation
+ // Uninitialized Arg in If
+ Method(m009, 1)
+ {
+ if (arg0) {
+ Store(0, arg1)
+ }
+
+ Store(0, Local1)
+
+ if (arg1) {
+ Store(1, Local1)
+ }
+
+ Return (Local1)
+
+ }
+*/
+
+ // Uninitialized Local in Elseif
+ Method(m00a, 1)
+ {
+ if (arg0) {
+ Store(0, Local0)
+ }
+
+ Store(0, Local1)
+
+ if (arg0) {
+ Store(1, Local1)
+ } elseif (Local0) {
+ Store(2, Local1)
+ }
+
+ Return (Local1)
+
+ }
+
+ // Uninitialized element of Package in Elseif
+ Method(m00b, 1, Serialized)
+ {
+ Name(p000, Package(1){})
+
+ Store(0, Local1)
+
+ if (arg0) {
+ Store(1, Local1)
+ } elseif (DeRefOf(Index(p000, 0))) {
+ Store(2, Local1)
+ }
+
+ Return (Local1)
+
+ }
+
+/*
+// Causes Remark on compilation
+ // Uninitialized Arg in If
+ Method(m00c, 1)
+ {
+ if (arg0) {
+ Store(0, arg1)
+ }
+
+ Store(0, Local1)
+
+ if (arg0) {
+ Store(1, Local1)
+ } elseif (arg1) {
+ Store(2, Local1)
+ }
+
+ Return (Local1)
+
+ }
+*/
+
+ Name(i001, 0)
+
+ Method(m00d, 1)
+ {
+ Store(1, i001)
+ }
+
+
+ // Uninitialized element of Package as parameter of a method
+ Method(m00e, 1, Serialized)
+ {
+ Name(p000, Package(1){})
+
+ Store(0, i001)
+ m00d(Derefof(Index(p000, 0)))
+ CH06(arg0, 0, 51)
+ if (LNotEqual(i001, 0)) {
+ err(arg0, z092, 1, 0, 0, i001, 0)
+ }
+
+ Store(0, i001)
+ Store(Index(p000, 0), Local1)
+ m00d(Derefof(Local1))
+ CH06(arg0, 2, 51)
+ if (LNotEqual(i001, 0)) {
+ err(arg0, z092, 3, 0, 0, i001, 0)
+ }
+
+ Store(0, i001)
+ m00d(Derefof(Index(p000, 0, Local2)))
+ CH06(arg0, 4, 51)
+ if (LNotEqual(i001, 0)) {
+ err(arg0, z092, 5, 0, 0, i001, 0)
+ }
+
+ Store(0, i001)
+ Index(p000, 0, Local3)
+ m00d(Derefof(Local3))
+ CH06(arg0, 6, 51)
+ if (LNotEqual(i001, 0)) {
+ err(arg0, z092, 7, 0, 0, i001, 0)
+ }
+
+ Store(0, i001)
+ Store(Index(p000, 0, Local4), Local5)
+ m00d(Derefof(Local5))
+ CH06(arg0, 8, 51)
+ if (LNotEqual(i001, 0)) {
+ err(arg0, z092, 9, 0, 0, i001, 0)
+ }
+ }
+
+ CH03(ts, z092, 12, 0, 0)
+
+ // Uninitialized Local
+ m000(Concatenate(ts, "-m000"), 0)
+
+ // Uninitialized element of Package
+ m001(Concatenate(ts, "-m001"))
+
+/*
+// Causes Remark on compilation
+ // Uninitialized Arg
+ m002(Concatenate(ts, "-m002"), 0)
+*/
+
+ // Reference to Uninitialized Local
+
+ if (arg0) {
+ Store(0, Local0)
+ }
+
+ m003(Concatenate(ts, "-m003-RefLocal"), RefOf(Local0))
+
+ // Reference (Index) to Uninitialized element of Package
+
+ if (y502) {
+ Name(p000, Package(1){})
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index"), Index(p000, 0))
+ }
+
+ Store(Index(p000, 0), Local1)
+ m003(Concatenate(ts, "-m003-Index2"), Local1)
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index3"), Index(p000, 0, Local2))
+ }
+
+ Index(p000, 0, Local3)
+ m003(Concatenate(ts, "-m003-Index4"), Local3)
+
+ Store(Index(p000, 0, Local4), Local5)
+ m003(Concatenate(ts, "-m003-Index5"), Local5)
+ }
+
+ // Uninitialized Local in Return
+ m004(0)
+ CH06(ts, 0, 49)
+
+ // Uninitialized element of Package in Return
+ if (y502) {
+ m005()
+ CH06(ts, 1, 51)
+ }
+
+/*
+// Causes Remark on compilation
+ // Uninitialized Arg in Return
+ m006(0)
+ CH06(ts, 2, 50)
+*/
+
+ // Uninitialized Local in If
+ m007(0)
+ CH06(ts, 3, 49)
+
+ // Uninitialized element of Package in If
+ if (y502) {
+ m008()
+ CH06(ts, 4, 51)
+ }
+
+/*
+// Causes Remark on compilation
+ // Uninitialized Arg in If
+ m009(0)
+ CH06(ts, 5, 50)
+*/
+
+ // Uninitialized Local in Elseif
+ m00a(0)
+ CH06(ts, 6, 49)
+
+ // Uninitialized element of Package in Elseif
+ if (y502) {
+ m00b(0)
+ CH06(ts, 7, 51)
+ }
+
+/*
+// Causes Remark on compilation
+ // Uninitialized Arg in Elseif
+ m00c(0)
+ CH06(ts, 8, 50)
+*/
+
+ // Uninitialized Local as parameter of a method
+ Store(0, i001)
+ m00d(Local0)
+ CH06(ts, 9, 49)
+ if (LNotEqual(i001, 0)) {
+ err(ts, z092, 10, 0, 0, i001, 0)
+ }
+
+ // Uninitialized element of Package as parameter of a method
+ if (y502) {
+ m00e(Concatenate(ts, "-m00e"))
+ }
+
+/*
+// Causes Remark on compilation
+ // Uninitialized Arg as parameter of a method
+ Store(0, i001)
+ m00d(Arg1)
+ CH06(ts, 11, 50)
+ if (LNotEqual(i001, 0)) {
+ err(ts, z092, 12, i001, 0)
+ }
+*/
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_01_int.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_01_int.asl index 72c4c581c..96c5934f2 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_01_int.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_01_int.asl @@ -1,471 +1,471 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * Integer - * - * (verify exceptions caused by the imprope use of Integer type objects) - */ - -Name(z093, 93) - -Name(i100, 0xabcd1234) - -// Expected exceptions: -// -// 47 - AE_AML_OPERAND_TYPE -// Note: an object reference is defined by spec -// to be an Integer, nevertheless it is supposed -// that the product should distinguish Integer Data -// from a reference. -// -Method(m4b1, 1, Serialized) -{ - Name(ts, "m4b1") - - Name(i000, 0x76543210) - - Event(e000) - - // Local Named Object - Method(m000, 1, Serialized) - { - Name(i000, 0x89abcdef) - - // DerefOf - - if (y083) { - Store (DerefOf(i000), Local1) - CH06(arg0, 0, 47) - } - - // Index - - Index(i000, 0, Local1) - CH06(arg0, 2, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(i000, ResourceTemplate(){}, Local1) - CH06(arg0, 5, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, i000, Local1) - CH06(arg0, 6, 47) - } - - // Global Named Object - Method(m001, 1) - { - // DerefOf - - if (y083) { - Store (DerefOf(i100), Local1) - CH06(arg0, 7, 47) - } - - // Index - - Index(i100, 0, Local1) - CH06(arg0, 9, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(i100, ResourceTemplate(){}, Local1) - CH06(arg0, 12, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, i100, Local1) - CH06(arg0, 13, 47) - } - - // Argument - Method(m002, 2) - { - // DerefOf - - Store (DerefOf(arg1), Local1) - CH06(arg0, 14, 47) - - // Release - - Release(arg1) - CH06(arg0, 15, 47) - - // Reset - - Reset(arg1) - CH06(arg0, 16, 47) - - // Signal - - Signal(arg1) - CH06(arg0, 17, 47) - - // Acquire - - Store(Acquire(arg1, 0), Local1) - CH06(arg0, 18, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(arg1, ResourceTemplate(){}, Local1) - CH06(arg0, 21, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, arg1, Local1) - CH06(arg0, 22, 47) - - // Index - - Index(arg1, 0, Local1) - CH06(arg0, 24, 47) - - // Wait - - Store(Wait(arg1, 0), Local1) - CH06(arg0, 25, 47) - - // Match - - Store (Match(arg1, MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 26, 47) - } - - // Local - Method(m003, 1) - { - Store(0x89abcdef, Local0) - - // DerefOf - - Store(DerefOf(Local0), Local1) - CH06(arg0, 27, 47) - - // Release - - Release(Local0) - CH06(arg0, 28, 47) - - // Reset - - Reset(Local0) - CH06(arg0, 29, 47) - - // Signal - - Signal(Local0) - CH06(arg0, 30, 47) - - // Acquire - - Store(Acquire(Local0, 0), Local1) - CH06(arg0, 31, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1) - CH06(arg0, 34, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1) - CH06(arg0, 35, 47) - - // Index - - Index(Local0, 0, Local1) - CH06(arg0, 37, 47) - - // Wait - - Store(Wait(Local0, 0), Local1) - CH06(arg0, 38, 47) - - // Match - - Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 39, 47) - } - - // An element of Package - Method(m004, 1, Serialized) - { - Name(p000, Package(){0x89abcdef}) - - // DeRefOf(Index(Package, Ind)) - - Store (DerefOf(DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 40, 47) - - Store (Index(DeRefOf(Index(p000, 0)), 0), Local1) - CH06(arg0, 41, 47) - - Store (Match(DeRefOf(Index(p000, 0)), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 42, 47) - - // DeRefOf(Index(Package, Ind, Dest)) - - Store (DerefOf(DeRefOf(Index(p000, 0, Local0))), Local1) - CH06(arg0, 43, 47) - - Store (Index(DeRefOf(Index(p000, 0, Local0)), 0), Local1) - CH06(arg0, 44, 47) - - Store (Match(DeRefOf(Index(p000, 0, Local0)), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 45, 47) - } - - // Reference to Object - Method(m005, 2) - { - Store(arg0, Debug) - Store(arg1, Debug) - - Store(ObjectType(arg1), Local0) - if (LNotEqual(Local0, 1)) { - err(arg0, z093, 46, 0, 0, Local0, 1) - return (1) - } - - Store (DerefOf(arg1), Local1) - CH03(ts, z093, 0, 0, 0) - - Store (DerefOf(DerefOf(arg1)), Local1) - CH06(arg0, 47, 47) - - Store (Index(DerefOf(arg1), 0), Local1) - CH06(arg0, 48, 47) - - Store (Match(DerefOf(arg1), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 49, 47) - - return (0) - } - - // Result of Method invocation - Method(m006, 1, Serialized) - { - Name(i000, 0) // Label to check m000 invocations - - Method(m000, 1) - { - Store(arg0, i000) - Store(0x89abcdef, Local0) - Return (Local0) - } - - Method(CH00, 2) - { - if (LNotEqual(i000, arg1)) { - err(arg0, z093, 50, 0, 0, i000, arg1) - } - } - - Store (DerefOf(m000(1)), Local1) - CH06(arg0, 51, 47) - CH00(arg0, 1) - - Release(m000(2)) - CH06(arg0, 52, 47) - if (y600) { - CH00(arg0, 2) - } - - Reset(m000(3)) - CH06(arg0, 53, 47) - if (y600) { - CH00(arg0, 3) - } - - Signal(m000(4)) - CH06(arg0, 54, 47) - if (y600) { - CH00(arg0, 4) - } - - Store(Acquire(m000(5), 0), Local1) - CH06(arg0, 55, 47) - if (y600) { - CH00(arg0, 5) - } - - Store (Index(m000(6), 0), Local1) - CH06(arg0, 56, 47) - CH00(arg0, 6) - - Store(Wait(m000(7), 0), Local1) - CH06(arg0, 57, 47) - if (y600) { - CH00(arg0, 7) - } - - Store (Match(m000(8), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 58, 47) - CH00(arg0, 8) - } - - // Reference to Object as Result of Method invocation - Method(m007, 1, Serialized) - { - Name(i000, 0x89abcdef) - - Name(i001, 0) // Label to check m000 invocations - - Method(m000, 2) - { - Store(arg0, i001) - if (LEqual(arg1, 0)) { - Store(Refof(i100), Local0) - } elseif (LEqual(arg1, 1)) { - Store(Refof(i000), Local0) - } - Return (Local0) - } - - Method(CH00, 2) - { - if (LNotEqual(i001, arg1)) { - err(arg0, z093, 59, 0, 0, i000, arg1) - } - } - - Name(lpN0, 2) - Name(lpC0, 0) - - While (lpN0) { - Multiply(3, lpC0, Local0) - - Store(0, i001) - - Store (DerefOf(m000(1, lpC0)), Local1) - CH03(ts, z093, Add(1, lpC0), 0, 0) - CH00(arg0, 1) - - Store (DerefOf(DerefOf(m000(2, lpC0))), Local1) - CH06(arg0, Add(60, Local0), 47) - CH00(arg0, 2) - - Store (Index(DerefOf(m000(3, lpC0)), 0), Local1) - CH06(arg0, Add(61, Local0), 47) - CH00(arg0, 3) - - Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, Add(62, Local0), 47) - CH00(arg0, 4) - - Decrement(lpN0) - Increment(lpC0) - } - } - - CH03(ts, z093, 3, 0, 0) - - // Local Named Object - m000(ts) - - // Global Named Object - m001(ts) - - // Argument - m002(ts, 0x76543210) - - // Local - m003(ts) - - // An element of Package - m004(ts) - - - // Reference to Local Named Object - - m005(Concatenate(ts, "-m005-RefLocName"), RefOf(i000)) - - Store(RefOf(i000), Local0) - m005(Concatenate(ts, "-m005-RefLocName2"), Local0) - - CondRefOf(i000, Local0) - m005(Concatenate(ts, "-m005-CondRefLocName"), Local0) - - m005(Concatenate(ts, "-m005-RefGlobName"), RefOf(i100)) - - Store(RefOf(i100), Local0) - m005(Concatenate(ts, "-m005-RefGlobName2"), Local0) - - CondRefOf(i100, Local0) - m005(Concatenate(ts, "-m005-CondRefGlobName"), Local0) - - - // Reference to Local - - Store(0x89abcdef, Local0) - - m005(Concatenate(ts, "-m005-RefLocal"), RefOf(Local0)) - - Store(RefOf(Local0), Local1) - m005(Concatenate(ts, "-m005-RefLocal2"), Local1) - - CondRefOf(Local0, Local1) - m005(Concatenate(ts, "-m005-CondRefLocal"), Local1) - - - // Reference to Arg - - m005(Concatenate(ts, "-m005-RefArg"), RefOf(arg0)) - - Store(RefOf(arg0), Local0) - m005(Concatenate(ts, "-m005-RefArg2"), Local0) - - CondRefOf(arg0, Local0) - m005(Concatenate(ts, "-m005-CondRefArg"), Local0) - - - // Index to Package - - Name(p000, Package(){0x76543210}) - - if (y113) { - m005(Concatenate(ts, "-m005-Index"), Index(p000, 0)) - } - - Store(Index(p000, 0), Local0) - m005(Concatenate(ts, "-m005-Index2"), Local0) - - if (y113) { - m005(Concatenate(ts, "-m005-Index3"), Index(p000, 0, Local0)) - } - - Index(p000, 0, Local0) - m005(Concatenate(ts, "-m005-Index4"), Local0) - - Store(Index(p000, 0, Local0), Local1) - m005(Concatenate(ts, "-m005-Index5"), Local1) - - // Result of Method invocation - m006(ts) - - // Reference to Object as Result of Method invocation - if (y500) { - m007(ts) - } -} +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Integer
+ *
+ * (verify exceptions caused by the imprope use of Integer type objects)
+ */
+
+Name(z093, 93)
+
+Name(i100, 0xabcd1234)
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+// Note: an object reference is defined by spec
+// to be an Integer, nevertheless it is supposed
+// that the product should distinguish Integer Data
+// from a reference.
+//
+Method(m4b1, 1, Serialized)
+{
+ Name(ts, "m4b1")
+
+ Name(i000, 0x76543210)
+
+ Event(e000)
+
+ // Local Named Object
+ Method(m000, 1, Serialized)
+ {
+ Name(i000, 0x89abcdef)
+
+ // DerefOf
+
+ if (y083) {
+ Store (DerefOf(i000), Local1)
+ CH06(arg0, 0, 47)
+ }
+
+ // Index
+
+ Index(i000, 0, Local1)
+ CH06(arg0, 2, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(i000, ResourceTemplate(){}, Local1)
+ CH06(arg0, 5, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, i000, Local1)
+ CH06(arg0, 6, 47)
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ // DerefOf
+
+ if (y083) {
+ Store (DerefOf(i100), Local1)
+ CH06(arg0, 7, 47)
+ }
+
+ // Index
+
+ Index(i100, 0, Local1)
+ CH06(arg0, 9, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(i100, ResourceTemplate(){}, Local1)
+ CH06(arg0, 12, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, i100, Local1)
+ CH06(arg0, 13, 47)
+ }
+
+ // Argument
+ Method(m002, 2)
+ {
+ // DerefOf
+
+ Store (DerefOf(arg1), Local1)
+ CH06(arg0, 14, 47)
+
+ // Release
+
+ Release(arg1)
+ CH06(arg0, 15, 47)
+
+ // Reset
+
+ Reset(arg1)
+ CH06(arg0, 16, 47)
+
+ // Signal
+
+ Signal(arg1)
+ CH06(arg0, 17, 47)
+
+ // Acquire
+
+ Store(Acquire(arg1, 0), Local1)
+ CH06(arg0, 18, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(arg1, ResourceTemplate(){}, Local1)
+ CH06(arg0, 21, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, arg1, Local1)
+ CH06(arg0, 22, 47)
+
+ // Index
+
+ Index(arg1, 0, Local1)
+ CH06(arg0, 24, 47)
+
+ // Wait
+
+ Store(Wait(arg1, 0), Local1)
+ CH06(arg0, 25, 47)
+
+ // Match
+
+ Store (Match(arg1, MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 26, 47)
+ }
+
+ // Local
+ Method(m003, 1)
+ {
+ Store(0x89abcdef, Local0)
+
+ // DerefOf
+
+ Store(DerefOf(Local0), Local1)
+ CH06(arg0, 27, 47)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 28, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 29, 47)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 30, 47)
+
+ // Acquire
+
+ Store(Acquire(Local0, 0), Local1)
+ CH06(arg0, 31, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 34, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 35, 47)
+
+ // Index
+
+ Index(Local0, 0, Local1)
+ CH06(arg0, 37, 47)
+
+ // Wait
+
+ Store(Wait(Local0, 0), Local1)
+ CH06(arg0, 38, 47)
+
+ // Match
+
+ Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 39, 47)
+ }
+
+ // An element of Package
+ Method(m004, 1, Serialized)
+ {
+ Name(p000, Package(){0x89abcdef})
+
+ // DeRefOf(Index(Package, Ind))
+
+ Store (DerefOf(DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 40, 47)
+
+ Store (Index(DeRefOf(Index(p000, 0)), 0), Local1)
+ CH06(arg0, 41, 47)
+
+ Store (Match(DeRefOf(Index(p000, 0)), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 42, 47)
+
+ // DeRefOf(Index(Package, Ind, Dest))
+
+ Store (DerefOf(DeRefOf(Index(p000, 0, Local0))), Local1)
+ CH06(arg0, 43, 47)
+
+ Store (Index(DeRefOf(Index(p000, 0, Local0)), 0), Local1)
+ CH06(arg0, 44, 47)
+
+ Store (Match(DeRefOf(Index(p000, 0, Local0)), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 45, 47)
+ }
+
+ // Reference to Object
+ Method(m005, 2)
+ {
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 1)) {
+ err(arg0, z093, 46, 0, 0, Local0, 1)
+ return (1)
+ }
+
+ Store (DerefOf(arg1), Local1)
+ CH03(ts, z093, 0, 0, 0)
+
+ Store (DerefOf(DerefOf(arg1)), Local1)
+ CH06(arg0, 47, 47)
+
+ Store (Index(DerefOf(arg1), 0), Local1)
+ CH06(arg0, 48, 47)
+
+ Store (Match(DerefOf(arg1), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 49, 47)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m006, 1, Serialized)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 1)
+ {
+ Store(arg0, i000)
+ Store(0x89abcdef, Local0)
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z093, 50, 0, 0, i000, arg1)
+ }
+ }
+
+ Store (DerefOf(m000(1)), Local1)
+ CH06(arg0, 51, 47)
+ CH00(arg0, 1)
+
+ Release(m000(2))
+ CH06(arg0, 52, 47)
+ if (y600) {
+ CH00(arg0, 2)
+ }
+
+ Reset(m000(3))
+ CH06(arg0, 53, 47)
+ if (y600) {
+ CH00(arg0, 3)
+ }
+
+ Signal(m000(4))
+ CH06(arg0, 54, 47)
+ if (y600) {
+ CH00(arg0, 4)
+ }
+
+ Store(Acquire(m000(5), 0), Local1)
+ CH06(arg0, 55, 47)
+ if (y600) {
+ CH00(arg0, 5)
+ }
+
+ Store (Index(m000(6), 0), Local1)
+ CH06(arg0, 56, 47)
+ CH00(arg0, 6)
+
+ Store(Wait(m000(7), 0), Local1)
+ CH06(arg0, 57, 47)
+ if (y600) {
+ CH00(arg0, 7)
+ }
+
+ Store (Match(m000(8), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 58, 47)
+ CH00(arg0, 8)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m007, 1, Serialized)
+ {
+ Name(i000, 0x89abcdef)
+
+ Name(i001, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i001)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(i100), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(i000), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i001, arg1)) {
+ err(arg0, z093, 59, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i001)
+
+ Store (DerefOf(m000(1, lpC0)), Local1)
+ CH03(ts, z093, Add(1, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+ Store (DerefOf(DerefOf(m000(2, lpC0))), Local1)
+ CH06(arg0, Add(60, Local0), 47)
+ CH00(arg0, 2)
+
+ Store (Index(DerefOf(m000(3, lpC0)), 0), Local1)
+ CH06(arg0, Add(61, Local0), 47)
+ CH00(arg0, 3)
+
+ Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, Add(62, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ CH03(ts, z093, 3, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Argument
+ m002(ts, 0x76543210)
+
+ // Local
+ m003(ts)
+
+ // An element of Package
+ m004(ts)
+
+
+ // Reference to Local Named Object
+
+ m005(Concatenate(ts, "-m005-RefLocName"), RefOf(i000))
+
+ Store(RefOf(i000), Local0)
+ m005(Concatenate(ts, "-m005-RefLocName2"), Local0)
+
+ CondRefOf(i000, Local0)
+ m005(Concatenate(ts, "-m005-CondRefLocName"), Local0)
+
+ m005(Concatenate(ts, "-m005-RefGlobName"), RefOf(i100))
+
+ Store(RefOf(i100), Local0)
+ m005(Concatenate(ts, "-m005-RefGlobName2"), Local0)
+
+ CondRefOf(i100, Local0)
+ m005(Concatenate(ts, "-m005-CondRefGlobName"), Local0)
+
+
+ // Reference to Local
+
+ Store(0x89abcdef, Local0)
+
+ m005(Concatenate(ts, "-m005-RefLocal"), RefOf(Local0))
+
+ Store(RefOf(Local0), Local1)
+ m005(Concatenate(ts, "-m005-RefLocal2"), Local1)
+
+ CondRefOf(Local0, Local1)
+ m005(Concatenate(ts, "-m005-CondRefLocal"), Local1)
+
+
+ // Reference to Arg
+
+ m005(Concatenate(ts, "-m005-RefArg"), RefOf(arg0))
+
+ Store(RefOf(arg0), Local0)
+ m005(Concatenate(ts, "-m005-RefArg2"), Local0)
+
+ CondRefOf(arg0, Local0)
+ m005(Concatenate(ts, "-m005-CondRefArg"), Local0)
+
+
+ // Index to Package
+
+ Name(p000, Package(){0x76543210})
+
+ if (y113) {
+ m005(Concatenate(ts, "-m005-Index"), Index(p000, 0))
+ }
+
+ Store(Index(p000, 0), Local0)
+ m005(Concatenate(ts, "-m005-Index2"), Local0)
+
+ if (y113) {
+ m005(Concatenate(ts, "-m005-Index3"), Index(p000, 0, Local0))
+ }
+
+ Index(p000, 0, Local0)
+ m005(Concatenate(ts, "-m005-Index4"), Local0)
+
+ Store(Index(p000, 0, Local0), Local1)
+ m005(Concatenate(ts, "-m005-Index5"), Local1)
+
+ // Result of Method invocation
+ m006(ts)
+
+ // Reference to Object as Result of Method invocation
+ if (y500) {
+ m007(ts)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_02_str.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_02_str.asl index 389ce1656..649ae90d9 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_02_str.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_02_str.asl @@ -1,472 +1,472 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * String - * - * (verify exceptions caused by the imprope use of String type objects) - */ - -Name(z094, 94) - -Name(s100, "1") - -// Expected exceptions: -// -// 47 - AE_AML_OPERAND_TYPE -// 5 - AE_NOT_FOUND (when DerefOf(String)) -// -// Note: String can be used with DerefOf and Index -Method(m4b2, 1, Serialized) -{ - Name(ts, "m4b2") - - Name(s000, "2") - - // Local Named Object - Method(m000, 1, Serialized) - { - Name(s000, "3") - - // DerefOf - - if (y083) { - Store (DerefOf(s000), Local1) - CH06(arg0, 0, 47) - } - - // Index - - Index(s000, 0, Local1) - CH03(ts, z094, 1, 0, 0) - - // ConcatenateResTemplate - - ConcatenateResTemplate(s000, ResourceTemplate(){}, Local1) - CH06(arg0, 3, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, s000, Local1) - CH06(arg0, 4, 47) - - } - - // Global Named Object - Method(m001, 1) - { - if (y083) { - Store (DerefOf(s100), Local1) - CH06(arg0, 5, 47) - } - - // Index - - Index(s100, 0, Local1) - CH03(ts, z094, 3, 0, 0) - - // ConcatenateResTemplate - - ConcatenateResTemplate(s100, ResourceTemplate(){}, Local1) - CH06(arg0, 8, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, s100, Local1) - CH06(arg0, 9, 47) - - } - - // Argument - Method(m002, 2) - { - // DerefOf - - Store (DerefOf(arg1), Local1) - CH06(arg0, 10, 47) - - // Release - - Release(arg1) - CH06(arg0, 11, 47) - - // Reset - - Reset(arg1) - CH06(arg0, 12, 47) - - // Signal - - Signal(arg1) - CH06(arg0, 13, 47) - - // Acquire - - Store(Acquire(arg1, 0), Local1) - CH06(arg0, 14, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(arg1, ResourceTemplate(){}, Local1) - CH06(arg0, 17, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, arg1, Local1) - CH06(arg0, 18, 47) - - // Index - - Index(arg1, 0, Local1) - CH03(ts, z094, 5, 0, 0) - - // Wait - - Store(Wait(arg1, 0), Local1) - CH06(arg0, 19, 47) - - // Match - - Store (Match(arg1, MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 20, 47) - } - - // Local - Method(m003, 1) - { - Store("3", Local0) - - // DerefOf - - Store (DerefOf(Local0), Local1) - CH06(arg0, 21, 47) - - // Release - - Release(Local0) - CH06(arg0, 22, 47) - - // Reset - - Reset(Local0) - CH06(arg0, 23, 47) - - // Signal - - Signal(Local0) - CH06(arg0, 24, 47) - - // Acquire - - Store(Acquire(Local0, 0), Local1) - CH06(arg0, 25, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1) - CH06(arg0, 28, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1) - CH06(arg0, 29, 47) - - // Index - - Index(Local0, 0, Local1) - CH03(ts, z094, 7, 0, 0) - - // Wait - - Store(Wait(Local0, 0), Local1) - CH06(arg0, 30, 47) - - // Match - - Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 31, 47) - } - - // An element of Package - Method(m004, 1, Serialized) - { - Name(p000, Package(){"3"}) - - // DeRefOf(Index(Package, Ind)) - - Store (DerefOf(DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 32, 5) - - Store (Index(DeRefOf(Index(p000, 0)), 0), Local1) - CH03(ts, z094, 8, 0, 0) - - Store (Match(DeRefOf(Index(p000, 0)), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 33, 47) - - // DeRefOf(Index(Package, Ind, Dest)) - - Store (DerefOf(DeRefOf(Index(p000, 0, Local0))), Local1) - CH06(arg0, 34, 5) - - Store (Index(DeRefOf(Index(p000, 0, Local0)), 0), Local1) - CH03(ts, z094, 9, 0, 0) - - Store (Match(DeRefOf(Index(p000, 0, Local0)), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 35, 47) - } - - // Reference to Object - Method(m005, 2) - { - Store(arg0, Debug) - Store(arg1, Debug) - - Store(ObjectType(arg1), Local0) - if (LNotEqual(Local0, 2)) { - err(arg0, z094, 36, 0, 0, Local0, 2) - return (1) - } - - Store (DerefOf(arg1), Local1) - CH03(ts, z094, 10, 0, 0) - - Store (DerefOf(DerefOf(arg1)), Local1) - CH06(arg0, 37, 5) - - Store (Index(DerefOf(arg1), 0), Local1) - CH03(ts, z094, 11, 0, 0) - - Store (Match(DerefOf(arg1), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 38, 47) - - return (0) - } - - // Result of Method invocation - Method(m006, 1, Serialized) - { - Name(i000, 0) // Label to check m000 invocations - - Method(m000, 1) - { - Store(arg0, i000) - Store("3", Local0) - Return (Local0) - } - - Method(CH00, 2) - { - if (LNotEqual(i000, arg1)) { - err(arg0, z094, 39, 0, 0, i000, arg1) - } - } - - Store (DerefOf(m000(1)), Local1) - CH06(arg0, 40, 5) - CH00(arg0, 1) - - Release(m000(2)) - CH06(arg0, 41, 47) - if (y600) { - CH00(arg0, 2) - } - - Reset(m000(3)) - CH06(arg0, 42, 47) - if (y600) { - CH00(arg0, 3) - } - - Signal(m000(4)) - CH06(arg0, 43, 47) - if (y600) { - CH00(arg0, 4) - } - - Store(Acquire(m000(5), 0), Local1) - CH06(arg0, 44, 47) - if (y600) { - CH00(arg0, 5) - } - - CH03(ts, z094, 12, 0, 0) - Store (Index(m000(6), 0), Local1) - if (y900) { - CH03(ts, z094, 12, 0, 0) - CH00(arg0, 6) - } else { - CH04(ts, 0, 85, z094, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED - } - - Store(Wait(m000(7), 0), Local1) - CH06(arg0, 45, 47) - if (y600) { - CH00(arg0, 7) - } - - Store (Match(m000(8), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 46, 47) - CH00(arg0, 8) - } - - // Reference to Object as Result of Method invocation - Method(m007, 1, Serialized) - { - Name(s000, "3") - - Name(i000, 0) // Label to check m000 invocations - - Method(m000, 2) - { - Store(arg0, i000) - if (LEqual(arg1, 0)) { - Store(Refof(s100), Local0) - } elseif (LEqual(arg1, 1)) { - Store(Refof(s000), Local0) - } - Return (Local0) - } - - Method(CH00, 2) - { - if (LNotEqual(i000, arg1)) { - err(arg0, z094, 47, 0, 0, i000, arg1) - } - } - - Name(lpN0, 2) - Name(lpC0, 0) - - While (lpN0) { - Multiply(3, lpC0, Local0) - - Store(0, i000) - - Store (DerefOf(m000(1, lpC0)), Local1) - CH03(ts, z094, Add(13, lpC0), 0, 0) - CH00(arg0, 1) - - Store (DerefOf(DerefOf(m000(2, lpC0))), Local1) - CH06(arg0, Add(48, Local0), 47) - CH00(arg0, 2) - - Store (Index(DerefOf(m000(3, lpC0)), 0), Local1) - CH06(arg0, Add(49, Local0), 47) - CH00(arg0, 3) - - Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, Add(50, Local0), 47) - CH00(arg0, 4) - - Decrement(lpN0) - Increment(lpC0) - } - } - - CH03(ts, z094, 15, 0, 0) - - // Local Named Object - m000(ts) - - // Global Named Object - m001(ts) - - // Argument - m002(ts, "2") - - // Local - m003(ts) - - // An element of Package - m004(ts) - - - // Reference to Local Named Object - - m005(Concatenate(ts, "-m005-RefLocName"), RefOf(s000)) - - Store(RefOf(s000), Local0) - m005(Concatenate(ts, "-m005-RefLocName2"), Local0) - - CondRefOf(s000, Local0) - m005(Concatenate(ts, "-m005-CondRefLocName"), Local0) - - m005(Concatenate(ts, "-m005-RefGlobName"), RefOf(s100)) - - Store(RefOf(s100), Local0) - m005(Concatenate(ts, "-m005-RefGlobName2"), Local0) - - CondRefOf(s100, Local0) - m005(Concatenate(ts, "-m005-CondRefGlobName"), Local0) - - - // Reference to Local - - Store("2", Local0) - - m005(Concatenate(ts, "-m005-RefLocal"), RefOf(Local0)) - - Store(RefOf(Local0), Local1) - m005(Concatenate(ts, "-m005-RefLocal2"), Local1) - - CondRefOf(Local0, Local1) - m005(Concatenate(ts, "-m005-CondRefLocal"), Local1) - - - // Reference to Arg - - m005(Concatenate(ts, "-m005-RefArg"), RefOf(arg0)) - - Store(RefOf(arg0), Local0) - m005(Concatenate(ts, "-m005-RefArg2"), Local0) - - CondRefOf(arg0, Local0) - m005(Concatenate(ts, "-m005-CondRefArg"), Local0) - - - // Index to Package - - Name(p000, Package(){"2"}) - - if (y113) { - m005(Concatenate(ts, "-m005-Index"), Index(p000, 0)) - } - - Store(Index(p000, 0), Local0) - m005(Concatenate(ts, "-m005-Index2"), Local0) - - if (y113) { - m005(Concatenate(ts, "-m005-Index3"), Index(p000, 0, Local0)) - } - - Index(p000, 0, Local0) - m005(Concatenate(ts, "-m005-Index4"), Local0) - - Store(Index(p000, 0, Local0), Local1) - m005(Concatenate(ts, "-m005-Index5"), Local1) - - // Result of Method invocation - m006(ts) - - // Reference to Object as Result of Method invocation - if (y500) { - m007(ts) - } -} +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * String
+ *
+ * (verify exceptions caused by the imprope use of String type objects)
+ */
+
+Name(z094, 94)
+
+Name(s100, "1")
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+// 5 - AE_NOT_FOUND (when DerefOf(String))
+//
+// Note: String can be used with DerefOf and Index
+Method(m4b2, 1, Serialized)
+{
+ Name(ts, "m4b2")
+
+ Name(s000, "2")
+
+ // Local Named Object
+ Method(m000, 1, Serialized)
+ {
+ Name(s000, "3")
+
+ // DerefOf
+
+ if (y083) {
+ Store (DerefOf(s000), Local1)
+ CH06(arg0, 0, 47)
+ }
+
+ // Index
+
+ Index(s000, 0, Local1)
+ CH03(ts, z094, 1, 0, 0)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(s000, ResourceTemplate(){}, Local1)
+ CH06(arg0, 3, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, s000, Local1)
+ CH06(arg0, 4, 47)
+
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ if (y083) {
+ Store (DerefOf(s100), Local1)
+ CH06(arg0, 5, 47)
+ }
+
+ // Index
+
+ Index(s100, 0, Local1)
+ CH03(ts, z094, 3, 0, 0)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(s100, ResourceTemplate(){}, Local1)
+ CH06(arg0, 8, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, s100, Local1)
+ CH06(arg0, 9, 47)
+
+ }
+
+ // Argument
+ Method(m002, 2)
+ {
+ // DerefOf
+
+ Store (DerefOf(arg1), Local1)
+ CH06(arg0, 10, 47)
+
+ // Release
+
+ Release(arg1)
+ CH06(arg0, 11, 47)
+
+ // Reset
+
+ Reset(arg1)
+ CH06(arg0, 12, 47)
+
+ // Signal
+
+ Signal(arg1)
+ CH06(arg0, 13, 47)
+
+ // Acquire
+
+ Store(Acquire(arg1, 0), Local1)
+ CH06(arg0, 14, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(arg1, ResourceTemplate(){}, Local1)
+ CH06(arg0, 17, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, arg1, Local1)
+ CH06(arg0, 18, 47)
+
+ // Index
+
+ Index(arg1, 0, Local1)
+ CH03(ts, z094, 5, 0, 0)
+
+ // Wait
+
+ Store(Wait(arg1, 0), Local1)
+ CH06(arg0, 19, 47)
+
+ // Match
+
+ Store (Match(arg1, MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 20, 47)
+ }
+
+ // Local
+ Method(m003, 1)
+ {
+ Store("3", Local0)
+
+ // DerefOf
+
+ Store (DerefOf(Local0), Local1)
+ CH06(arg0, 21, 47)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 22, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 23, 47)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 24, 47)
+
+ // Acquire
+
+ Store(Acquire(Local0, 0), Local1)
+ CH06(arg0, 25, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 28, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 29, 47)
+
+ // Index
+
+ Index(Local0, 0, Local1)
+ CH03(ts, z094, 7, 0, 0)
+
+ // Wait
+
+ Store(Wait(Local0, 0), Local1)
+ CH06(arg0, 30, 47)
+
+ // Match
+
+ Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 31, 47)
+ }
+
+ // An element of Package
+ Method(m004, 1, Serialized)
+ {
+ Name(p000, Package(){"3"})
+
+ // DeRefOf(Index(Package, Ind))
+
+ Store (DerefOf(DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 32, 5)
+
+ Store (Index(DeRefOf(Index(p000, 0)), 0), Local1)
+ CH03(ts, z094, 8, 0, 0)
+
+ Store (Match(DeRefOf(Index(p000, 0)), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 33, 47)
+
+ // DeRefOf(Index(Package, Ind, Dest))
+
+ Store (DerefOf(DeRefOf(Index(p000, 0, Local0))), Local1)
+ CH06(arg0, 34, 5)
+
+ Store (Index(DeRefOf(Index(p000, 0, Local0)), 0), Local1)
+ CH03(ts, z094, 9, 0, 0)
+
+ Store (Match(DeRefOf(Index(p000, 0, Local0)), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 35, 47)
+ }
+
+ // Reference to Object
+ Method(m005, 2)
+ {
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 2)) {
+ err(arg0, z094, 36, 0, 0, Local0, 2)
+ return (1)
+ }
+
+ Store (DerefOf(arg1), Local1)
+ CH03(ts, z094, 10, 0, 0)
+
+ Store (DerefOf(DerefOf(arg1)), Local1)
+ CH06(arg0, 37, 5)
+
+ Store (Index(DerefOf(arg1), 0), Local1)
+ CH03(ts, z094, 11, 0, 0)
+
+ Store (Match(DerefOf(arg1), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 38, 47)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m006, 1, Serialized)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 1)
+ {
+ Store(arg0, i000)
+ Store("3", Local0)
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z094, 39, 0, 0, i000, arg1)
+ }
+ }
+
+ Store (DerefOf(m000(1)), Local1)
+ CH06(arg0, 40, 5)
+ CH00(arg0, 1)
+
+ Release(m000(2))
+ CH06(arg0, 41, 47)
+ if (y600) {
+ CH00(arg0, 2)
+ }
+
+ Reset(m000(3))
+ CH06(arg0, 42, 47)
+ if (y600) {
+ CH00(arg0, 3)
+ }
+
+ Signal(m000(4))
+ CH06(arg0, 43, 47)
+ if (y600) {
+ CH00(arg0, 4)
+ }
+
+ Store(Acquire(m000(5), 0), Local1)
+ CH06(arg0, 44, 47)
+ if (y600) {
+ CH00(arg0, 5)
+ }
+
+ CH03(ts, z094, 12, 0, 0)
+ Store (Index(m000(6), 0), Local1)
+ if (y900) {
+ CH03(ts, z094, 12, 0, 0)
+ CH00(arg0, 6)
+ } else {
+ CH04(ts, 0, 85, z094, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ Store(Wait(m000(7), 0), Local1)
+ CH06(arg0, 45, 47)
+ if (y600) {
+ CH00(arg0, 7)
+ }
+
+ Store (Match(m000(8), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 46, 47)
+ CH00(arg0, 8)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m007, 1, Serialized)
+ {
+ Name(s000, "3")
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(s100), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(s000), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z094, 47, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ Store (DerefOf(m000(1, lpC0)), Local1)
+ CH03(ts, z094, Add(13, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+ Store (DerefOf(DerefOf(m000(2, lpC0))), Local1)
+ CH06(arg0, Add(48, Local0), 47)
+ CH00(arg0, 2)
+
+ Store (Index(DerefOf(m000(3, lpC0)), 0), Local1)
+ CH06(arg0, Add(49, Local0), 47)
+ CH00(arg0, 3)
+
+ Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, Add(50, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ CH03(ts, z094, 15, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Argument
+ m002(ts, "2")
+
+ // Local
+ m003(ts)
+
+ // An element of Package
+ m004(ts)
+
+
+ // Reference to Local Named Object
+
+ m005(Concatenate(ts, "-m005-RefLocName"), RefOf(s000))
+
+ Store(RefOf(s000), Local0)
+ m005(Concatenate(ts, "-m005-RefLocName2"), Local0)
+
+ CondRefOf(s000, Local0)
+ m005(Concatenate(ts, "-m005-CondRefLocName"), Local0)
+
+ m005(Concatenate(ts, "-m005-RefGlobName"), RefOf(s100))
+
+ Store(RefOf(s100), Local0)
+ m005(Concatenate(ts, "-m005-RefGlobName2"), Local0)
+
+ CondRefOf(s100, Local0)
+ m005(Concatenate(ts, "-m005-CondRefGlobName"), Local0)
+
+
+ // Reference to Local
+
+ Store("2", Local0)
+
+ m005(Concatenate(ts, "-m005-RefLocal"), RefOf(Local0))
+
+ Store(RefOf(Local0), Local1)
+ m005(Concatenate(ts, "-m005-RefLocal2"), Local1)
+
+ CondRefOf(Local0, Local1)
+ m005(Concatenate(ts, "-m005-CondRefLocal"), Local1)
+
+
+ // Reference to Arg
+
+ m005(Concatenate(ts, "-m005-RefArg"), RefOf(arg0))
+
+ Store(RefOf(arg0), Local0)
+ m005(Concatenate(ts, "-m005-RefArg2"), Local0)
+
+ CondRefOf(arg0, Local0)
+ m005(Concatenate(ts, "-m005-CondRefArg"), Local0)
+
+
+ // Index to Package
+
+ Name(p000, Package(){"2"})
+
+ if (y113) {
+ m005(Concatenate(ts, "-m005-Index"), Index(p000, 0))
+ }
+
+ Store(Index(p000, 0), Local0)
+ m005(Concatenate(ts, "-m005-Index2"), Local0)
+
+ if (y113) {
+ m005(Concatenate(ts, "-m005-Index3"), Index(p000, 0, Local0))
+ }
+
+ Index(p000, 0, Local0)
+ m005(Concatenate(ts, "-m005-Index4"), Local0)
+
+ Store(Index(p000, 0, Local0), Local1)
+ m005(Concatenate(ts, "-m005-Index5"), Local1)
+
+ // Result of Method invocation
+ m006(ts)
+
+ // Reference to Object as Result of Method invocation
+ if (y500) {
+ m007(ts)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_03_buf.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_03_buf.asl index 246f26052..580382ae1 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_03_buf.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_03_buf.asl @@ -1,387 +1,387 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * Buffer - * - * (verify exceptions caused by the imprope use of Buffer type objects) - */ - -Name(z095, 95) - -Name(b100, Buffer(){0x61}) - -// Expected exceptions: -// -// 47 - AE_AML_OPERAND_TYPE -// Note: Buffer can be used with Index -Method(m4b3, 1, Serialized) -{ - Name(ts, "m4b3") - - Name(b000, Buffer(){0x62}) - - // Local Named Object - Method(m000, 1, Serialized) - { - Name(b000, Buffer(){0x63}) - - if (y083) { - Store (DerefOf(b000), Local1) - CH06(arg0, 0, 47) - } - - Store (Index(b000, 0), Local1) - CH03(ts, z095, 0, 0, 0) - } - - // Global Named Object - Method(m001, 1) - { - if (y083) { - Store (DerefOf(b100), Local1) - CH06(arg0, 1, 47) - } - - Store (Index(b100, 0), Local1) - CH03(ts, z095, 1, 0, 0) - } - - // Argument - Method(m002, 2) - { - Store (DerefOf(arg1), Local1) - CH06(arg0, 2, 47) - - Release(arg1) - CH06(arg0, 3, 47) - - Reset(arg1) - CH06(arg0, 4, 47) - - Signal(arg1) - CH06(arg0, 5, 47) - - Store(Acquire(arg1, 0), Local1) - CH06(arg0, 6, 47) - - Store (Index(arg1, 0), Local1) - CH03(ts, z095, 2, 0, 0) - - Store(Wait(arg1, 0), Local1) - CH06(arg0, 7, 47) - - Store (Match(arg1, MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 8, 47) - } - - // Local - Method(m003, 1) - { - Store(Buffer(){0x63}, Local0) - - Store (DerefOf(Local0), Local1) - CH06(arg0, 9, 47) - - Release(Local0) - CH06(arg0, 10, 47) - - Reset(Local0) - CH06(arg0, 11, 47) - - Signal(Local0) - CH06(arg0, 12, 47) - - Store(Acquire(Local0, 0), Local1) - CH06(arg0, 13, 47) - - Store (Index(Local0, 0), Local1) - CH03(ts, z095, 3, 0, 0) - - Store(Wait(Local0, 0), Local1) - CH06(arg0, 14, 47) - - Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 15, 47) - } - - // An element of Package - Method(m004, 1, Serialized) - { - Name(p000, Package(){Buffer(){0x63}}) - - // DeRefOf(Index(Package, Ind, Dest)) - - Store (DerefOf(DeRefOf(Index(p000, 0, Local0))), Local1) - CH06(arg0, 18, 47) - - Store (Index(DeRefOf(Index(p000, 0, Local0)), 0), Local1) - CH03(ts, z095, 5, 0, 0) - - Store (Match(DeRefOf(Index(p000, 0, Local0)), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 19, 47) - } - - // Reference to Object - Method(m005, 2) - { - Store(arg0, Debug) - Store(arg1, Debug) - - Store(ObjectType(arg1), Local0) - if (LNotEqual(Local0, 3)) { - err(arg0, z095, 20, 0, 0, Local0, 3) - return (1) - } - - Store (DerefOf(arg1), Local1) - CH03(ts, z095, 6, 0, 0) - - Store (DerefOf(DerefOf(arg1)), Local1) - CH06(arg0, 21, 47) - - Store (Index(DerefOf(arg1), 0), Local1) - CH03(ts, z095, 7, 0, 0) - - Store (Match(DerefOf(arg1), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 22, 47) - - return (0) - } - - // Result of Method invocation - Method(m006, 1, Serialized) - { - Name(i000, 0) // Label to check m000 invocations - - Method(m000, 1) - { - Store(arg0, i000) - Store(Buffer(){0x63}, Local0) - Return (Local0) - } - - Method(CH00, 2) - { - if (LNotEqual(i000, arg1)) { - err(arg0, z095, 23, 0, 0, i000, arg1) - } - } - - Store (DerefOf(m000(1)), Local1) - CH06(arg0, 24, 47) - CH00(arg0, 1) - - Release(m000(2)) - CH06(arg0, 25, 47) - if (y600) { - CH00(arg0, 2) - } - - Reset(m000(3)) - CH06(arg0, 26, 47) - if (y600) { - CH00(arg0, 3) - } - - Signal(m000(4)) - CH06(arg0, 27, 47) - if (y600) { - CH00(arg0, 4) - } - - Store(Acquire(m000(5), 0), Local1) - CH06(arg0, 28, 47) - if (y600) { - CH00(arg0, 5) - } - - CH03(ts, z095, 12, 0, 0) - Store (Index(m000(6), 0), Local1) - if (y900) { - CH03(ts, z095, 8, 0, 0) - CH00(arg0, 6) - } else { - CH04(ts, 0, 85, z095, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED - } - - Store(Wait(m000(7), 0), Local1) - CH06(arg0, 29, 47) - if (y600) { - CH00(arg0, 7) - } - - Store (Match(m000(8), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 30, 47) - CH00(arg0, 8) - } - - // Reference to Object as Result of Method invocation - Method(m007, 1, Serialized) - { - Name(b000, Buffer(){0x63}) - - Name(i000, 0) // Label to check m000 invocations - - Method(m000, 2) - { - Store(arg0, i000) - if (LEqual(arg1, 0)) { - Store(Refof(b100), Local0) - } elseif (LEqual(arg1, 1)) { - Store(Refof(b000), Local0) - } - Return (Local0) - } - - Method(CH00, 2) - { - if (LNotEqual(i000, arg1)) { - err(arg0, z095, 31, 0, 0, i000, arg1) - } - } - - Name(lpN0, 2) - Name(lpC0, 0) - - While (lpN0) { - Multiply(3, lpC0, Local0) - - Store(0, i000) - - Store (DerefOf(m000(1, lpC0)), Local1) - CH03(ts, z095, Add(9, lpC0), 0, 0) - CH00(arg0, 1) - - Store (DerefOf(DerefOf(m000(2, lpC0))), Local1) - CH06(arg0, Add(32, Local0), 47) - CH00(arg0, 2) - - Store (Index(DerefOf(m000(3, lpC0)), 0), Local1) - CH06(arg0, Add(33, Local0), 47) - CH00(arg0, 3) - - Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, Add(34, Local0), 47) - CH00(arg0, 4) - - Decrement(lpN0) - Increment(lpC0) - } - } - - CH03(ts, z095, 11, 0, 0) - - // Local Named Object - m000(ts) - - // Global Named Object - m001(ts) - - // Argument - m002(ts, Buffer(){0x62}) - - // Local - m003(ts) - - // An element of Package - m004(ts) - - - // Reference to Local Named Object - - m005(Concatenate(ts, "-m005-RefLocName"), RefOf(b000)) - - Store(RefOf(b000), Local0) - m005(Concatenate(ts, "-m005-RefLocName2"), Local0) - - CondRefOf(b000, Local0) - m005(Concatenate(ts, "-m005-CondRefLocName"), Local0) - - m005(Concatenate(ts, "-m005-RefGlobName"), RefOf(b100)) - - Store(RefOf(b100), Local0) - m005(Concatenate(ts, "-m005-RefGlobName2"), Local0) - - CondRefOf(b100, Local0) - m005(Concatenate(ts, "-m005-CondRefGlobName"), Local0) - - - // Reference to Local - - Store(Buffer(){0x62}, Local0) - - m005(Concatenate(ts, "-m005-RefLocal"), RefOf(Local0)) - - Store(RefOf(Local0), Local1) - m005(Concatenate(ts, "-m005-RefLocal2"), Local1) - - CondRefOf(Local0, Local1) - m005(Concatenate(ts, "-m005-CondRefLocal"), Local1) - - - // Reference to Arg - - m005(Concatenate(ts, "-m005-RefArg"), RefOf(arg0)) - - Store(RefOf(arg0), Local0) - m005(Concatenate(ts, "-m005-RefArg2"), Local0) - - CondRefOf(arg0, Local0) - m005(Concatenate(ts, "-m005-CondRefArg"), Local0) - - - // Index to Package - - Name(p000, Package(){Buffer(){0x62}}) - - if (y113) { - m005(Concatenate(ts, "-m005-Index"), Index(p000, 0)) - } - - Store(Index(p000, 0), Local0) - m005(Concatenate(ts, "-m005-Index2"), Local0) - - if (y113) { - m005(Concatenate(ts, "-m005-Index3"), Index(p000, 0, Local0)) - } - - Index(p000, 0, Local0) - m005(Concatenate(ts, "-m005-Index4"), Local0) - - Store(Index(p000, 0, Local0), Local1) - m005(Concatenate(ts, "-m005-Index5"), Local1) - - // Result of Method invocation - m006(ts) - - // Reference to Object as Result of Method invocation - if (y500) { - m007(ts) - } -} +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Buffer
+ *
+ * (verify exceptions caused by the imprope use of Buffer type objects)
+ */
+
+Name(z095, 95)
+
+Name(b100, Buffer(){0x61})
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+// Note: Buffer can be used with Index
+Method(m4b3, 1, Serialized)
+{
+ Name(ts, "m4b3")
+
+ Name(b000, Buffer(){0x62})
+
+ // Local Named Object
+ Method(m000, 1, Serialized)
+ {
+ Name(b000, Buffer(){0x63})
+
+ if (y083) {
+ Store (DerefOf(b000), Local1)
+ CH06(arg0, 0, 47)
+ }
+
+ Store (Index(b000, 0), Local1)
+ CH03(ts, z095, 0, 0, 0)
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ if (y083) {
+ Store (DerefOf(b100), Local1)
+ CH06(arg0, 1, 47)
+ }
+
+ Store (Index(b100, 0), Local1)
+ CH03(ts, z095, 1, 0, 0)
+ }
+
+ // Argument
+ Method(m002, 2)
+ {
+ Store (DerefOf(arg1), Local1)
+ CH06(arg0, 2, 47)
+
+ Release(arg1)
+ CH06(arg0, 3, 47)
+
+ Reset(arg1)
+ CH06(arg0, 4, 47)
+
+ Signal(arg1)
+ CH06(arg0, 5, 47)
+
+ Store(Acquire(arg1, 0), Local1)
+ CH06(arg0, 6, 47)
+
+ Store (Index(arg1, 0), Local1)
+ CH03(ts, z095, 2, 0, 0)
+
+ Store(Wait(arg1, 0), Local1)
+ CH06(arg0, 7, 47)
+
+ Store (Match(arg1, MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 8, 47)
+ }
+
+ // Local
+ Method(m003, 1)
+ {
+ Store(Buffer(){0x63}, Local0)
+
+ Store (DerefOf(Local0), Local1)
+ CH06(arg0, 9, 47)
+
+ Release(Local0)
+ CH06(arg0, 10, 47)
+
+ Reset(Local0)
+ CH06(arg0, 11, 47)
+
+ Signal(Local0)
+ CH06(arg0, 12, 47)
+
+ Store(Acquire(Local0, 0), Local1)
+ CH06(arg0, 13, 47)
+
+ Store (Index(Local0, 0), Local1)
+ CH03(ts, z095, 3, 0, 0)
+
+ Store(Wait(Local0, 0), Local1)
+ CH06(arg0, 14, 47)
+
+ Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 15, 47)
+ }
+
+ // An element of Package
+ Method(m004, 1, Serialized)
+ {
+ Name(p000, Package(){Buffer(){0x63}})
+
+ // DeRefOf(Index(Package, Ind, Dest))
+
+ Store (DerefOf(DeRefOf(Index(p000, 0, Local0))), Local1)
+ CH06(arg0, 18, 47)
+
+ Store (Index(DeRefOf(Index(p000, 0, Local0)), 0), Local1)
+ CH03(ts, z095, 5, 0, 0)
+
+ Store (Match(DeRefOf(Index(p000, 0, Local0)), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 19, 47)
+ }
+
+ // Reference to Object
+ Method(m005, 2)
+ {
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 3)) {
+ err(arg0, z095, 20, 0, 0, Local0, 3)
+ return (1)
+ }
+
+ Store (DerefOf(arg1), Local1)
+ CH03(ts, z095, 6, 0, 0)
+
+ Store (DerefOf(DerefOf(arg1)), Local1)
+ CH06(arg0, 21, 47)
+
+ Store (Index(DerefOf(arg1), 0), Local1)
+ CH03(ts, z095, 7, 0, 0)
+
+ Store (Match(DerefOf(arg1), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 22, 47)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m006, 1, Serialized)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 1)
+ {
+ Store(arg0, i000)
+ Store(Buffer(){0x63}, Local0)
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z095, 23, 0, 0, i000, arg1)
+ }
+ }
+
+ Store (DerefOf(m000(1)), Local1)
+ CH06(arg0, 24, 47)
+ CH00(arg0, 1)
+
+ Release(m000(2))
+ CH06(arg0, 25, 47)
+ if (y600) {
+ CH00(arg0, 2)
+ }
+
+ Reset(m000(3))
+ CH06(arg0, 26, 47)
+ if (y600) {
+ CH00(arg0, 3)
+ }
+
+ Signal(m000(4))
+ CH06(arg0, 27, 47)
+ if (y600) {
+ CH00(arg0, 4)
+ }
+
+ Store(Acquire(m000(5), 0), Local1)
+ CH06(arg0, 28, 47)
+ if (y600) {
+ CH00(arg0, 5)
+ }
+
+ CH03(ts, z095, 12, 0, 0)
+ Store (Index(m000(6), 0), Local1)
+ if (y900) {
+ CH03(ts, z095, 8, 0, 0)
+ CH00(arg0, 6)
+ } else {
+ CH04(ts, 0, 85, z095, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ Store(Wait(m000(7), 0), Local1)
+ CH06(arg0, 29, 47)
+ if (y600) {
+ CH00(arg0, 7)
+ }
+
+ Store (Match(m000(8), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 30, 47)
+ CH00(arg0, 8)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m007, 1, Serialized)
+ {
+ Name(b000, Buffer(){0x63})
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(b100), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(b000), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z095, 31, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ Store (DerefOf(m000(1, lpC0)), Local1)
+ CH03(ts, z095, Add(9, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+ Store (DerefOf(DerefOf(m000(2, lpC0))), Local1)
+ CH06(arg0, Add(32, Local0), 47)
+ CH00(arg0, 2)
+
+ Store (Index(DerefOf(m000(3, lpC0)), 0), Local1)
+ CH06(arg0, Add(33, Local0), 47)
+ CH00(arg0, 3)
+
+ Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, Add(34, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ CH03(ts, z095, 11, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Argument
+ m002(ts, Buffer(){0x62})
+
+ // Local
+ m003(ts)
+
+ // An element of Package
+ m004(ts)
+
+
+ // Reference to Local Named Object
+
+ m005(Concatenate(ts, "-m005-RefLocName"), RefOf(b000))
+
+ Store(RefOf(b000), Local0)
+ m005(Concatenate(ts, "-m005-RefLocName2"), Local0)
+
+ CondRefOf(b000, Local0)
+ m005(Concatenate(ts, "-m005-CondRefLocName"), Local0)
+
+ m005(Concatenate(ts, "-m005-RefGlobName"), RefOf(b100))
+
+ Store(RefOf(b100), Local0)
+ m005(Concatenate(ts, "-m005-RefGlobName2"), Local0)
+
+ CondRefOf(b100, Local0)
+ m005(Concatenate(ts, "-m005-CondRefGlobName"), Local0)
+
+
+ // Reference to Local
+
+ Store(Buffer(){0x62}, Local0)
+
+ m005(Concatenate(ts, "-m005-RefLocal"), RefOf(Local0))
+
+ Store(RefOf(Local0), Local1)
+ m005(Concatenate(ts, "-m005-RefLocal2"), Local1)
+
+ CondRefOf(Local0, Local1)
+ m005(Concatenate(ts, "-m005-CondRefLocal"), Local1)
+
+
+ // Reference to Arg
+
+ m005(Concatenate(ts, "-m005-RefArg"), RefOf(arg0))
+
+ Store(RefOf(arg0), Local0)
+ m005(Concatenate(ts, "-m005-RefArg2"), Local0)
+
+ CondRefOf(arg0, Local0)
+ m005(Concatenate(ts, "-m005-CondRefArg"), Local0)
+
+
+ // Index to Package
+
+ Name(p000, Package(){Buffer(){0x62}})
+
+ if (y113) {
+ m005(Concatenate(ts, "-m005-Index"), Index(p000, 0))
+ }
+
+ Store(Index(p000, 0), Local0)
+ m005(Concatenate(ts, "-m005-Index2"), Local0)
+
+ if (y113) {
+ m005(Concatenate(ts, "-m005-Index3"), Index(p000, 0, Local0))
+ }
+
+ Index(p000, 0, Local0)
+ m005(Concatenate(ts, "-m005-Index4"), Local0)
+
+ Store(Index(p000, 0, Local0), Local1)
+ m005(Concatenate(ts, "-m005-Index5"), Local1)
+
+ // Result of Method invocation
+ m006(ts)
+
+ // Reference to Object as Result of Method invocation
+ if (y500) {
+ m007(ts)
+ }
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_04_pckg.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_04_pckg.asl index d47e27fc7..8bdf425ae 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_04_pckg.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_04_pckg.asl @@ -1,2740 +1,2740 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * Package - * - * (verify exceptions caused by the imprope use of Package type objects) - */ - -Name(z096, 96) - -Name(p100, Package(){0x61}) - -// Expected exceptions: -// -// 47 - AE_AML_OPERAND_TYPE -// Note: Package can be used with Index -Method(m4b4, 1, Serialized) -{ - Name(ts, "m4b4") - - Name(p000, Package(){0x62}) - - Event(e000) - - Name(i000, 0) - - // Local Named Object - // ASL compiler prohibits to use Pakage - // Named Objects in the most of operators - Method(m000, 1, Serialized) - { - Name(p000, Package(){0x63}) - - // CondRefOf - - Store (CondRefOf(p000), Local1) - CH03(ts, z096, 0, 0, 0) - - CondRefOf(p000, Local1) - CH03(ts, z096, 1, 0, 0) - - // CopyObject - - CopyObject(p000, Local1) - CH03(ts, z096, 2, 0, 0) - - // Decrement - - // DerefOf - - if (y083) { - Store (DerefOf(p000), Local1) - CH06(arg0, 0, 47) - } - - // FindSetLeftBit - - // FindSetRightBit - - // FromBCD - - // Increment - - // LNot - - // Not - - // ObjectType - - Store (ObjectType(p000), Local1) - CH03(ts, z096, 3, 0, 0) - - // RefOf - - Store (RefOf(p000), Local1) - CH03(ts, z096, 4, 0, 0) - - // Release - - // Reset - - // Signal - - // SizeOf - - Store (SizeOf(p000), Local1) - CH03(ts, z096, 5, 0, 0) - - // Sleep - - // Stall - - // Store - - Store(p000, Local1) - CH03(ts, z096, 6, 0, 0) - - // ToBCD - - // ToBuffer - - // ToDecimalString - - // ToHexString - - // ToInteger - - // Acquire - - // Add - - // And - - // Concatenate - - // ConcatenateResTemplate - - // Divide - - // Fatal - - // Index - - Index(p000, 0, Local1) - CH03(ts, z096, 7, 0, 0) - - Store (Index(p000, 0), Local1) - CH03(ts, z096, 8, 0, 0) - - // LEqual - - // LGreater - - // LGreaterEqual - - // LLess - - // LLessEqual - - // LNotEqual - - // LOr - - // Mod - - // Multiply - - // NAnd - - // NOr - - // Or - - // ShiftLeft - - // ShiftRight - - // Subtract - - // ToString - - // Wait - - // XOr - - // Mid - - // Match - - Store (Match(p000, MTR, 0, MTR, 0, 0), Local1) - CH03(ts, z096, 9, 0, 0) - } - - // Global Named Object - Method(m001, 1) - { - // CondRefOf - - CondRefOf(p100, Local1) - CH03(ts, z096, 11, 0, 0) - - // CopyObject - - CopyObject(p100, Local1) - CH03(ts, z096, 12, 0, 0) - - // Decrement - - // DerefOf - - if (y083) { - Store (DerefOf(p100), Local1) - CH06(arg0, 1, 47) - } - - // FindSetLeftBit - - // FindSetRightBit - - // FromBCD - - // Increment - - // LNot - - // Not - - // ObjectType - - Store (ObjectType(p100), Local1) - CH03(ts, z096, 13, 0, 0) - - // RefOf - - Store (RefOf(p100), Local1) - CH03(ts, z096, 14, 0, 0) - - // Release - - // Reset - - // Signal - - // SizeOf - - Store (SizeOf(p100), Local1) - CH03(ts, z096, 15, 0, 0) - - // Sleep - - // Stall - - // Store - - Store(p100, Local1) - CH03(ts, z096, 16, 0, 0) - - // ToBCD - - // ToBuffer - - // ToDecimalString - - // ToHexString - - // ToInteger - - // Acquire - - // Add - - // And - - // Concatenate - - // ConcatenateResTemplate - - // Divide - - // Fatal - - // Index - - Store (Index(p100, 0), Local1) - CH03(ts, z096, 18, 0, 0) - - // LEqual - - // LGreater - - // LGreaterEqual - - // LLess - - // LLessEqual - - // LNotEqual - - // LOr - - // Mod - - // Multiply - - // NAnd - - // NOr - - // Or - - // ShiftLeft - - // ShiftRight - - // Subtract - - // ToString - - // Wait - - // XOr - - // Mid - - // Match - - Store (Match(p100, MTR, 0, MTR, 0, 0), Local1) - CH03(ts, z096, 19, 0, 0) - } - - // Argument - Method(m002, 2, Serialized) - { - Event(e000) - - // CondRefOf - - CondRefOf(arg1, Local1) - CH03(ts, z096, 21, 0, 0) - - // CopyObject - - CopyObject(arg1, Local1) - CH03(ts, z096, 22, 0, 0) - - // Decrement - - Decrement(arg1) - CH06(arg0, 2, 47) - - // DerefOf - - Store (DerefOf(arg1), Local1) - CH06(arg0, 3, 47) - - // FindSetLeftBit - - FindSetLeftBit(arg1, Local1) - CH06(arg0, 5, 47) - - // FindSetRightBit - - FindSetRightBit(arg1, Local1) - CH06(arg0, 7, 47) - - // FromBCD - - FromBCD(arg1, Local1) - CH06(arg0, 9, 47) - - // Increment - - Increment(arg1) - CH06(arg0, 10, 47) - - // LNot - - Store (LNot(arg1), Local1) - CH06(arg0, 11, 47) - - // Not - - Not(arg1, Local1) - CH06(arg0, 13, 47) - - // ObjectType - - Store (ObjectType(arg1), Local1) - CH03(ts, z096, 23, 0, 0) - - // RefOf - - Store (RefOf(arg1), Local1) - CH03(ts, z096, 24, 0, 0) - - // Release - - Release(arg1) - CH06(arg0, 14, 47) - - // Reset - - Reset(arg1) - CH06(arg0, 15, 47) - - // Signal - - Signal(arg1) - CH06(arg0, 16, 47) - - // SizeOf - - Store (SizeOf(arg1), Local1) - CH03(ts, z096, 25, 0, 0) - - // Sleep - - Sleep(arg1) - CH06(arg0, 17, 47) - - // Stall - - Stall(arg1) - CH06(arg0, 18, 47) - - // Store - - Store(arg1, Local1) - CH03(ts, z096, 26, 0, 0) - - // ToBCD - - ToBCD(arg1, Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(arg1, Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(arg1, Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(arg1, Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(arg1, Local1) - CH06(arg0, 29, 47) - - // Acquire - - Store(Acquire(arg1, 100), Local1) - CH06(arg0, 30, 47) - - // Add - - Add(arg1, i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, arg1, Local1) - CH06(arg0, 34, 47) - - // And - - And(arg1, i000, Local1) - CH06(arg0, 37, 47) - - And(i000, arg1, Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(arg1, i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, arg1, Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(arg1, ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, arg1, Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(arg1, i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, arg1, Local2) - CH06(arg0, 50, 47) - - Divide(arg1, i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, arg1, Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, arg1) - CH06(arg0, 53, 47) - - // Index - - Index(arg1, 0, Local1) - CH03(ts, z096, 28, 0, 0) - - Index("0", arg1, Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(arg1, i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, arg1), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(arg1, i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, arg1), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(arg1, i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, arg1), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(arg1, i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, arg1), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(arg1, i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, arg1), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(arg1, i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, arg1), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(arg1, i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, arg1), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(arg1, i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, arg1, Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(arg1, i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, arg1, Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(arg1, i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, arg1, Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(arg1, i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, arg1, Local1) - CH06(arg0, 87, 47) - - // Or - - Or(arg1, i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, arg1, Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(arg1, i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, arg1, Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(arg1, i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, arg1, Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(arg1, i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, arg1, Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(arg1, 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, arg1, Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(arg1, i000), Local1) - CH06(arg0, 108, 47) - - Store(Wait(e000, arg1), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(arg1, i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, arg1, Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(arg1, 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", arg1, 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, arg1, Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(arg1, MTR, 0, MTR, 0, 0), Local1) - CH03(ts, z096, 29, 0, 0) - - Store (Match(Package(){1}, MTR, arg1, MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, arg1, 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, arg1), Local1) - CH06(arg0, 123, 47) - } - - // Local - Method(m003, 1) - { - Store(Package(){0x63}, Local0) - - // CondRefOf - - CondRefOf(Local0, Local1) - CH03(ts, z096, 31, 0, 0) - - // CopyObject - - CopyObject(Local0, Local1) - CH03(ts, z096, 32, 0, 0) - - // Decrement - - Decrement(Local0) - CH06(arg0, 1, 47) - - // DerefOf - - Store (DerefOf(Local0), Local1) - CH06(arg0, 2, 47) - - // FindSetLeftBit - - FindSetLeftBit(Local0, Local1) - CH06(arg0, 4, 47) - - // FindSetRightBit - - FindSetRightBit(Local0, Local1) - CH06(arg0, 6, 47) - - // FromBCD - - FromBCD(Local0, Local1) - CH06(arg0, 8, 47) - - // Increment - - Increment(Local0) - CH06(arg0, 9, 47) - - // LNot - - Store (LNot(Local0), Local1) - CH06(arg0, 10, 47) - - // Not - - Not(Local0, Local1) - CH06(arg0, 12, 47) - - // ObjectType - - Store (ObjectType(Local0), Local1) - CH03(ts, z096, 33, 0, 0) - - // RefOf - - Store (RefOf(Local0), Local1) - CH03(ts, z096, 34, 0, 0) - - // Release - - Release(Local0) - CH06(arg0, 13, 47) - - // Reset - - Reset(Local0) - CH06(arg0, 14, 47) - - // Signal - - Signal(Local0) - CH06(arg0, 15, 47) - - // SizeOf - - Store (SizeOf(Local0), Local1) - CH03(ts, z096, 35, 0, 0) - - // Sleep - - Sleep(Local0) - CH06(arg0, 17, 47) - - // Stall - - Stall(Local0) - CH06(arg0, 18, 47) - - // Store - - Store(Local0, Local1) - CH03(ts, z096, 36, 0, 0) - - // ToBCD - - ToBCD(Local0, Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(Local0, Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(Local0, Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(Local0, Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(Local0, Local1) - CH06(arg0, 29, 47) - - // Acquire - - Store(Acquire(Local0, 100), Local1) - CH06(arg0, 30, 47) - - // Add - - Add(i000, Local0, Local1) - CH06(arg0, 34, 47) - - // And - - And(Local0, i000, Local1) - CH06(arg0, 37, 47) - - And(i000, Local0, Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(Local0, i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, Local0, Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(Local0, i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, Local0, Local2) - CH06(arg0, 50, 47) - - Divide(Local0, i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, Local0, Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, Local0) - CH06(arg0, 53, 47) - - // Index - - Index(Local0, 0, Local1) - CH03(ts, z096, 38, 0, 0) - - Index("0", Local0, Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(Local0, i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, Local0), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(Local0, i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, Local0), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(Local0, i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, Local0), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(Local0, i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, Local0), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(Local0, i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, Local0), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(Local0, i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, Local0), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(Local0, i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, Local0), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(Local0, i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, Local0, Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(Local0, i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, Local0, Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(Local0, i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, Local0, Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(Local0, i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, Local0, Local1) - CH06(arg0, 87, 47) - - // Or - - Or(Local0, i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, Local0, Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(Local0, i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, Local0, Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(Local0, i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, Local0, Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(Local0, i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, Local0, Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(Local0, 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, Local0, Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(Local0, i000), Local1) - CH06(arg0, 108, 47) - - Store(Wait(e000, Local0), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(Local0, i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, Local0, Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(Local0, 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", Local0, 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, Local0, Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1) - CH03(ts, z096, 39, 0, 0) - - Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1) - CH06(arg0, 123, 47) - } - - // An element of Package - Method(m004, 1, Serialized) - { - Name(p000, Package(){Package(){0x63}}) - - // DeRefOf(Index(Package, Ind)) - - // CondRefOf - - CondRefOf(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 1, 47) - - // CopyObject - - CopyObject(DeRefOf(Index(p000, 0)), Local1) - CH03(ts, z096, 40, 0, 0) - - // Decrement - - Decrement(DeRefOf(Index(p000, 0))) - CH06(arg0, 2, 47) - - // DerefOf - - Store (DerefOf(DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 3, 47) - - // FindSetLeftBit - - FindSetLeftBit(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 5, 47) - - // FindSetRightBit - - FindSetRightBit(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 7, 47) - - // FromBCD - - FromBCD(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 9, 47) - - // Increment - - Increment(DeRefOf(Index(p000, 0))) - CH06(arg0, 10, 47) - - // LNot - - Store (LNot(DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 11, 47) - - // Not - - Not(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 13, 47) - - // ObjectType - - Store (ObjectType(DeRefOf(Index(p000, 0))), Local1) - CH03(ts, z096, 41, 0, 0) - - // RefOf - - Store (RefOf(DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 14, 47) - - // Release - - // Reset - - // Signal - - // SizeOf - - Store (SizeOf(DeRefOf(Index(p000, 0))), Local1) - CH03(ts, z096, 42, 0, 0) - - // Sleep - - Sleep(DeRefOf(Index(p000, 0))) - CH06(arg0, 17, 47) - - // Stall - - Stall(DeRefOf(Index(p000, 0))) - CH06(arg0, 18, 47) - - // Store - - Store(DeRefOf(Index(p000, 0)), Local1) - CH03(ts, z096, 43, 0, 0) - - // ToBCD - - ToBCD(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 29, 47) - - // Acquire - - // Add - - Add(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 34, 47) - - // And - - And(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 37, 47) - - And(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(DeRefOf(Index(p000, 0)), ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(DeRefOf(Index(p000, 0)), i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, DeRefOf(Index(p000, 0)), Local2) - CH06(arg0, 50, 47) - - Divide(DeRefOf(Index(p000, 0)), i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, DeRefOf(Index(p000, 0)), Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, DeRefOf(Index(p000, 0))) - CH06(arg0, 53, 47) - - // Index - - Index(DeRefOf(Index(p000, 0)), 0, Local1) - CH03(ts, z096, 45, 0, 0) - - Index("0", DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(DeRefOf(Index(p000, 0)), i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(DeRefOf(Index(p000, 0)), i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(DeRefOf(Index(p000, 0)), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(DeRefOf(Index(p000, 0)), i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(DeRefOf(Index(p000, 0)), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(DeRefOf(Index(p000, 0)), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(DeRefOf(Index(p000, 0)), i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 87, 47) - - // Or - - Or(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(DeRefOf(Index(p000, 0)), 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(e000, DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(DeRefOf(Index(p000, 0)), i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(DeRefOf(Index(p000, 0)), 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", DeRefOf(Index(p000, 0)), 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, DeRefOf(Index(p000, 0)), Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(DeRefOf(Index(p000, 0)), MTR, 0, MTR, 0, 0), Local1) - CH03(ts, z096, 46, 0, 0) - - Store (Match(Package(){1}, MTR, DeRefOf(Index(p000, 0)), MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(Index(p000, 0)), 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(Index(p000, 0))), Local1) - CH06(arg0, 123, 47) - - - // DeRefOf(Index(Package, Ind, Dest)) - - // CondRefOf - - CondRefOf(DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 204, 47) - - // CopyObject - - CopyObject(DeRefOf(Index(p000, 0, Local0)), Local1) - CH03(ts, z096, 47, 0, 0) - - // Decrement - - Decrement(DeRefOf(Index(p000, 0, Local0))) - CH06(arg0, 1, 47) - - // DerefOf - - Store (DerefOf(DeRefOf(Index(p000, 0, Local0))), Local1) - CH06(arg0, 2, 47) - - // FindSetLeftBit - - FindSetLeftBit(DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 4, 47) - - // FindSetRightBit - - FindSetRightBit(DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 6, 47) - - // FromBCD - - FromBCD(DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 8, 47) - - // Increment - - Increment(DeRefOf(Index(p000, 0, Local0))) - CH06(arg0, 9, 47) - - // LNot - - Store (LNot(DeRefOf(Index(p000, 0, Local0))), Local1) - CH06(arg0, 10, 47) - - // Not - - Not(DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 12, 47) - - // ObjectType - - Store (ObjectType(DeRefOf(Index(p000, 0, Local0))), Local1) - CH03(ts, z096, 48, 0, 0) - - // RefOf - - Store (RefOf(DeRefOf(Index(p000, 0, Local0))), Local1) - CH06(arg0, 205, 47) - - // Release - - // Reset - - // Signal - - // SizeOf - - Store (SizeOf(DeRefOf(Index(p000, 0, Local0))), Local1) - CH03(ts, z096, 49, 0, 0) - - // Sleep - - Sleep(DeRefOf(Index(p000, 0, Local0))) - CH06(arg0, 17, 47) - - // Stall - - Stall(DeRefOf(Index(p000, 0, Local0))) - CH06(arg0, 18, 47) - - // Store - - Store(DeRefOf(Index(p000, 0, Local0)), Local1) - CH03(ts, z096, 50, 0, 0) - - // ToBCD - - ToBCD(DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 29, 47) - - // Acquire - - // Add - - Add(DeRefOf(Index(p000, 0, Local0)), i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 34, 47) - - // And - - And(DeRefOf(Index(p000, 0, Local0)), i000, Local1) - CH06(arg0, 37, 47) - - And(i000, DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(DeRefOf(Index(p000, 0, Local0)), i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(DeRefOf(Index(p000, 0, Local0)), ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(DeRefOf(Index(p000, 0, Local0)), i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, DeRefOf(Index(p000, 0, Local0)), Local2) - CH06(arg0, 50, 47) - - Divide(DeRefOf(Index(p000, 0, Local0)), i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, DeRefOf(Index(p000, 0, Local0)), Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, DeRefOf(Index(p000, 0, Local0))) - CH06(arg0, 53, 47) - - // Index - - Index(DeRefOf(Index(p000, 0, Local0)), 0, Local1) - CH03(ts, z096, 52, 0, 0) - - Index("0", DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(DeRefOf(Index(p000, 0, Local0)), i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, DeRefOf(Index(p000, 0, Local0))), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(DeRefOf(Index(p000, 0, Local0)), i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, DeRefOf(Index(p000, 0, Local0))), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(DeRefOf(Index(p000, 0, Local0)), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, DeRefOf(Index(p000, 0, Local0))), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(DeRefOf(Index(p000, 0, Local0)), i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, DeRefOf(Index(p000, 0, Local0))), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(DeRefOf(Index(p000, 0, Local0)), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, DeRefOf(Index(p000, 0, Local0))), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(DeRefOf(Index(p000, 0, Local0)), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, DeRefOf(Index(p000, 0, Local0))), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(DeRefOf(Index(p000, 0, Local0)), i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, DeRefOf(Index(p000, 0, Local0))), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(DeRefOf(Index(p000, 0, Local0)), i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(DeRefOf(Index(p000, 0, Local0)), i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(DeRefOf(Index(p000, 0, Local0)), i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(DeRefOf(Index(p000, 0, Local0)), i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 87, 47) - - // Or - - Or(DeRefOf(Index(p000, 0, Local0)), i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(DeRefOf(Index(p000, 0, Local0)), i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(DeRefOf(Index(p000, 0, Local0)), i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(DeRefOf(Index(p000, 0, Local0)), i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(DeRefOf(Index(p000, 0, Local0)), 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(e000, DeRefOf(Index(p000, 0, Local0))), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(DeRefOf(Index(p000, 0, Local0)), i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(DeRefOf(Index(p000, 0, Local0)), 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", DeRefOf(Index(p000, 0, Local0)), 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, DeRefOf(Index(p000, 0, Local0)), Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(DeRefOf(Index(p000, 0, Local0)), MTR, 0, MTR, 0, 0), Local1) - CH03(ts, z096, 53, 0, 0) - - Store (Match(Package(){1}, MTR, DeRefOf(Index(p000, 0, Local0)), MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(Index(p000, 0, Local0)), 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(Index(p000, 0, Local0))), Local1) - CH06(arg0, 123, 47) - } - - // Reference to Object - Method(m005, 2) - { - Store(arg0, Debug) - Store(arg1, Debug) - - Store(ObjectType(arg1), Local0) - if (LNotEqual(Local0, 4)) { - err(arg0, z096, 0, 0, 0, Local0, 4) - return (1) - } - - Store (DerefOf(arg1), Local1) - CH03(ts, z096, 54, 0, 0) - - // CondRefOf - - Store (CondRefOf(DerefOf(arg1)), Local1) - CH06(arg0, 1, 47) - - Store (CondRefOf(DerefOf(arg1), Local1), Local1) - CH06(arg0, 2, 47) - - // CopyObject - - CopyObject(DerefOf(arg1), Local1) - CH03(ts, z096, 55, 0, 0) - - // Decrement - - Decrement(DerefOf(arg1)) - CH06(arg0, 3, 47) - - // DerefOf - - Store (DerefOf(DerefOf(arg1)), Local1) - CH06(arg0, 4, 47) - - // FindSetLeftBit - - FindSetLeftBit(DerefOf(arg1), Local1) - CH06(arg0, 6, 47) - - // FindSetRightBit - - FindSetRightBit(DerefOf(arg1), Local1) - CH06(arg0, 8, 47) - - // FromBCD - - FromBCD(DerefOf(arg1), Local1) - CH06(arg0, 10, 47) - - // Increment - - Increment(DerefOf(arg1)) - CH06(arg0, 11, 47) - - // LNot - - Store (LNot(DerefOf(arg1)), Local1) - CH06(arg0, 12, 47) - - // Not - - Not(DerefOf(arg1), Local1) - CH06(arg0, 14, 47) - - // ObjectType - - Store (ObjectType(DerefOf(arg1)), Local1) - CH03(ts, z096, 56, 0, 0) - - // RefOf - - Store (RefOf(DerefOf(arg1)), Local1) - CH06(arg0, 15, 47) - - // Release - - // Reset - - // Signal - - // SizeOf - - Store (SizeOf(DerefOf(arg1)), Local1) - CH03(ts, z096, 57, 0, 0) - - // Sleep - - Sleep(DerefOf(arg1)) - CH06(arg0, 17, 47) - - // Stall - - Stall(DerefOf(arg1)) - CH06(arg0, 18, 47) - - // Store - - Store(DerefOf(arg1), Local1) - CH03(ts, z096, 58, 0, 0) - - // ToBCD - - ToBCD(DerefOf(arg1), Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(DerefOf(arg1), Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(DerefOf(arg1), Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(DerefOf(arg1), Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(DerefOf(arg1), Local1) - CH06(arg0, 29, 47) - - // Acquire - - // Add - - Add(DerefOf(arg1), i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, DerefOf(arg1), Local1) - CH06(arg0, 34, 47) - - // And - - And(DerefOf(arg1), i000, Local1) - CH06(arg0, 37, 47) - - And(i000, DerefOf(arg1), Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(DerefOf(arg1), i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, DerefOf(arg1), Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(DerefOf(arg1), ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, DerefOf(arg1), Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(DerefOf(arg1), i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, DerefOf(arg1), Local2) - CH06(arg0, 50, 47) - - Divide(DerefOf(arg1), i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, DerefOf(arg1), Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, DerefOf(arg1)) - CH06(arg0, 53, 47) - - // Index - - Index(DerefOf(arg1), 0, Local1) - CH03(ts, z096, 60, 0, 0) - - Index("0", DerefOf(arg1), Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(DerefOf(arg1), i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, DerefOf(arg1)), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(DerefOf(arg1), i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, DerefOf(arg1)), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(DerefOf(arg1), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, DerefOf(arg1)), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(DerefOf(arg1), i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, DerefOf(arg1)), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(DerefOf(arg1), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, DerefOf(arg1)), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(DerefOf(arg1), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, DerefOf(arg1)), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(DerefOf(arg1), i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, DerefOf(arg1)), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(DerefOf(arg1), i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, DerefOf(arg1), Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(DerefOf(arg1), i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, DerefOf(arg1), Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(DerefOf(arg1), i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, DerefOf(arg1), Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(DerefOf(arg1), i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, DerefOf(arg1), Local1) - CH06(arg0, 87, 47) - - // Or - - Or(DerefOf(arg1), i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, DerefOf(arg1), Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(DerefOf(arg1), i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, DerefOf(arg1), Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(DerefOf(arg1), i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, DerefOf(arg1), Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(DerefOf(arg1), i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, DerefOf(arg1), Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(DerefOf(arg1), 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, DerefOf(arg1), Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(e000, DerefOf(arg1)), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(DerefOf(arg1), i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, DerefOf(arg1), Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(DerefOf(arg1), 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", DerefOf(arg1), 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, DerefOf(arg1), Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(DerefOf(arg1), MTR, 0, MTR, 0, 0), Local1) - CH03(ts, z096, 61, 0, 0) - - Store (Match(Package(){1}, MTR, DerefOf(arg1), MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, DerefOf(arg1), 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, DerefOf(arg1)), Local1) - CH06(arg0, 123, 47) - - return (0) - } - - // Result of Method invocation - Method(m006, 1, Serialized) - { - Method(m000) - { - // intermediate storing to force ASL compiler - // not report "Invalid type (Method returns)" - Store(Package(){0x63}, Local0) - Return (Local0) - } - - Name(ss00, "0") - - // CondRefOf - - if (y601) { - Store (CondRefOf(m000()), Local1) - CH06(arg0, 0, 47) - - CondRefOf(m000(), Local1) - CH06(arg0, 1, 47) - } - - // CopyObject - - CopyObject(m000(), Local1) - CH03(ts, z096, 62, 0, 0) - - // Decrement - - Decrement(m000()) - CH06(arg0, 2, 47) - - // DerefOf - - Store (DerefOf(m000()), Local1) - CH06(arg0, 3, 47) - - // FindSetLeftBit - - FindSetLeftBit(m000(), Local1) - CH06(arg0, 5, 47) - - // FindSetRightBit - - FindSetRightBit(m000(), Local1) - CH06(arg0, 7, 47) - - // FromBCD - - FromBCD(m000(), Local1) - CH06(arg0, 9, 47) - - // Increment - - Increment(m000()) - CH06(arg0, 10, 47) - - // LNot - - Store (LNot(m000()), Local1) - CH06(arg0, 11, 47) - - // Not - - Not(m000(), Local1) - CH06(arg0, 13, 47) - - // ObjectType - /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ -// -// ObjectType(m000()) -// CH03(ts, z096, 63, 0, 0) - - // RefOf - - if (y601) { - Store (RefOf(m000()), Local1) - CH06(arg0, 14, 47) - } - - // Release - - Release(m000()) - CH06(arg0, 13, 47) - - // Reset - - Reset(m000()) - CH06(arg0, 14, 47) - - // Signal - - Signal(m000()) - CH06(arg0, 15, 47) - - // SizeOf - - Store (SizeOf(m000()), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(m000()) - CH06(arg0, 17, 47) - - // Stall - - Stall(m000()) - CH06(arg0, 18, 47) - - // Store - - // ToBCD - - ToBCD(m000(), Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(m000(), Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(m000(), Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(m000(), Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(m000(), Local1) - CH06(arg0, 29, 47) - - // Acquire - - Store(Acquire(m000(), 100), Local1) - CH06(arg0, 30, 47) - - // Add - - Add(m000(), i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, m000(), Local1) - CH06(arg0, 34, 47) - - // And - - And(m000(), i000, Local1) - CH06(arg0, 37, 47) - - And(i000, m000(), Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(m000(), i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, m000(), Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(m000(), i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, m000(), Local2) - CH06(arg0, 50, 47) - - Divide(m000(), i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, m000(), Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, m000()) - CH06(arg0, 53, 47) - - // Index - - if (y900) { - Index(m000(), 0, Local1) - CH03(ts, z096, 65, 0, 0) - - Index("0", m000(), Local1) - CH06(arg0, 57, 47) - } else { - CH03(ts, z096, 0x123, 0, 0) - CH03(ts, z096, 0x127, 0, 0) - Index(m000(), 0, Local1) - CH04(ts, 0, 85, z094, 0x128, 0, 0) // AE_INDEX_TO_NOT_ATTACHED - - CH03(ts, z096, 0x129, 0, 0) - Index("0", m000(), Local1) - CH04(ts, 0, 0xff, z094, 0x12a, 0, 0) // AE_INDEX_TO_NOT_ATTACHED - - CH03(ts, z096, 0x129, 0, 0) - Index(ss00, m000(), Local1) - CH04(ts, 0, 47, z094, 0x12a, 0, 0) // AE_INDEX_TO_NOT_ATTACHED - } - - // LEqual - - Store (LEqual(m000(), i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, m000()), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(m000(), i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, m000()), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(m000(), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, m000()), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(m000(), i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, m000()), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(m000(), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, m000()), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(m000(), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, m000()), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(m000(), i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, m000()), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(m000(), i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, m000(), Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(m000(), i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, m000(), Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(m000(), i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, m000(), Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(m000(), i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, m000(), Local1) - CH06(arg0, 87, 47) - - // Or - - Or(m000(), i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, m000(), Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(m000(), i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, m000(), Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(m000(), i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, m000(), Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(m000(), i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, m000(), Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(m000(), 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, m000(), Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(m000(), i000), Local1) - CH06(arg0, 108, 47) - - Store(Wait(e000, m000()), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(m000(), i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, m000(), Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(m000(), 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", m000(), 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, m000(), Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1) - CH03(ts, z096, 66, 0, 0) - - Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1) - CH06(arg0, 123, 47) - } - - // Reference to Object as Result of Method invocation - Method(m007, 1, Serialized) - { - Name(p000, Package(){0x63}) - - Name(i000, 0) // Label to check m000 invocations - - Method(m000, 2) - { - Store(arg0, i000) - if (LEqual(arg1, 0)) { - Store(Refof(p100), Local0) - } elseif (LEqual(arg1, 1)) { - Store(Refof(p000), Local0) - } - Return (Local0) - } - - Method(CH00, 2) - { - if (LNotEqual(i000, arg1)) { - err(arg0, z096, 0, 0, 0, i000, arg1) - } - } - - Name(lpN0, 2) - Name(lpC0, 0) - - While (lpN0) { - Multiply(3, lpC0, Local0) - - Store(0, i000) - - Store (DerefOf(m000(1, lpC0)), Local1) - CH03(ts, z096, Add(67, lpC0), 0, 0) - CH00(arg0, 1) - - Store (DerefOf(DerefOf(m000(2, lpC0))), Local1) - CH06(arg0, Add(1, Local0), 47) - CH00(arg0, 2) - - Store (Index(DerefOf(m000(3, lpC0)), 0), Local1) - CH06(arg0, Add(2, Local0), 47) - CH00(arg0, 3) - - Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, Add(3, Local0), 47) - CH00(arg0, 4) - - Decrement(lpN0) - Increment(lpC0) - } - } - - // Result of Method with checking of invocation - Method(m008, 1, Serialized) - { - Name(i000, 0) // Label to check m000 invocations - - Method(m000, 1) - { - Store(arg0, i000) - Store(Package(){0x63}, Local0) - Return (Local0) - } - - Method(CH00, 2) - { - if (LNotEqual(i000, arg1)) { - err(arg0, z096, 0, 0, 0, i000, arg1) - } - } - - // CondRefOf - - if (y601) { - Store (CondRefOf(m000(1)), Local1) - CH06(arg0, 1, 47) - CH00(arg0, 1) - } - - Store (CondRefOf(m000(2)), Local1) - CH06(arg0, 2, 47) - if (y600) { - CH00(arg0, 2) - } - - // DerefOf - - Store (DerefOf(m000(3)), Local1) - CH06(arg0, 3, 47) - CH00(arg0, 3) - - // RefOf - - if (y601) { - Store (RefOf(m000(4)), Local1) - CH06(arg0, 4, 47) - CH00(arg0, 4) - } - - // Release - - Release(m000(5)) - CH06(arg0, 5, 47) - if (y600) { - CH00(arg0, 5) - } - - // Reset - - Reset(m000(6)) - CH06(arg0, 6, 47) - if (y600) { - CH00(arg0, 6) - } - - // Signal - - Signal(m000(7)) - CH06(arg0, 7, 47) - if (y600) { - CH00(arg0, 7) - } - - // Acquire - - Store(Acquire(m000(8), 0), Local1) - CH06(arg0, 8, 47) - if (y600) { - CH00(arg0, 8) - } - - // Index - - CH03(ts, z094, 0x123, 0, 0) - Store (Index(m000(9), 0), Local1) - if (y900) { - CH03(ts, z096, 69, 0, 0) - CH00(arg0, 9) - } else { - CH04(ts, 0, 85, z094, 0x124, 0, 0) // AE_INDEX_TO_NOT_ATTACHED - } - - // Wait - - Store(Wait(m000(10), 0), Local1) - CH06(arg0, 9, 47) - if (y600) { - CH00(arg0, 10) - } - - // Match - - Store (Match(m000(11), MTR, 0, MTR, 0, 0), Local1) - CH03(ts, z096, 70, 0, 0) - CH00(arg0, 11) - } - - SET0(z096, ts, 0) - - CH03(ts, z096, 70, 0, 0) - - // Local Named Object - m000(ts) - - // Global Named Object - m001(ts) - - // Argument - m002(ts, Package(){0x62}) - - // Local - m003(Concatenate(ts, "-m003")) - - // An element of Package - m004(Concatenate(ts, "-m004")) - - - // Reference to Local Named Object - - m005(Concatenate(ts, "-m005-RefLocName"), RefOf(p000)) - - Store(RefOf(p000), Local0) - m005(Concatenate(ts, "-m005-RefLocName2"), Local0) - - CondRefOf(p000, Local0) - m005(Concatenate(ts, "-m005-CondRefLocName"), Local0) - - m005(Concatenate(ts, "-m005-RefGlobName"), RefOf(p100)) - - Store(RefOf(p100), Local0) - m005(Concatenate(ts, "-m005-RefGlobName2"), Local0) - - CondRefOf(p100, Local0) - m005(Concatenate(ts, "-m005-CondRefGlobName"), Local0) - - - // Reference to Local - - Store(Package(){0x62}, Local0) - - m005(Concatenate(ts, "-m005-RefLocal"), RefOf(Local0)) - - Store(RefOf(Local0), Local1) - m005(Concatenate(ts, "-m005-RefLocal2"), Local1) - - CondRefOf(Local0, Local1) - m005(Concatenate(ts, "-m005-CondRefLocal"), Local1) - - - // Reference to Arg - - m005(Concatenate(ts, "-m005-RefArg"), RefOf(arg0)) - - Store(RefOf(arg0), Local0) - m005(Concatenate(ts, "-m005-RefArg2"), Local0) - - CondRefOf(arg0, Local0) - m005(Concatenate(ts, "-m005-CondRefArg"), Local0) - - - // Index to Package - - Name(pp00, Package(){Package(){0x62}}) - - if (y113) { - m005(Concatenate(ts, "-m005-Index"), Index(pp00, 0)) - } - - Store(Index(pp00, 0), Local0) - m005(Concatenate(ts, "-m005-Index2"), Local0) - - if (y113) { - m005(Concatenate(ts, "-m005-Index3"), Index(pp00, 0, Local0)) - } - - Index(pp00, 0, Local0) - m005(Concatenate(ts, "-m005-Index4"), Local0) - - Store(Index(pp00, 0, Local0), Local1) - m005(Concatenate(ts, "-m005-Index5"), Local1) - - // Result of Method invocation - m006(Concatenate(ts, "-m006")) - - // Reference to Object as Result of Method invocation - if (y500) { - m007(Concatenate(ts, "-m007")) - } - - // Result of Method with checking of invocation - m008(Concatenate(ts, "-m008")) - - RST0() -} +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Package
+ *
+ * (verify exceptions caused by the imprope use of Package type objects)
+ */
+
+Name(z096, 96)
+
+Name(p100, Package(){0x61})
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+// Note: Package can be used with Index
+Method(m4b4, 1, Serialized)
+{
+ Name(ts, "m4b4")
+
+ Name(p000, Package(){0x62})
+
+ Event(e000)
+
+ Name(i000, 0)
+
+ // Local Named Object
+ // ASL compiler prohibits to use Pakage
+ // Named Objects in the most of operators
+ Method(m000, 1, Serialized)
+ {
+ Name(p000, Package(){0x63})
+
+ // CondRefOf
+
+ Store (CondRefOf(p000), Local1)
+ CH03(ts, z096, 0, 0, 0)
+
+ CondRefOf(p000, Local1)
+ CH03(ts, z096, 1, 0, 0)
+
+ // CopyObject
+
+ CopyObject(p000, Local1)
+ CH03(ts, z096, 2, 0, 0)
+
+ // Decrement
+
+ // DerefOf
+
+ if (y083) {
+ Store (DerefOf(p000), Local1)
+ CH06(arg0, 0, 47)
+ }
+
+ // FindSetLeftBit
+
+ // FindSetRightBit
+
+ // FromBCD
+
+ // Increment
+
+ // LNot
+
+ // Not
+
+ // ObjectType
+
+ Store (ObjectType(p000), Local1)
+ CH03(ts, z096, 3, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(p000), Local1)
+ CH03(ts, z096, 4, 0, 0)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ Store (SizeOf(p000), Local1)
+ CH03(ts, z096, 5, 0, 0)
+
+ // Sleep
+
+ // Stall
+
+ // Store
+
+ Store(p000, Local1)
+ CH03(ts, z096, 6, 0, 0)
+
+ // ToBCD
+
+ // ToBuffer
+
+ // ToDecimalString
+
+ // ToHexString
+
+ // ToInteger
+
+ // Acquire
+
+ // Add
+
+ // And
+
+ // Concatenate
+
+ // ConcatenateResTemplate
+
+ // Divide
+
+ // Fatal
+
+ // Index
+
+ Index(p000, 0, Local1)
+ CH03(ts, z096, 7, 0, 0)
+
+ Store (Index(p000, 0), Local1)
+ CH03(ts, z096, 8, 0, 0)
+
+ // LEqual
+
+ // LGreater
+
+ // LGreaterEqual
+
+ // LLess
+
+ // LLessEqual
+
+ // LNotEqual
+
+ // LOr
+
+ // Mod
+
+ // Multiply
+
+ // NAnd
+
+ // NOr
+
+ // Or
+
+ // ShiftLeft
+
+ // ShiftRight
+
+ // Subtract
+
+ // ToString
+
+ // Wait
+
+ // XOr
+
+ // Mid
+
+ // Match
+
+ Store (Match(p000, MTR, 0, MTR, 0, 0), Local1)
+ CH03(ts, z096, 9, 0, 0)
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ // CondRefOf
+
+ CondRefOf(p100, Local1)
+ CH03(ts, z096, 11, 0, 0)
+
+ // CopyObject
+
+ CopyObject(p100, Local1)
+ CH03(ts, z096, 12, 0, 0)
+
+ // Decrement
+
+ // DerefOf
+
+ if (y083) {
+ Store (DerefOf(p100), Local1)
+ CH06(arg0, 1, 47)
+ }
+
+ // FindSetLeftBit
+
+ // FindSetRightBit
+
+ // FromBCD
+
+ // Increment
+
+ // LNot
+
+ // Not
+
+ // ObjectType
+
+ Store (ObjectType(p100), Local1)
+ CH03(ts, z096, 13, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(p100), Local1)
+ CH03(ts, z096, 14, 0, 0)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ Store (SizeOf(p100), Local1)
+ CH03(ts, z096, 15, 0, 0)
+
+ // Sleep
+
+ // Stall
+
+ // Store
+
+ Store(p100, Local1)
+ CH03(ts, z096, 16, 0, 0)
+
+ // ToBCD
+
+ // ToBuffer
+
+ // ToDecimalString
+
+ // ToHexString
+
+ // ToInteger
+
+ // Acquire
+
+ // Add
+
+ // And
+
+ // Concatenate
+
+ // ConcatenateResTemplate
+
+ // Divide
+
+ // Fatal
+
+ // Index
+
+ Store (Index(p100, 0), Local1)
+ CH03(ts, z096, 18, 0, 0)
+
+ // LEqual
+
+ // LGreater
+
+ // LGreaterEqual
+
+ // LLess
+
+ // LLessEqual
+
+ // LNotEqual
+
+ // LOr
+
+ // Mod
+
+ // Multiply
+
+ // NAnd
+
+ // NOr
+
+ // Or
+
+ // ShiftLeft
+
+ // ShiftRight
+
+ // Subtract
+
+ // ToString
+
+ // Wait
+
+ // XOr
+
+ // Mid
+
+ // Match
+
+ Store (Match(p100, MTR, 0, MTR, 0, 0), Local1)
+ CH03(ts, z096, 19, 0, 0)
+ }
+
+ // Argument
+ Method(m002, 2, Serialized)
+ {
+ Event(e000)
+
+ // CondRefOf
+
+ CondRefOf(arg1, Local1)
+ CH03(ts, z096, 21, 0, 0)
+
+ // CopyObject
+
+ CopyObject(arg1, Local1)
+ CH03(ts, z096, 22, 0, 0)
+
+ // Decrement
+
+ Decrement(arg1)
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ Store (DerefOf(arg1), Local1)
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(arg1, Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(arg1, Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(arg1, Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(arg1)
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ Store (LNot(arg1), Local1)
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(arg1, Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+
+ Store (ObjectType(arg1), Local1)
+ CH03(ts, z096, 23, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(arg1), Local1)
+ CH03(ts, z096, 24, 0, 0)
+
+ // Release
+
+ Release(arg1)
+ CH06(arg0, 14, 47)
+
+ // Reset
+
+ Reset(arg1)
+ CH06(arg0, 15, 47)
+
+ // Signal
+
+ Signal(arg1)
+ CH06(arg0, 16, 47)
+
+ // SizeOf
+
+ Store (SizeOf(arg1), Local1)
+ CH03(ts, z096, 25, 0, 0)
+
+ // Sleep
+
+ Sleep(arg1)
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(arg1)
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(arg1, Local1)
+ CH03(ts, z096, 26, 0, 0)
+
+ // ToBCD
+
+ ToBCD(arg1, Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(arg1, Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(arg1, Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(arg1, Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(arg1, Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Store(Acquire(arg1, 100), Local1)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(arg1, i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, arg1, Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(arg1, i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, arg1, Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(arg1, i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, arg1, Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(arg1, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, arg1, Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(arg1, i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, arg1, Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(arg1, i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, arg1, Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, arg1)
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(arg1, 0, Local1)
+ CH03(ts, z096, 28, 0, 0)
+
+ Index("0", arg1, Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(arg1, i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, arg1), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(arg1, i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, arg1), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(arg1, i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, arg1), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(arg1, i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, arg1), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(arg1, i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, arg1), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(arg1, i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, arg1), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(arg1, i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, arg1), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(arg1, i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, arg1, Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(arg1, i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, arg1, Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(arg1, i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, arg1, Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(arg1, i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, arg1, Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(arg1, i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, arg1, Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(arg1, i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, arg1, Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(arg1, i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, arg1, Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(arg1, i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, arg1, Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(arg1, 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, arg1, Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(arg1, i000), Local1)
+ CH06(arg0, 108, 47)
+
+ Store(Wait(e000, arg1), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(arg1, i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, arg1, Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(arg1, 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", arg1, 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, arg1, Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(arg1, MTR, 0, MTR, 0, 0), Local1)
+ CH03(ts, z096, 29, 0, 0)
+
+ Store (Match(Package(){1}, MTR, arg1, MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, arg1, 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, arg1), Local1)
+ CH06(arg0, 123, 47)
+ }
+
+ // Local
+ Method(m003, 1)
+ {
+ Store(Package(){0x63}, Local0)
+
+ // CondRefOf
+
+ CondRefOf(Local0, Local1)
+ CH03(ts, z096, 31, 0, 0)
+
+ // CopyObject
+
+ CopyObject(Local0, Local1)
+ CH03(ts, z096, 32, 0, 0)
+
+ // Decrement
+
+ Decrement(Local0)
+ CH06(arg0, 1, 47)
+
+ // DerefOf
+
+ Store (DerefOf(Local0), Local1)
+ CH06(arg0, 2, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(Local0, Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(Local0, Local1)
+ CH06(arg0, 6, 47)
+
+ // FromBCD
+
+ FromBCD(Local0, Local1)
+ CH06(arg0, 8, 47)
+
+ // Increment
+
+ Increment(Local0)
+ CH06(arg0, 9, 47)
+
+ // LNot
+
+ Store (LNot(Local0), Local1)
+ CH06(arg0, 10, 47)
+
+ // Not
+
+ Not(Local0, Local1)
+ CH06(arg0, 12, 47)
+
+ // ObjectType
+
+ Store (ObjectType(Local0), Local1)
+ CH03(ts, z096, 33, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(Local0), Local1)
+ CH03(ts, z096, 34, 0, 0)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ Store (SizeOf(Local0), Local1)
+ CH03(ts, z096, 35, 0, 0)
+
+ // Sleep
+
+ Sleep(Local0)
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(Local0)
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(Local0, Local1)
+ CH03(ts, z096, 36, 0, 0)
+
+ // ToBCD
+
+ ToBCD(Local0, Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(Local0, Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(Local0, Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(Local0, Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(Local0, Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Store(Acquire(Local0, 100), Local1)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(i000, Local0, Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(Local0, i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, Local0, Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(Local0, i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, Local0, Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(Local0, i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, Local0, Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(Local0, i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, Local0, Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, Local0)
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(Local0, 0, Local1)
+ CH03(ts, z096, 38, 0, 0)
+
+ Index("0", Local0, Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(Local0, i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, Local0), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(Local0, i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, Local0), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(Local0, i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, Local0), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(Local0, i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, Local0), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(Local0, i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, Local0), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(Local0, i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, Local0), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(Local0, i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, Local0), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(Local0, i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, Local0, Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(Local0, i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, Local0, Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(Local0, i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, Local0, Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(Local0, i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, Local0, Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(Local0, i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, Local0, Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(Local0, i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, Local0, Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(Local0, i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, Local0, Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(Local0, i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, Local0, Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(Local0, 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, Local0, Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(Local0, i000), Local1)
+ CH06(arg0, 108, 47)
+
+ Store(Wait(e000, Local0), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(Local0, i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, Local0, Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(Local0, 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", Local0, 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, Local0, Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1)
+ CH03(ts, z096, 39, 0, 0)
+
+ Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1)
+ CH06(arg0, 123, 47)
+ }
+
+ // An element of Package
+ Method(m004, 1, Serialized)
+ {
+ Name(p000, Package(){Package(){0x63}})
+
+ // DeRefOf(Index(Package, Ind))
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 1, 47)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(Index(p000, 0)), Local1)
+ CH03(ts, z096, 40, 0, 0)
+
+ // Decrement
+
+ Decrement(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ Store (DerefOf(DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ Store (LNot(DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+
+ Store (ObjectType(DeRefOf(Index(p000, 0))), Local1)
+ CH03(ts, z096, 41, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 14, 47)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ Store (SizeOf(DeRefOf(Index(p000, 0))), Local1)
+ CH03(ts, z096, 42, 0, 0)
+
+ // Sleep
+
+ Sleep(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(DeRefOf(Index(p000, 0)))
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(DeRefOf(Index(p000, 0)), Local1)
+ CH03(ts, z096, 43, 0, 0)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(Index(p000, 0)), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(DeRefOf(Index(p000, 0)), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, DeRefOf(Index(p000, 0)), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(DeRefOf(Index(p000, 0)), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, DeRefOf(Index(p000, 0)), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(Index(p000, 0)))
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(DeRefOf(Index(p000, 0)), 0, Local1)
+ CH03(ts, z096, 45, 0, 0)
+
+ Index("0", DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(DeRefOf(Index(p000, 0)), i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(DeRefOf(Index(p000, 0)), i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(DeRefOf(Index(p000, 0)), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(DeRefOf(Index(p000, 0)), i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(DeRefOf(Index(p000, 0)), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(DeRefOf(Index(p000, 0)), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(DeRefOf(Index(p000, 0)), i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(DeRefOf(Index(p000, 0)), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(e000, DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(DeRefOf(Index(p000, 0)), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(DeRefOf(Index(p000, 0)), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", DeRefOf(Index(p000, 0)), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, DeRefOf(Index(p000, 0)), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(DeRefOf(Index(p000, 0)), MTR, 0, MTR, 0, 0), Local1)
+ CH03(ts, z096, 46, 0, 0)
+
+ Store (Match(Package(){1}, MTR, DeRefOf(Index(p000, 0)), MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(Index(p000, 0)), 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(Index(p000, 0))), Local1)
+ CH06(arg0, 123, 47)
+
+
+ // DeRefOf(Index(Package, Ind, Dest))
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 204, 47)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH03(ts, z096, 47, 0, 0)
+
+ // Decrement
+
+ Decrement(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 1, 47)
+
+ // DerefOf
+
+ Store (DerefOf(DeRefOf(Index(p000, 0, Local0))), Local1)
+ CH06(arg0, 2, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 6, 47)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 8, 47)
+
+ // Increment
+
+ Increment(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 9, 47)
+
+ // LNot
+
+ Store (LNot(DeRefOf(Index(p000, 0, Local0))), Local1)
+ CH06(arg0, 10, 47)
+
+ // Not
+
+ Not(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 12, 47)
+
+ // ObjectType
+
+ Store (ObjectType(DeRefOf(Index(p000, 0, Local0))), Local1)
+ CH03(ts, z096, 48, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(DeRefOf(Index(p000, 0, Local0))), Local1)
+ CH06(arg0, 205, 47)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ Store (SizeOf(DeRefOf(Index(p000, 0, Local0))), Local1)
+ CH03(ts, z096, 49, 0, 0)
+
+ // Sleep
+
+ Sleep(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH03(ts, z096, 50, 0, 0)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(Index(p000, 0, Local0)), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(DeRefOf(Index(p000, 0, Local0)), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, DeRefOf(Index(p000, 0, Local0)), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(DeRefOf(Index(p000, 0, Local0)), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, DeRefOf(Index(p000, 0, Local0)), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(Index(p000, 0, Local0)))
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(DeRefOf(Index(p000, 0, Local0)), 0, Local1)
+ CH03(ts, z096, 52, 0, 0)
+
+ Index("0", DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(DeRefOf(Index(p000, 0, Local0)), i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, DeRefOf(Index(p000, 0, Local0))), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(DeRefOf(Index(p000, 0, Local0)), i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, DeRefOf(Index(p000, 0, Local0))), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(DeRefOf(Index(p000, 0, Local0)), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, DeRefOf(Index(p000, 0, Local0))), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(DeRefOf(Index(p000, 0, Local0)), i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, DeRefOf(Index(p000, 0, Local0))), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(DeRefOf(Index(p000, 0, Local0)), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, DeRefOf(Index(p000, 0, Local0))), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(DeRefOf(Index(p000, 0, Local0)), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, DeRefOf(Index(p000, 0, Local0))), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(DeRefOf(Index(p000, 0, Local0)), i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, DeRefOf(Index(p000, 0, Local0))), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(DeRefOf(Index(p000, 0, Local0)), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(e000, DeRefOf(Index(p000, 0, Local0))), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(DeRefOf(Index(p000, 0, Local0)), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(DeRefOf(Index(p000, 0, Local0)), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", DeRefOf(Index(p000, 0, Local0)), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, DeRefOf(Index(p000, 0, Local0)), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(DeRefOf(Index(p000, 0, Local0)), MTR, 0, MTR, 0, 0), Local1)
+ CH03(ts, z096, 53, 0, 0)
+
+ Store (Match(Package(){1}, MTR, DeRefOf(Index(p000, 0, Local0)), MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(Index(p000, 0, Local0)), 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(Index(p000, 0, Local0))), Local1)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object
+ Method(m005, 2)
+ {
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 4)) {
+ err(arg0, z096, 0, 0, 0, Local0, 4)
+ return (1)
+ }
+
+ Store (DerefOf(arg1), Local1)
+ CH03(ts, z096, 54, 0, 0)
+
+ // CondRefOf
+
+ Store (CondRefOf(DerefOf(arg1)), Local1)
+ CH06(arg0, 1, 47)
+
+ Store (CondRefOf(DerefOf(arg1), Local1), Local1)
+ CH06(arg0, 2, 47)
+
+ // CopyObject
+
+ CopyObject(DerefOf(arg1), Local1)
+ CH03(ts, z096, 55, 0, 0)
+
+ // Decrement
+
+ Decrement(DerefOf(arg1))
+ CH06(arg0, 3, 47)
+
+ // DerefOf
+
+ Store (DerefOf(DerefOf(arg1)), Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DerefOf(arg1), Local1)
+ CH06(arg0, 6, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DerefOf(arg1), Local1)
+ CH06(arg0, 8, 47)
+
+ // FromBCD
+
+ FromBCD(DerefOf(arg1), Local1)
+ CH06(arg0, 10, 47)
+
+ // Increment
+
+ Increment(DerefOf(arg1))
+ CH06(arg0, 11, 47)
+
+ // LNot
+
+ Store (LNot(DerefOf(arg1)), Local1)
+ CH06(arg0, 12, 47)
+
+ // Not
+
+ Not(DerefOf(arg1), Local1)
+ CH06(arg0, 14, 47)
+
+ // ObjectType
+
+ Store (ObjectType(DerefOf(arg1)), Local1)
+ CH03(ts, z096, 56, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(DerefOf(arg1)), Local1)
+ CH06(arg0, 15, 47)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ Store (SizeOf(DerefOf(arg1)), Local1)
+ CH03(ts, z096, 57, 0, 0)
+
+ // Sleep
+
+ Sleep(DerefOf(arg1))
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(DerefOf(arg1))
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(DerefOf(arg1), Local1)
+ CH03(ts, z096, 58, 0, 0)
+
+ // ToBCD
+
+ ToBCD(DerefOf(arg1), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(DerefOf(arg1), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(DerefOf(arg1), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(DerefOf(arg1), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(DerefOf(arg1), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ // Add
+
+ Add(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DerefOf(arg1), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DerefOf(arg1), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(DerefOf(arg1), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, DerefOf(arg1), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(DerefOf(arg1), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, DerefOf(arg1), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DerefOf(arg1))
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(DerefOf(arg1), 0, Local1)
+ CH03(ts, z096, 60, 0, 0)
+
+ Index("0", DerefOf(arg1), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(DerefOf(arg1), i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, DerefOf(arg1)), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(DerefOf(arg1), i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, DerefOf(arg1)), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(DerefOf(arg1), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, DerefOf(arg1)), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(DerefOf(arg1), i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, DerefOf(arg1)), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(DerefOf(arg1), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, DerefOf(arg1)), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(DerefOf(arg1), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, DerefOf(arg1)), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(DerefOf(arg1), i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, DerefOf(arg1)), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(DerefOf(arg1), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(e000, DerefOf(arg1)), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(DerefOf(arg1), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, DerefOf(arg1), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(DerefOf(arg1), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", DerefOf(arg1), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, DerefOf(arg1), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(DerefOf(arg1), MTR, 0, MTR, 0, 0), Local1)
+ CH03(ts, z096, 61, 0, 0)
+
+ Store (Match(Package(){1}, MTR, DerefOf(arg1), MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, DerefOf(arg1), 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, DerefOf(arg1)), Local1)
+ CH06(arg0, 123, 47)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m006, 1, Serialized)
+ {
+ Method(m000)
+ {
+ // intermediate storing to force ASL compiler
+ // not report "Invalid type (Method returns)"
+ Store(Package(){0x63}, Local0)
+ Return (Local0)
+ }
+
+ Name(ss00, "0")
+
+ // CondRefOf
+
+ if (y601) {
+ Store (CondRefOf(m000()), Local1)
+ CH06(arg0, 0, 47)
+
+ CondRefOf(m000(), Local1)
+ CH06(arg0, 1, 47)
+ }
+
+ // CopyObject
+
+ CopyObject(m000(), Local1)
+ CH03(ts, z096, 62, 0, 0)
+
+ // Decrement
+
+ Decrement(m000())
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ Store (DerefOf(m000()), Local1)
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(m000(), Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(m000(), Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(m000(), Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(m000())
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ Store (LNot(m000()), Local1)
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(m000(), Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+ /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */
+//
+// ObjectType(m000())
+// CH03(ts, z096, 63, 0, 0)
+
+ // RefOf
+
+ if (y601) {
+ Store (RefOf(m000()), Local1)
+ CH06(arg0, 14, 47)
+ }
+
+ // Release
+
+ Release(m000())
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(m000())
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(m000())
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ Store (SizeOf(m000()), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(m000())
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(m000())
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ // ToBCD
+
+ ToBCD(m000(), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(m000(), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(m000(), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(m000(), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(m000(), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Store(Acquire(m000(), 100), Local1)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(m000(), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, m000(), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(m000(), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, m000(), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(m000(), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, m000(), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(m000(), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, m000(), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(m000(), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, m000(), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, m000())
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ if (y900) {
+ Index(m000(), 0, Local1)
+ CH03(ts, z096, 65, 0, 0)
+
+ Index("0", m000(), Local1)
+ CH06(arg0, 57, 47)
+ } else {
+ CH03(ts, z096, 0x123, 0, 0)
+ CH03(ts, z096, 0x127, 0, 0)
+ Index(m000(), 0, Local1)
+ CH04(ts, 0, 85, z094, 0x128, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ CH03(ts, z096, 0x129, 0, 0)
+ Index("0", m000(), Local1)
+ CH04(ts, 0, 0xff, z094, 0x12a, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+
+ CH03(ts, z096, 0x129, 0, 0)
+ Index(ss00, m000(), Local1)
+ CH04(ts, 0, 47, z094, 0x12a, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // LEqual
+
+ Store (LEqual(m000(), i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, m000()), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(m000(), i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, m000()), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(m000(), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, m000()), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(m000(), i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, m000()), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(m000(), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, m000()), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(m000(), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, m000()), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(m000(), i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, m000()), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(m000(), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, m000(), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(m000(), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, m000(), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(m000(), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, m000(), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(m000(), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, m000(), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(m000(), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, m000(), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(m000(), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, m000(), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(m000(), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, m000(), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(m000(), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, m000(), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(m000(), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, m000(), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(m000(), i000), Local1)
+ CH06(arg0, 108, 47)
+
+ Store(Wait(e000, m000()), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(m000(), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, m000(), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(m000(), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", m000(), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, m000(), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1)
+ CH03(ts, z096, 66, 0, 0)
+
+ Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m007, 1, Serialized)
+ {
+ Name(p000, Package(){0x63})
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(p100), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(p000), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z096, 0, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ Store (DerefOf(m000(1, lpC0)), Local1)
+ CH03(ts, z096, Add(67, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+ Store (DerefOf(DerefOf(m000(2, lpC0))), Local1)
+ CH06(arg0, Add(1, Local0), 47)
+ CH00(arg0, 2)
+
+ Store (Index(DerefOf(m000(3, lpC0)), 0), Local1)
+ CH06(arg0, Add(2, Local0), 47)
+ CH00(arg0, 3)
+
+ Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, Add(3, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ // Result of Method with checking of invocation
+ Method(m008, 1, Serialized)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 1)
+ {
+ Store(arg0, i000)
+ Store(Package(){0x63}, Local0)
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z096, 0, 0, 0, i000, arg1)
+ }
+ }
+
+ // CondRefOf
+
+ if (y601) {
+ Store (CondRefOf(m000(1)), Local1)
+ CH06(arg0, 1, 47)
+ CH00(arg0, 1)
+ }
+
+ Store (CondRefOf(m000(2)), Local1)
+ CH06(arg0, 2, 47)
+ if (y600) {
+ CH00(arg0, 2)
+ }
+
+ // DerefOf
+
+ Store (DerefOf(m000(3)), Local1)
+ CH06(arg0, 3, 47)
+ CH00(arg0, 3)
+
+ // RefOf
+
+ if (y601) {
+ Store (RefOf(m000(4)), Local1)
+ CH06(arg0, 4, 47)
+ CH00(arg0, 4)
+ }
+
+ // Release
+
+ Release(m000(5))
+ CH06(arg0, 5, 47)
+ if (y600) {
+ CH00(arg0, 5)
+ }
+
+ // Reset
+
+ Reset(m000(6))
+ CH06(arg0, 6, 47)
+ if (y600) {
+ CH00(arg0, 6)
+ }
+
+ // Signal
+
+ Signal(m000(7))
+ CH06(arg0, 7, 47)
+ if (y600) {
+ CH00(arg0, 7)
+ }
+
+ // Acquire
+
+ Store(Acquire(m000(8), 0), Local1)
+ CH06(arg0, 8, 47)
+ if (y600) {
+ CH00(arg0, 8)
+ }
+
+ // Index
+
+ CH03(ts, z094, 0x123, 0, 0)
+ Store (Index(m000(9), 0), Local1)
+ if (y900) {
+ CH03(ts, z096, 69, 0, 0)
+ CH00(arg0, 9)
+ } else {
+ CH04(ts, 0, 85, z094, 0x124, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ // Wait
+
+ Store(Wait(m000(10), 0), Local1)
+ CH06(arg0, 9, 47)
+ if (y600) {
+ CH00(arg0, 10)
+ }
+
+ // Match
+
+ Store (Match(m000(11), MTR, 0, MTR, 0, 0), Local1)
+ CH03(ts, z096, 70, 0, 0)
+ CH00(arg0, 11)
+ }
+
+ SET0(z096, ts, 0)
+
+ CH03(ts, z096, 70, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Argument
+ m002(ts, Package(){0x62})
+
+ // Local
+ m003(Concatenate(ts, "-m003"))
+
+ // An element of Package
+ m004(Concatenate(ts, "-m004"))
+
+
+ // Reference to Local Named Object
+
+ m005(Concatenate(ts, "-m005-RefLocName"), RefOf(p000))
+
+ Store(RefOf(p000), Local0)
+ m005(Concatenate(ts, "-m005-RefLocName2"), Local0)
+
+ CondRefOf(p000, Local0)
+ m005(Concatenate(ts, "-m005-CondRefLocName"), Local0)
+
+ m005(Concatenate(ts, "-m005-RefGlobName"), RefOf(p100))
+
+ Store(RefOf(p100), Local0)
+ m005(Concatenate(ts, "-m005-RefGlobName2"), Local0)
+
+ CondRefOf(p100, Local0)
+ m005(Concatenate(ts, "-m005-CondRefGlobName"), Local0)
+
+
+ // Reference to Local
+
+ Store(Package(){0x62}, Local0)
+
+ m005(Concatenate(ts, "-m005-RefLocal"), RefOf(Local0))
+
+ Store(RefOf(Local0), Local1)
+ m005(Concatenate(ts, "-m005-RefLocal2"), Local1)
+
+ CondRefOf(Local0, Local1)
+ m005(Concatenate(ts, "-m005-CondRefLocal"), Local1)
+
+
+ // Reference to Arg
+
+ m005(Concatenate(ts, "-m005-RefArg"), RefOf(arg0))
+
+ Store(RefOf(arg0), Local0)
+ m005(Concatenate(ts, "-m005-RefArg2"), Local0)
+
+ CondRefOf(arg0, Local0)
+ m005(Concatenate(ts, "-m005-CondRefArg"), Local0)
+
+
+ // Index to Package
+
+ Name(pp00, Package(){Package(){0x62}})
+
+ if (y113) {
+ m005(Concatenate(ts, "-m005-Index"), Index(pp00, 0))
+ }
+
+ Store(Index(pp00, 0), Local0)
+ m005(Concatenate(ts, "-m005-Index2"), Local0)
+
+ if (y113) {
+ m005(Concatenate(ts, "-m005-Index3"), Index(pp00, 0, Local0))
+ }
+
+ Index(pp00, 0, Local0)
+ m005(Concatenate(ts, "-m005-Index4"), Local0)
+
+ Store(Index(pp00, 0, Local0), Local1)
+ m005(Concatenate(ts, "-m005-Index5"), Local1)
+
+ // Result of Method invocation
+ m006(Concatenate(ts, "-m006"))
+
+ // Reference to Object as Result of Method invocation
+ if (y500) {
+ m007(Concatenate(ts, "-m007"))
+ }
+
+ // Result of Method with checking of invocation
+ m008(Concatenate(ts, "-m008"))
+
+ RST0()
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_05_funit.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_05_funit.asl index a788d7926..ea3069bfe 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_05_funit.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_05_funit.asl @@ -1,292 +1,292 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * Field Unit - * - * (verify exceptions caused by the imprope use of Field Unit type objects) - */ - -Name(z097, 97) - -OperationRegion(rg01, SystemMemory, 0x100, 0x100) - -Field(rg01, ByteAcc, NoLock, Preserve) { - fu00, 31, - fu01, 65} - -Name(ii70, 0xabcd1234) -Name(bi00, Buffer() {0xa4,0xa5,0xa6,0xa7,0xb8,0xb9,0xba,0xbb,0xbc}) - -// Expected exceptions: -// -// 47 - AE_AML_OPERAND_TYPE -// See notes to m4b1 and m4b3 -// -Method(m4b5,, Serialized) -{ - Name(ts, "m4b5") - - Field(rg01, ByteAcc, NoLock, Preserve) { - Offset(12), - fu02, 31, - fu03, 65} - - // Local Named Object - Method(m000, 1, Serialized) - { - Field(rg01, ByteAcc, NoLock, Preserve) { - Offset(24), - fu02, 31, - fu03, 65} - - Store(ii70, fu02) - Store(bi00, fu03) - - // Like Integer behaviour - - if (y083) { - Store (DerefOf(fu02), Local1) - CH06(arg0, 0, 47) - } - - Store (Index(fu02, 0), Local1) - CH06(arg0, 1, 47) - - // Like Buffer behaviour - - if (y083) { - Store (DerefOf(fu03), Local1) - CH06(arg0, 2, 47) - } - - Store (Index(fu03, 0), Local1) - if (y900) { - CH03(ts, z097, 0, 0, 0) - } else { - CH04(ts, 0, 85, z094, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED - } - } - - // Global Named Object - Method(m001, 1) - { - Store(ii70, fu00) - Store(bi00, fu01) - - // Like Integer behaviour - - if (y083) { - Store (DerefOf(fu00), Local1) - CH06(arg0, 3, 47) - } - - Store (Index(fu00, 0), Local1) - CH06(arg0, 4, 47) - - // Like Buffer behaviour - - if (y083) { - Store (DerefOf(fu01), Local1) - CH06(arg0, 5, 47) - } - - Store (Index(fu01, 0), Local1) - if (y900) { - CH03(ts, z097, 1, 0, 0) - } else { - CH04(ts, 0, 85, z094, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED - } - } - - // Reference to Object - Method(m002, 3) - { - Store(arg0, Debug) - Store(arg1, Debug) - - Store(ObjectType(arg1), Local0) - if (LNotEqual(Local0, 5)) { - err(arg0, z097, 6, 0, 0, Local0, 5) - return (1) - } - - Store (DerefOf(arg1), Local1) - CH03(ts, z097, 2, 0, 0) - - Store (DerefOf(DerefOf(arg1)), Local1) - CH06(arg0, 7, 47) - - Store (Index(DerefOf(arg1), 0), Local1) - - if (arg2) { - // Like Buffer behaviour - if (y900) { - CH03(ts, z097, 3, 0, 0) - } else { - CH04(ts, 0, 85, z097, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED - } - } else { - // Like Integer behaviour - CH06(arg0, 8, 47) - } - - Store (Match(DerefOf(arg1), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 9, 47) - - return (0) - } - - // Reference to Object as Result of Method invocation - Method(m003, 1, Serialized) - { - Field(rg01, ByteAcc, NoLock, Preserve) { - Offset(24), - fu02, 31, - fu03, 65} - - Name(i000, 0) // Label to check m000 invocations - - Method(m000, 2) - { - Store(arg0, i000) - if (LEqual(arg1, 0)) { - Store(Refof(fu00), Local0) - } elseif (LEqual(arg1, 1)) { - Store(Refof(fu01), Local0) - } elseif (LEqual(arg1, 2)) { - Store(Refof(fu02), Local0) - } elseif (LEqual(arg1, 3)) { - Store(Refof(fu03), Local0) - } - Return (Local0) - } - - Method(CH00, 2) - { - if (LNotEqual(i000, arg1)) { - err(arg0, z097, 10, 0, 0, i000, arg1) - } - } - - Name(lpN0, 4) - Name(lpC0, 0) - - Store(ii70, fu00) - Store(bi00, fu01) - Store(ii70, fu02) - Store(bi00, fu03) - - While (lpN0) { - Multiply(3, lpC0, Local0) - - Store(0, i000) - - Store (DerefOf(m000(1, lpC0)), Local1) - CH03(ts, z097, Add(4, lpC0), 0, 0) - CH00(arg0, 1) - - - Store (DerefOf(DerefOf(m000(2, lpC0))), Local1) - CH06(arg0, Add(11, Local0), 47) - CH00(arg0, 2) - - Store (Index(DerefOf(m000(3, lpC0)), 0), Local1) - if (Mod(lpC0, 2)) { - // Like Buffer behaviour - if (y900) { - CH03(ts, z097, Add(8, lpC0), 0, 0) - } else { - CH04(ts, 0, 85, z097, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED - } - } else { - // Like Integer behaviour - CH06(arg0, Add(12, Local0), 47) - } - CH00(arg0, 3) - - Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, Add(13, Local0), 47) - CH00(arg0, 4) - - Decrement(lpN0) - Increment(lpC0) - } - } - - CH03(ts, z097, 12, 0, 0) - - // Local Named Object - m000(ts) - - // Global Named Object - m001(ts) - - // Reference to Local Named Object - - Store(ii70, fu02) - Store(bi00, fu03) - - m002(Concatenate(ts, "-m002-RefLocNameI"), RefOf(fu02), 0) - - Store(RefOf(fu02), Local0) - m002(Concatenate(ts, "-m002-RefLocName2I"), Local0, 0) - - CondRefOf(fu02, Local0) - m002(Concatenate(ts, "-m002-CondRefLocNameI"), Local0, 0) - - m002(Concatenate(ts, "-m002-RefLocNameB"), RefOf(fu03), 1) - - Store(RefOf(fu03), Local0) - m002(Concatenate(ts, "-m002-RefLocName2B"), Local0, 1) - - CondRefOf(fu03, Local0) - m002(Concatenate(ts, "-m002-CondRefLocNameB"), Local0, 1) - - Store(ii70, fu00) - Store(bi00, fu01) - - m002(Concatenate(ts, "-m002-RefGlobNameI"), RefOf(fu00), 0) - - Store(RefOf(fu00), Local0) - m002(Concatenate(ts, "-m002-RefGlobName2I"), Local0, 0) - - CondRefOf(fu00, Local0) - m002(Concatenate(ts, "-m002-CondRefGlobNameI"), Local0, 0) - - m002(Concatenate(ts, "-m002-RefGlobNameB"), RefOf(fu01), 1) - - Store(RefOf(fu01), Local0) - m002(Concatenate(ts, "-m002-RefGlobName2B"), Local0, 1) - - CondRefOf(fu01, Local0) - m002(Concatenate(ts, "-m002-CondRefGlobNameB"), Local0, 1) - - // Reference to Object as Result of Method invocation - m003(ts) -} +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Field Unit
+ *
+ * (verify exceptions caused by the imprope use of Field Unit type objects)
+ */
+
+Name(z097, 97)
+
+OperationRegion(rg01, SystemMemory, 0x100, 0x100)
+
+Field(rg01, ByteAcc, NoLock, Preserve) {
+ fu00, 31,
+ fu01, 65}
+
+Name(ii70, 0xabcd1234)
+Name(bi00, Buffer() {0xa4,0xa5,0xa6,0xa7,0xb8,0xb9,0xba,0xbb,0xbc})
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+// See notes to m4b1 and m4b3
+//
+Method(m4b5,, Serialized)
+{
+ Name(ts, "m4b5")
+
+ Field(rg01, ByteAcc, NoLock, Preserve) {
+ Offset(12),
+ fu02, 31,
+ fu03, 65}
+
+ // Local Named Object
+ Method(m000, 1, Serialized)
+ {
+ Field(rg01, ByteAcc, NoLock, Preserve) {
+ Offset(24),
+ fu02, 31,
+ fu03, 65}
+
+ Store(ii70, fu02)
+ Store(bi00, fu03)
+
+ // Like Integer behaviour
+
+ if (y083) {
+ Store (DerefOf(fu02), Local1)
+ CH06(arg0, 0, 47)
+ }
+
+ Store (Index(fu02, 0), Local1)
+ CH06(arg0, 1, 47)
+
+ // Like Buffer behaviour
+
+ if (y083) {
+ Store (DerefOf(fu03), Local1)
+ CH06(arg0, 2, 47)
+ }
+
+ Store (Index(fu03, 0), Local1)
+ if (y900) {
+ CH03(ts, z097, 0, 0, 0)
+ } else {
+ CH04(ts, 0, 85, z094, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ Store(ii70, fu00)
+ Store(bi00, fu01)
+
+ // Like Integer behaviour
+
+ if (y083) {
+ Store (DerefOf(fu00), Local1)
+ CH06(arg0, 3, 47)
+ }
+
+ Store (Index(fu00, 0), Local1)
+ CH06(arg0, 4, 47)
+
+ // Like Buffer behaviour
+
+ if (y083) {
+ Store (DerefOf(fu01), Local1)
+ CH06(arg0, 5, 47)
+ }
+
+ Store (Index(fu01, 0), Local1)
+ if (y900) {
+ CH03(ts, z097, 1, 0, 0)
+ } else {
+ CH04(ts, 0, 85, z094, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+ }
+
+ // Reference to Object
+ Method(m002, 3)
+ {
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 5)) {
+ err(arg0, z097, 6, 0, 0, Local0, 5)
+ return (1)
+ }
+
+ Store (DerefOf(arg1), Local1)
+ CH03(ts, z097, 2, 0, 0)
+
+ Store (DerefOf(DerefOf(arg1)), Local1)
+ CH06(arg0, 7, 47)
+
+ Store (Index(DerefOf(arg1), 0), Local1)
+
+ if (arg2) {
+ // Like Buffer behaviour
+ if (y900) {
+ CH03(ts, z097, 3, 0, 0)
+ } else {
+ CH04(ts, 0, 85, z097, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+ } else {
+ // Like Integer behaviour
+ CH06(arg0, 8, 47)
+ }
+
+ Store (Match(DerefOf(arg1), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 9, 47)
+
+ return (0)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m003, 1, Serialized)
+ {
+ Field(rg01, ByteAcc, NoLock, Preserve) {
+ Offset(24),
+ fu02, 31,
+ fu03, 65}
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(fu00), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(fu01), Local0)
+ } elseif (LEqual(arg1, 2)) {
+ Store(Refof(fu02), Local0)
+ } elseif (LEqual(arg1, 3)) {
+ Store(Refof(fu03), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z097, 10, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 4)
+ Name(lpC0, 0)
+
+ Store(ii70, fu00)
+ Store(bi00, fu01)
+ Store(ii70, fu02)
+ Store(bi00, fu03)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ Store (DerefOf(m000(1, lpC0)), Local1)
+ CH03(ts, z097, Add(4, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+
+ Store (DerefOf(DerefOf(m000(2, lpC0))), Local1)
+ CH06(arg0, Add(11, Local0), 47)
+ CH00(arg0, 2)
+
+ Store (Index(DerefOf(m000(3, lpC0)), 0), Local1)
+ if (Mod(lpC0, 2)) {
+ // Like Buffer behaviour
+ if (y900) {
+ CH03(ts, z097, Add(8, lpC0), 0, 0)
+ } else {
+ CH04(ts, 0, 85, z097, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+ } else {
+ // Like Integer behaviour
+ CH06(arg0, Add(12, Local0), 47)
+ }
+ CH00(arg0, 3)
+
+ Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, Add(13, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ CH03(ts, z097, 12, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Reference to Local Named Object
+
+ Store(ii70, fu02)
+ Store(bi00, fu03)
+
+ m002(Concatenate(ts, "-m002-RefLocNameI"), RefOf(fu02), 0)
+
+ Store(RefOf(fu02), Local0)
+ m002(Concatenate(ts, "-m002-RefLocName2I"), Local0, 0)
+
+ CondRefOf(fu02, Local0)
+ m002(Concatenate(ts, "-m002-CondRefLocNameI"), Local0, 0)
+
+ m002(Concatenate(ts, "-m002-RefLocNameB"), RefOf(fu03), 1)
+
+ Store(RefOf(fu03), Local0)
+ m002(Concatenate(ts, "-m002-RefLocName2B"), Local0, 1)
+
+ CondRefOf(fu03, Local0)
+ m002(Concatenate(ts, "-m002-CondRefLocNameB"), Local0, 1)
+
+ Store(ii70, fu00)
+ Store(bi00, fu01)
+
+ m002(Concatenate(ts, "-m002-RefGlobNameI"), RefOf(fu00), 0)
+
+ Store(RefOf(fu00), Local0)
+ m002(Concatenate(ts, "-m002-RefGlobName2I"), Local0, 0)
+
+ CondRefOf(fu00, Local0)
+ m002(Concatenate(ts, "-m002-CondRefGlobNameI"), Local0, 0)
+
+ m002(Concatenate(ts, "-m002-RefGlobNameB"), RefOf(fu01), 1)
+
+ Store(RefOf(fu01), Local0)
+ m002(Concatenate(ts, "-m002-RefGlobName2B"), Local0, 1)
+
+ CondRefOf(fu01, Local0)
+ m002(Concatenate(ts, "-m002-CondRefGlobNameB"), Local0, 1)
+
+ // Reference to Object as Result of Method invocation
+ m003(ts)
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_06_dev.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_06_dev.asl index 3f18820b4..bc67efaf0 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_06_dev.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_06_dev.asl @@ -1,1270 +1,1270 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * Device - * - * (verify exceptions caused by the imprope use of Device type objects) - */ - -Name(z098, 98) - -Device(dev0) {} - -// Expected exceptions: -// -// 47 - AE_AML_OPERAND_TYPE -// -Method(m4b6,, Serialized) -{ - Name(ts, "m4b6") - - Device(dev1) {} - - Event(e000) - - Name(i000, 0) - - // Local Named Object - Method(m000, 1, Serialized) - { - Device(dev2) {} - - Store (DerefOf(dev2), Local1) - CH06(arg0, 0, 47) - } - - // Global Named Object - Method(m001, 1) - { - if (y083) { - Store (DerefOf(dev0), Local1) - CH06(arg0, 1, 47) - } - } - - // Local - Method(m002, 1, Serialized) - { - Device(dev2) {} - - Event(e000) - - CopyObject(dev2, Local0) - - // CondRefOf - - CondRefOf(Local0, Local1) - CH03(ts, z098, 1, 0, 0) - - // CopyObject - - CopyObject(Local0, Local1) - CH03(ts, z098, 2, 0, 0) - - // Decrement - - Decrement(Local0) - CH06(arg0, 1, 47) - - // DerefOf - - Store (DerefOf(Local0), Local1) - CH06(arg0, 2, 47) - - // FindSetLeftBit - - FindSetLeftBit(Local0, Local1) - CH06(arg0, 4, 47) - - // FindSetRightBit - - FindSetRightBit(Local0, Local1) - CH06(arg0, 6, 47) - - // FromBCD - - FromBCD(Local0, Local1) - CH06(arg0, 8, 47) - - // Increment - - Increment(Local0) - CH06(arg0, 9, 47) - - // LNot - - Store (LNot(Local0), Local1) - CH06(arg0, 10, 47) - - // Not - - Not(Local0, Local1) - CH06(arg0, 12, 47) - - // ObjectType - - Store (ObjectType(Local0), Local1) - CH03(ts, z098, 3, 0, 0) - - // RefOf - - Store (RefOf(Local0), Local1) - CH03(ts, z098, 4, 0, 0) - - // Release - - Release(Local0) - CH06(arg0, 13, 47) - - // Reset - - Reset(Local0) - CH06(arg0, 14, 47) - - // Signal - - Signal(Local0) - CH06(arg0, 15, 47) - - // SizeOf - - Store (SizeOf(Local0), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(Local0) - CH06(arg0, 17, 47) - - // Stall - - Stall(Local0) - CH06(arg0, 18, 47) - - // Store - - Store(Local0, Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(Local0, Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(Local0, Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(Local0, Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(Local0, Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(Local0, Local1) - CH06(arg0, 29, 47) - - // Acquire - - Store(Acquire(Local0, 100), Local1) - CH06(arg0, 30, 47) - - // Add - - Add(Local0, i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, Local0, Local1) - CH06(arg0, 34, 47) - - // And - - And(Local0, i000, Local1) - CH06(arg0, 37, 47) - - And(i000, Local0, Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(Local0, i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, Local0, Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(Local0, i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, Local0, Local2) - CH06(arg0, 50, 47) - - Divide(Local0, i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, Local0, Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, Local0) - CH06(arg0, 53, 47) - - // Index - - Index(Local0, 0, Local1) - CH06(arg0, 56, 47) - - Index("0", Local0, Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(Local0, i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, Local0), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(Local0, i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, Local0), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(Local0, i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, Local0), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(Local0, i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, Local0), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(Local0, i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, Local0), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(Local0, i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, Local0), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(Local0, i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, Local0), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(Local0, i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, Local0, Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(Local0, i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, Local0, Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(Local0, i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, Local0, Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(Local0, i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, Local0, Local1) - CH06(arg0, 87, 47) - - // Or - - Or(Local0, i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, Local0, Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(Local0, i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, Local0, Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(Local0, i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, Local0, Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(Local0, i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, Local0, Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(Local0, 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, Local0, Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(Local0, i000), Local1) - CH06(arg0, 108, 47) - - Store(Wait(e000, Local0), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(Local0, i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, Local0, Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(Local0, 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", Local0, 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, Local0, Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1) - CH06(arg0, 123, 47) - } - - // Reference to Object - Method(m003, 3, Serialized) - { - Name(EXC0, 47) // AE_AML_OPERAND_TYPE - - Store(ObjectType(arg1), Local0) - if (LNotEqual(Local0, 6)) { - err(arg0, z098, 200, 0, 0, Local0, 6) - return (1) - } - - if (arg2) { - if (LNot(y503)) { - Store(62, EXC0) // AE_AML_NO_RETURN_VALUE - } - } - - Store (DeRefOf(arg1), Local1) - CH03(ts, z098, 5, 0, 0) - - // CondRefOf - - CondRefOf(DeRefOf(arg1), Local1) - CH06(arg0, 1, EXC0) - - // CopyObject - - CopyObject(DeRefOf(arg1), Local1) - CH06(arg0, 2, EXC0) - - // Decrement - - Decrement(DeRefOf(arg1)) - CH06(arg0, 3, EXC0) - - // DerefOf - - Store (DerefOf(DeRefOf(arg1)), Local1) - CH06(arg0, 4, EXC0) - - // FindSetLeftBit - - FindSetLeftBit(DeRefOf(arg1), Local1) - CH06(arg0, 6, EXC0) - - // FindSetRightBit - - FindSetRightBit(DeRefOf(arg1), Local1) - CH06(arg0, 8, EXC0) - - // FromBCD - - FromBCD(DeRefOf(arg1), Local1) - CH06(arg0, 10, EXC0) - - // Increment - - Increment(DeRefOf(arg1)) - CH06(arg0, 11, EXC0) - - // LNot - - Store (LNot(DeRefOf(arg1)), Local1) - CH06(arg0, 12, EXC0) - - // Not - - Not(DeRefOf(arg1), Local1) - CH06(arg0, 14, EXC0) - - // ObjectType - - Store (ObjectType(DeRefOf(arg1)), Local1) - CH03(ts, z098, 6, 0, 0) - - // RefOf - - Store (RefOf(DeRefOf(arg1)), Local1) - CH06(arg0, 15, EXC0) - - // Release - - // Reset - - // Signal - - // SizeOf - - Store (SizeOf(DeRefOf(arg1)), Local1) - CH06(arg0, 16, EXC0) - - // Sleep - - Sleep(DeRefOf(arg1)) - CH06(arg0, 17, EXC0) - - // Stall - - Stall(DeRefOf(arg1)) - CH06(arg0, 18, EXC0) - - // Store - - Store(DeRefOf(arg1), Local1) - CH06(arg0, 19, EXC0) - - // ToBCD - - ToBCD(DeRefOf(arg1), Local1) - CH06(arg0, 21, EXC0) - - // ToBuffer - - ToBuffer(DeRefOf(arg1), Local1) - CH06(arg0, 23, EXC0) - - // ToDecimalString - - ToDecimalString(DeRefOf(arg1), Local1) - CH06(arg0, 25, EXC0) - - // ToHexString - - ToHexString(DeRefOf(arg1), Local1) - CH06(arg0, 27, EXC0) - - // ToInteger - - ToInteger(DeRefOf(arg1), Local1) - CH06(arg0, 29, EXC0) - - // Acquire - - // Add - - Add(DeRefOf(arg1), i000, Local1) - CH06(arg0, 33, EXC0) - - Add(i000, DeRefOf(arg1), Local1) - CH06(arg0, 34, EXC0) - - // And - - And(DeRefOf(arg1), i000, Local1) - CH06(arg0, 37, EXC0) - - And(i000, DeRefOf(arg1), Local1) - CH06(arg0, 38, EXC0) - - // Concatenate - - Concatenate(DeRefOf(arg1), i000, Local1) - CH06(arg0, 41, EXC0) - - Concatenate(i000, DeRefOf(arg1), Local1) - CH06(arg0, 42, EXC0) - - // ConcatenateResTemplate - - ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1) - CH06(arg0, 45, EXC0) - - ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1) - CH06(arg0, 46, EXC0) - - // Divide - - Divide(DeRefOf(arg1), i000, Local2) - CH06(arg0, 49, EXC0) - - Divide(i000, DeRefOf(arg1), Local2) - CH06(arg0, 50, EXC0) - - Divide(DeRefOf(arg1), i000, Local2, Local1) - CH06(arg0, 51, EXC0) - - Divide(i000, DeRefOf(arg1), Local2, Local1) - CH06(arg0, 52, EXC0) - - // Fatal - - Fatal(0xff, 0xffffffff, DeRefOf(arg1)) - CH06(arg0, 53, EXC0) - - // Index - - Index(DeRefOf(arg1), 0, Local1) - CH06(arg0, 56, EXC0) - - Index("0", DeRefOf(arg1), Local1) - CH06(arg0, 57, EXC0) - - // LEqual - - Store (LEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 58, EXC0) - - Store (LEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 59, EXC0) - - // LGreater - - Store (LGreater(DeRefOf(arg1), i000), Local1) - CH06(arg0, 60, EXC0) - - Store (LGreater(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 61, EXC0) - - // LGreaterEqual - - Store (LGreaterEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(DeRefOf(arg1), i000), Local1) - CH06(arg0, 64, EXC0) - - Store (LLess(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 65, EXC0) - - // LLessEqual - - Store (LLessEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(DeRefOf(arg1), i000), Local1) - CH06(arg0, 70, EXC0) - - Store (LOr(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 71, EXC0) - - // Mod - - Mod(DeRefOf(arg1), i000, Local1) - CH06(arg0, 74, EXC0) - - Mod(i000, DeRefOf(arg1), Local1) - CH06(arg0, 75, EXC0) - - // Multiply - - Multiply(DeRefOf(arg1), i000, Local1) - CH06(arg0, 78, EXC0) - - Multiply(i000, DeRefOf(arg1), Local1) - CH06(arg0, 79, EXC0) - - // NAnd - - NAnd(DeRefOf(arg1), i000, Local1) - CH06(arg0, 82, EXC0) - - NAnd(i000, DeRefOf(arg1), Local1) - CH06(arg0, 83, EXC0) - - // NOr - - NOr(DeRefOf(arg1), i000, Local1) - CH06(arg0, 86, EXC0) - - NOr(i000, DeRefOf(arg1), Local1) - CH06(arg0, 87, EXC0) - - // Or - - Or(DeRefOf(arg1), i000, Local1) - CH06(arg0, 90, EXC0) - - Or(i000, DeRefOf(arg1), Local1) - CH06(arg0, 91, EXC0) - - // ShiftLeft - - ShiftLeft(DeRefOf(arg1), i000, Local1) - CH06(arg0, 94, EXC0) - - ShiftLeft(i000, DeRefOf(arg1), Local1) - CH06(arg0, 95, EXC0) - - // ShiftRight - - ShiftRight(DeRefOf(arg1), i000, Local1) - CH06(arg0, 98, EXC0) - - ShiftRight(i000, DeRefOf(arg1), Local1) - CH06(arg0, 99, EXC0) - - // Subtract - - Subtract(DeRefOf(arg1), i000, Local1) - CH06(arg0, 102, EXC0) - - Subtract(i000, DeRefOf(arg1), Local1) - CH06(arg0, 103, EXC0) - - // ToString - - ToString(DeRefOf(arg1), 1, Local1) - CH06(arg0, 106, EXC0) - - ToString(i000, DeRefOf(arg1), Local1) - CH06(arg0, 107, EXC0) - - // Wait - - Store(Wait(e000, DeRefOf(arg1)), Local1) - CH06(arg0, 109, EXC0) - - // XOr - - XOr(DeRefOf(arg1), i000, Local1) - CH06(arg0, 112, EXC0) - - XOr(i000, DeRefOf(arg1), Local1) - CH06(arg0, 113, EXC0) - - // Mid - - Mid(DeRefOf(arg1), 1, 1, Local1) - CH06(arg0, 117, EXC0) - - Mid("123", DeRefOf(arg1), 1, Local1) - CH06(arg0, 118, EXC0) - - Mid("123", 1, DeRefOf(arg1), Local1) - CH06(arg0, 119, EXC0) - - // Match - - Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, EXC0) - - Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1) - CH06(arg0, 121, EXC0) - - Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1) - CH06(arg0, 122, EXC0) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1) - CH06(arg0, 123, EXC0) - - return (0) - } - - // Result of Method invocation - Method(m004, 1, Serialized) - { - Name(i000, 0) // Label to check m000 invocations - - Method(m000) - { - CopyObject(dev0, Local0) - Return (Local0) - } - - // CondRefOf - - CondRefOf(m000(), Local1) - CH06(arg0, 1, 47) - - // CopyObject - - CopyObject(m000(), Local1) - CH03(ts, z098, 7, 0, 0) - - // Decrement - - Decrement(m000()) - CH06(arg0, 2, 47) - - // DerefOf - - Store (DerefOf(m000()), Local1) - CH06(arg0, 3, 47) - - // FindSetLeftBit - - FindSetLeftBit(m000(), Local1) - CH06(arg0, 5, 47) - - // FindSetRightBit - - FindSetRightBit(m000(), Local1) - CH06(arg0, 7, 47) - - // FromBCD - - FromBCD(m000(), Local1) - CH06(arg0, 9, 47) - - // Increment - - Increment(m000()) - CH06(arg0, 10, 47) - - // LNot - - Store (LNot(m000()), Local1) - CH06(arg0, 11, 47) - - // Not - - Not(m000(), Local1) - CH06(arg0, 13, 47) - - // ObjectType - /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ -// -// ObjectType(m000()) -// CH03(ts, z098, 8, 0, 0) - - // RefOf - - Store (RefOf(m000()), Local1) - CH06(arg0, 14, 47) - - // Release - - Release(m000()) - CH06(arg0, 13, 47) - - // Reset - - Reset(m000()) - CH06(arg0, 14, 47) - - // Signal - - Signal(m000()) - CH06(arg0, 15, 47) - - // SizeOf - - Store (SizeOf(m000()), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(m000()) - CH06(arg0, 17, 47) - - // Stall - - Stall(m000()) - CH06(arg0, 18, 47) - - // Store - - Store(m000(), Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(m000(), Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(m000(), Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(m000(), Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(m000(), Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(m000(), Local1) - CH06(arg0, 29, 47) - - // Acquire - - Store(Acquire(m000(), 100), Local1) - CH06(arg0, 30, 47) - - // Add - - Add(m000(), i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, m000(), Local1) - CH06(arg0, 34, 47) - - // And - - And(m000(), i000, Local1) - CH06(arg0, 37, 47) - - And(i000, m000(), Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(m000(), i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, m000(), Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(m000(), i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, m000(), Local2) - CH06(arg0, 50, 47) - - Divide(m000(), i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, m000(), Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, m000()) - CH06(arg0, 53, 47) - - // Index - - Index(m000(), 0, Local1) - CH06(arg0, 56, 47) - - Index("0", m000(), Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(m000(), i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, m000()), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(m000(), i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, m000()), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(m000(), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, m000()), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(m000(), i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, m000()), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(m000(), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, m000()), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(m000(), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, m000()), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(m000(), i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, m000()), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(m000(), i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, m000(), Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(m000(), i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, m000(), Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(m000(), i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, m000(), Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(m000(), i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, m000(), Local1) - CH06(arg0, 87, 47) - - // Or - - Or(m000(), i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, m000(), Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(m000(), i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, m000(), Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(m000(), i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, m000(), Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(m000(), i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, m000(), Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(m000(), 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, m000(), Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(m000(), i000), Local1) - CH06(arg0, 108, 47) - - Store(Wait(e000, m000()), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(m000(), i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, m000(), Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(m000(), 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", m000(), 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, m000(), Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1) - CH06(arg0, 123, 47) - } - - // Reference to Object as Result of Method invocation - Method(m005, 1, Serialized) - { - Device(dev2) {} - - Name(i000, 0) // Label to check m000 invocations - - Method(m000, 2) - { - Store(arg0, i000) - if (LEqual(arg1, 0)) { - Store(Refof(dev0), Local0) - } elseif (LEqual(arg1, 1)) { - Store(Refof(dev2), Local0) - } - Return (Local0) - } - - Method(CH00, 2) - { - if (LNotEqual(i000, arg1)) { - err(arg0, z098, 0, 0, 0, i000, arg1) - } - } - - Name(lpN0, 2) - Name(lpC0, 0) - - While (lpN0) { - Multiply(3, lpC0, Local0) - - Store(0, i000) - - Store (DerefOf(m000(1, lpC0)), Local1) - CH03(ts, z098, Add(9, lpC0), 0, 0) - CH00(arg0, 1) - - Store (DerefOf(DerefOf(m000(2, lpC0))), Local1) - CH06(arg0, Add(1, Local0), 47) - CH00(arg0, 2) - - Store (Index(DerefOf(m000(3, lpC0)), 0), Local1) - CH06(arg0, Add(2, Local0), 47) - CH00(arg0, 3) - - Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, Add(3, Local0), 47) - CH00(arg0, 4) - - Decrement(lpN0) - Increment(lpC0) - } - } - - CH03(ts, z098, 11, 0, 0) - - // Local Named Object - m000(ts) - - // Global Named Object - m001(ts) - - // Local - m002(Concatenate(ts, "-m002")) - - // Reference to Local Named Object - - m003(Concatenate(ts, "-m003-RefLocName"), RefOf(dev1), 1) - - Store(RefOf(dev1), Local0) - m003(Concatenate(ts, "-m003-RefLocName2"), Local0, 1) - - CondRefOf(dev1, Local0) - m003(Concatenate(ts, "-m003-CondRefLocName"), Local0, 1) - - m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(dev0), 1) - - Store(RefOf(dev0), Local0) - m003(Concatenate(ts, "-m003-RefGlobName2"), Local0, 1) - - CondRefOf(dev0, Local0) - m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0, 1) - - // Reference to Object as element of Package - - Name(pp00, Package(){dev0}) - - if (y113) { - m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0), 0) - } - - Store(Index(pp00, 0), Local1) - m003(Concatenate(ts, "-m003-Index2"), Local1, 0) - - if (y113) { - m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2), 0) - } - - Index(pp00, 0, Local3) - m003(Concatenate(ts, "-m003-Index4"), Local3, 0) - - Store(Index(pp00, 0, Local4), Local5) - m003(Concatenate(ts, "-m003-Index5"), Local5, 0) - - // Result of Method invocation - m004(Concatenate(ts, "-m004")) - - // Reference to Object as Result of Method invocation - m005(Concatenate(ts, "-m005")) -} +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Device
+ *
+ * (verify exceptions caused by the imprope use of Device type objects)
+ */
+
+Name(z098, 98)
+
+Device(dev0) {}
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+//
+Method(m4b6,, Serialized)
+{
+ Name(ts, "m4b6")
+
+ Device(dev1) {}
+
+ Event(e000)
+
+ Name(i000, 0)
+
+ // Local Named Object
+ Method(m000, 1, Serialized)
+ {
+ Device(dev2) {}
+
+ Store (DerefOf(dev2), Local1)
+ CH06(arg0, 0, 47)
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ if (y083) {
+ Store (DerefOf(dev0), Local1)
+ CH06(arg0, 1, 47)
+ }
+ }
+
+ // Local
+ Method(m002, 1, Serialized)
+ {
+ Device(dev2) {}
+
+ Event(e000)
+
+ CopyObject(dev2, Local0)
+
+ // CondRefOf
+
+ CondRefOf(Local0, Local1)
+ CH03(ts, z098, 1, 0, 0)
+
+ // CopyObject
+
+ CopyObject(Local0, Local1)
+ CH03(ts, z098, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(Local0)
+ CH06(arg0, 1, 47)
+
+ // DerefOf
+
+ Store (DerefOf(Local0), Local1)
+ CH06(arg0, 2, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(Local0, Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(Local0, Local1)
+ CH06(arg0, 6, 47)
+
+ // FromBCD
+
+ FromBCD(Local0, Local1)
+ CH06(arg0, 8, 47)
+
+ // Increment
+
+ Increment(Local0)
+ CH06(arg0, 9, 47)
+
+ // LNot
+
+ Store (LNot(Local0), Local1)
+ CH06(arg0, 10, 47)
+
+ // Not
+
+ Not(Local0, Local1)
+ CH06(arg0, 12, 47)
+
+ // ObjectType
+
+ Store (ObjectType(Local0), Local1)
+ CH03(ts, z098, 3, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(Local0), Local1)
+ CH03(ts, z098, 4, 0, 0)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ Store (SizeOf(Local0), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(Local0)
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(Local0)
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(Local0, Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(Local0, Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(Local0, Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(Local0, Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(Local0, Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(Local0, Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Store(Acquire(Local0, 100), Local1)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(Local0, i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, Local0, Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(Local0, i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, Local0, Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(Local0, i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, Local0, Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(Local0, i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, Local0, Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(Local0, i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, Local0, Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, Local0)
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(Local0, 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", Local0, Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(Local0, i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, Local0), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(Local0, i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, Local0), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(Local0, i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, Local0), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(Local0, i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, Local0), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(Local0, i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, Local0), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(Local0, i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, Local0), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(Local0, i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, Local0), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(Local0, i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, Local0, Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(Local0, i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, Local0, Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(Local0, i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, Local0, Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(Local0, i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, Local0, Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(Local0, i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, Local0, Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(Local0, i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, Local0, Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(Local0, i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, Local0, Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(Local0, i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, Local0, Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(Local0, 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, Local0, Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(Local0, i000), Local1)
+ CH06(arg0, 108, 47)
+
+ Store(Wait(e000, Local0), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(Local0, i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, Local0, Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(Local0, 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", Local0, 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, Local0, Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object
+ Method(m003, 3, Serialized)
+ {
+ Name(EXC0, 47) // AE_AML_OPERAND_TYPE
+
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 6)) {
+ err(arg0, z098, 200, 0, 0, Local0, 6)
+ return (1)
+ }
+
+ if (arg2) {
+ if (LNot(y503)) {
+ Store(62, EXC0) // AE_AML_NO_RETURN_VALUE
+ }
+ }
+
+ Store (DeRefOf(arg1), Local1)
+ CH03(ts, z098, 5, 0, 0)
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(arg1), Local1)
+ CH06(arg0, 1, EXC0)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(arg1), Local1)
+ CH06(arg0, 2, EXC0)
+
+ // Decrement
+
+ Decrement(DeRefOf(arg1))
+ CH06(arg0, 3, EXC0)
+
+ // DerefOf
+
+ Store (DerefOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 4, EXC0)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 6, EXC0)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 8, EXC0)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 10, EXC0)
+
+ // Increment
+
+ Increment(DeRefOf(arg1))
+ CH06(arg0, 11, EXC0)
+
+ // LNot
+
+ Store (LNot(DeRefOf(arg1)), Local1)
+ CH06(arg0, 12, EXC0)
+
+ // Not
+
+ Not(DeRefOf(arg1), Local1)
+ CH06(arg0, 14, EXC0)
+
+ // ObjectType
+
+ Store (ObjectType(DeRefOf(arg1)), Local1)
+ CH03(ts, z098, 6, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 15, EXC0)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ Store (SizeOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 16, EXC0)
+
+ // Sleep
+
+ Sleep(DeRefOf(arg1))
+ CH06(arg0, 17, EXC0)
+
+ // Stall
+
+ Stall(DeRefOf(arg1))
+ CH06(arg0, 18, EXC0)
+
+ // Store
+
+ Store(DeRefOf(arg1), Local1)
+ CH06(arg0, 19, EXC0)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 21, EXC0)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(arg1), Local1)
+ CH06(arg0, 23, EXC0)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(arg1), Local1)
+ CH06(arg0, 25, EXC0)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(arg1), Local1)
+ CH06(arg0, 27, EXC0)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(arg1), Local1)
+ CH06(arg0, 29, EXC0)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 33, EXC0)
+
+ Add(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 34, EXC0)
+
+ // And
+
+ And(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 37, EXC0)
+
+ And(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 38, EXC0)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 41, EXC0)
+
+ Concatenate(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 42, EXC0)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, EXC0)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
+ CH06(arg0, 46, EXC0)
+
+ // Divide
+
+ Divide(DeRefOf(arg1), i000, Local2)
+ CH06(arg0, 49, EXC0)
+
+ Divide(i000, DeRefOf(arg1), Local2)
+ CH06(arg0, 50, EXC0)
+
+ Divide(DeRefOf(arg1), i000, Local2, Local1)
+ CH06(arg0, 51, EXC0)
+
+ Divide(i000, DeRefOf(arg1), Local2, Local1)
+ CH06(arg0, 52, EXC0)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(arg1))
+ CH06(arg0, 53, EXC0)
+
+ // Index
+
+ Index(DeRefOf(arg1), 0, Local1)
+ CH06(arg0, 56, EXC0)
+
+ Index("0", DeRefOf(arg1), Local1)
+ CH06(arg0, 57, EXC0)
+
+ // LEqual
+
+ Store (LEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 58, EXC0)
+
+ Store (LEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 59, EXC0)
+
+ // LGreater
+
+ Store (LGreater(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 60, EXC0)
+
+ Store (LGreater(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 61, EXC0)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 64, EXC0)
+
+ Store (LLess(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 65, EXC0)
+
+ // LLessEqual
+
+ Store (LLessEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 70, EXC0)
+
+ Store (LOr(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 71, EXC0)
+
+ // Mod
+
+ Mod(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 74, EXC0)
+
+ Mod(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 75, EXC0)
+
+ // Multiply
+
+ Multiply(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 78, EXC0)
+
+ Multiply(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 79, EXC0)
+
+ // NAnd
+
+ NAnd(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 82, EXC0)
+
+ NAnd(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 83, EXC0)
+
+ // NOr
+
+ NOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 86, EXC0)
+
+ NOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 87, EXC0)
+
+ // Or
+
+ Or(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 90, EXC0)
+
+ Or(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 91, EXC0)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 94, EXC0)
+
+ ShiftLeft(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 95, EXC0)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 98, EXC0)
+
+ ShiftRight(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 99, EXC0)
+
+ // Subtract
+
+ Subtract(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 102, EXC0)
+
+ Subtract(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 103, EXC0)
+
+ // ToString
+
+ ToString(DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 106, EXC0)
+
+ ToString(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 107, EXC0)
+
+ // Wait
+
+ Store(Wait(e000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 109, EXC0)
+
+ // XOr
+
+ XOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 112, EXC0)
+
+ XOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 113, EXC0)
+
+ // Mid
+
+ Mid(DeRefOf(arg1), 1, 1, Local1)
+ CH06(arg0, 117, EXC0)
+
+ Mid("123", DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 118, EXC0)
+
+ Mid("123", 1, DeRefOf(arg1), Local1)
+ CH06(arg0, 119, EXC0)
+
+ // Match
+
+ Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, EXC0)
+
+ Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1)
+ CH06(arg0, 121, EXC0)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1)
+ CH06(arg0, 122, EXC0)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1)
+ CH06(arg0, 123, EXC0)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m004, 1, Serialized)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000)
+ {
+ CopyObject(dev0, Local0)
+ Return (Local0)
+ }
+
+ // CondRefOf
+
+ CondRefOf(m000(), Local1)
+ CH06(arg0, 1, 47)
+
+ // CopyObject
+
+ CopyObject(m000(), Local1)
+ CH03(ts, z098, 7, 0, 0)
+
+ // Decrement
+
+ Decrement(m000())
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ Store (DerefOf(m000()), Local1)
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(m000(), Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(m000(), Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(m000(), Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(m000())
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ Store (LNot(m000()), Local1)
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(m000(), Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+ /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */
+//
+// ObjectType(m000())
+// CH03(ts, z098, 8, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(m000()), Local1)
+ CH06(arg0, 14, 47)
+
+ // Release
+
+ Release(m000())
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(m000())
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(m000())
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ Store (SizeOf(m000()), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(m000())
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(m000())
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(m000(), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(m000(), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(m000(), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(m000(), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(m000(), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(m000(), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Store(Acquire(m000(), 100), Local1)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(m000(), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, m000(), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(m000(), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, m000(), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(m000(), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, m000(), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(m000(), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, m000(), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(m000(), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, m000(), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, m000())
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(m000(), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", m000(), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(m000(), i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, m000()), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(m000(), i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, m000()), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(m000(), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, m000()), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(m000(), i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, m000()), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(m000(), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, m000()), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(m000(), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, m000()), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(m000(), i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, m000()), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(m000(), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, m000(), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(m000(), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, m000(), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(m000(), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, m000(), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(m000(), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, m000(), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(m000(), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, m000(), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(m000(), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, m000(), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(m000(), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, m000(), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(m000(), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, m000(), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(m000(), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, m000(), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(m000(), i000), Local1)
+ CH06(arg0, 108, 47)
+
+ Store(Wait(e000, m000()), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(m000(), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, m000(), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(m000(), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", m000(), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, m000(), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m005, 1, Serialized)
+ {
+ Device(dev2) {}
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(dev0), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(dev2), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z098, 0, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ Store (DerefOf(m000(1, lpC0)), Local1)
+ CH03(ts, z098, Add(9, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+ Store (DerefOf(DerefOf(m000(2, lpC0))), Local1)
+ CH06(arg0, Add(1, Local0), 47)
+ CH00(arg0, 2)
+
+ Store (Index(DerefOf(m000(3, lpC0)), 0), Local1)
+ CH06(arg0, Add(2, Local0), 47)
+ CH00(arg0, 3)
+
+ Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, Add(3, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ CH03(ts, z098, 11, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Local
+ m002(Concatenate(ts, "-m002"))
+
+ // Reference to Local Named Object
+
+ m003(Concatenate(ts, "-m003-RefLocName"), RefOf(dev1), 1)
+
+ Store(RefOf(dev1), Local0)
+ m003(Concatenate(ts, "-m003-RefLocName2"), Local0, 1)
+
+ CondRefOf(dev1, Local0)
+ m003(Concatenate(ts, "-m003-CondRefLocName"), Local0, 1)
+
+ m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(dev0), 1)
+
+ Store(RefOf(dev0), Local0)
+ m003(Concatenate(ts, "-m003-RefGlobName2"), Local0, 1)
+
+ CondRefOf(dev0, Local0)
+ m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0, 1)
+
+ // Reference to Object as element of Package
+
+ Name(pp00, Package(){dev0})
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0), 0)
+ }
+
+ Store(Index(pp00, 0), Local1)
+ m003(Concatenate(ts, "-m003-Index2"), Local1, 0)
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2), 0)
+ }
+
+ Index(pp00, 0, Local3)
+ m003(Concatenate(ts, "-m003-Index4"), Local3, 0)
+
+ Store(Index(pp00, 0, Local4), Local5)
+ m003(Concatenate(ts, "-m003-Index5"), Local5, 0)
+
+ // Result of Method invocation
+ m004(Concatenate(ts, "-m004"))
+
+ // Reference to Object as Result of Method invocation
+ m005(Concatenate(ts, "-m005"))
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_07_event.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_07_event.asl index 763e5149a..7b6e24d13 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_07_event.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_07_event.asl @@ -1,1281 +1,1281 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * Event - * - * (verify exceptions caused by the imprope use of Event type objects) - */ - -Name(z099, 99) - -Event(ev00) - -// Expected exceptions: -// -// 47 - AE_AML_OPERAND_TYPE -// -Method(m4b7,, Serialized) -{ - Name(ts, "m4b7") - - Event(ev01) - - Event(e000) - - Name(i000, 0) - - // Local Named Object - Method(m000, 1, Serialized) - { - Event(ev02) - - if (y083) { - Store (DerefOf(ev02), Local1) - CH06(arg0, 0x100, 47) - } - } - - // Global Named Object - Method(m001, 1) - { - if (y083) { - Store (DerefOf(ev00), Local1) - CH06(arg0, 0x101, 47) - } - } - - // Local - Method(m002, 1, Serialized) - { - Event(ev02) - - Event(e000) - - CopyObject(ev02, Local0) - - // CondRefOf - - CondRefOf(Local0, Local1) - CH03(ts, z099, 1, 0, 0) - - // CopyObject - - CopyObject(Local0, Local1) - CH03(ts, z099, 2, 0, 0) - - // Decrement - - Decrement(Local0) - CH06(arg0, 1, 47) - - // DerefOf - - Store (DerefOf(Local0), Local1) - CH06(arg0, 2, 47) - - // FindSetLeftBit - - FindSetLeftBit(Local0, Local1) - CH06(arg0, 4, 47) - - // FindSetRightBit - - FindSetRightBit(Local0, Local1) - CH06(arg0, 6, 47) - - // FromBCD - - FromBCD(Local0, Local1) - CH06(arg0, 8, 47) - - // Increment - - Increment(Local0) - CH06(arg0, 9, 47) - - // LNot - - Store (LNot(Local0), Local1) - CH06(arg0, 10, 47) - - // Not - - Not(Local0, Local1) - CH06(arg0, 12, 47) - - // ObjectType - - Store (ObjectType(Local0), Local1) - CH03(ts, z099, 3, 0, 0) - - // RefOf - - Store (RefOf(Local0), Local1) - CH03(ts, z099, 4, 0, 0) - - // Release - - Release(Local0) - CH06(arg0, 13, 47) - - // Reset - - Reset(Local0) - CH03(ts, z099, 14, 0, 0) - - // Signal - - Signal(Local0) - CH03(ts, z099, 15, 0, 0) - - // SizeOf - - Store (SizeOf(Local0), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(Local0) - CH06(arg0, 17, 47) - - // Stall - - Stall(Local0) - CH06(arg0, 18, 47) - - // Store - - Store(Local0, Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(Local0, Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(Local0, Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(Local0, Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(Local0, Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(Local0, Local1) - CH06(arg0, 29, 47) - - // Acquire - - Store(Acquire(Local0, 100), Local1) - CH06(arg0, 30, 47) - - // Add - - Add(Local0, i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, Local0, Local1) - CH06(arg0, 34, 47) - - // And - - And(Local0, i000, Local1) - CH06(arg0, 37, 47) - - And(i000, Local0, Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(Local0, i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, Local0, Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(Local0, i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, Local0, Local2) - CH06(arg0, 50, 47) - - Divide(Local0, i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, Local0, Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, Local0) - CH06(arg0, 53, 47) - - // Index - - Index(Local0, 0, Local1) - CH06(arg0, 56, 47) - - Index("0", Local0, Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(Local0, i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, Local0), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(Local0, i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, Local0), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(Local0, i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, Local0), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(Local0, i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, Local0), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(Local0, i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, Local0), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(Local0, i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, Local0), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(Local0, i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, Local0), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(Local0, i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, Local0, Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(Local0, i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, Local0, Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(Local0, i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, Local0, Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(Local0, i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, Local0, Local1) - CH06(arg0, 87, 47) - - // Or - - Or(Local0, i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, Local0, Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(Local0, i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, Local0, Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(Local0, i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, Local0, Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(Local0, i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, Local0, Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(Local0, 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, Local0, Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(Local0, i000), Local1) - CH03(ts, z099, 108, 0, 0) - - Store(Wait(e000, Local0), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(Local0, i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, Local0, Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(Local0, 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", Local0, 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, Local0, Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1) - CH06(arg0, 123, 47) - } - - // Reference to Object - Method(m003, 2) - { - Store(ObjectType(arg1), Local0) - if (LNotEqual(Local0, 7)) { - err(arg0, z099, 200, 0, 0, Local0, 7) - return (1) - } - - Store (DeRefOf(arg1), Local1) - if(LNot(SLCK)){ - CH04(ts, 0, 47, z099, 5, 0, 0) - } - - // CondRefOf - - CondRefOf(DeRefOf(arg1), Local1) - CH06(arg0, 1, 47) - - // CopyObject - - CopyObject(DeRefOf(arg1), Local1) - CH03(ts, z099, 2, 0, 0) - - // Decrement - - Decrement(DeRefOf(arg1)) - CH06(arg0, 3, 47) - - // DerefOf - - Store (DerefOf(DeRefOf(arg1)), Local1) - CH06(arg0, 4, 47) - - // FindSetLeftBit - - FindSetLeftBit(DeRefOf(arg1), Local1) - CH06(arg0, 6, 47) - - // FindSetRightBit - - FindSetRightBit(DeRefOf(arg1), Local1) - CH06(arg0, 8, 47) - - // FromBCD - - FromBCD(DeRefOf(arg1), Local1) - CH06(arg0, 10, 47) - - // Increment - - Increment(DeRefOf(arg1)) - CH06(arg0, 11, 47) - - // LNot - - Store (LNot(DeRefOf(arg1)), Local1) - CH06(arg0, 12, 47) - - // Not - - Not(DeRefOf(arg1), Local1) - CH06(arg0, 14, 47) - - // ObjectType - - Store (ObjectType(DeRefOf(arg1)), Local1) - CH03(ts, z099, 6, 0, 0) - - // RefOf - - Store (RefOf(DeRefOf(arg1)), Local1) - CH06(arg0, 15, 47) - - // Release - - // Reset - - // Signal - - // SizeOf - - Store (SizeOf(DeRefOf(arg1)), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(DeRefOf(arg1)) - CH06(arg0, 17, 47) - - // Stall - - Stall(DeRefOf(arg1)) - CH06(arg0, 18, 47) - - // Store - - Store(DeRefOf(arg1), Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(DeRefOf(arg1), Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(DeRefOf(arg1), Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(DeRefOf(arg1), Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(DeRefOf(arg1), Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(DeRefOf(arg1), Local1) - CH06(arg0, 29, 47) - - // Acquire - - // Add - - Add(DeRefOf(arg1), i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, DeRefOf(arg1), Local1) - CH06(arg0, 34, 47) - - // And - - And(DeRefOf(arg1), i000, Local1) - CH06(arg0, 37, 47) - - And(i000, DeRefOf(arg1), Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(DeRefOf(arg1), i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, DeRefOf(arg1), Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(DeRefOf(arg1), i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, DeRefOf(arg1), Local2) - CH06(arg0, 50, 47) - - Divide(DeRefOf(arg1), i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, DeRefOf(arg1), Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, DeRefOf(arg1)) - CH06(arg0, 53, 47) - - // Index - - Index(DeRefOf(arg1), 0, Local1) - CH06(arg0, 56, 47) - - Index("0", DeRefOf(arg1), Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(DeRefOf(arg1), i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(DeRefOf(arg1), i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(DeRefOf(arg1), i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(DeRefOf(arg1), i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, DeRefOf(arg1), Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(DeRefOf(arg1), i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, DeRefOf(arg1), Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(DeRefOf(arg1), i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, DeRefOf(arg1), Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(DeRefOf(arg1), i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, DeRefOf(arg1), Local1) - CH06(arg0, 87, 47) - - // Or - - Or(DeRefOf(arg1), i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, DeRefOf(arg1), Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(DeRefOf(arg1), i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, DeRefOf(arg1), Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(DeRefOf(arg1), i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, DeRefOf(arg1), Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(DeRefOf(arg1), i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, DeRefOf(arg1), Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(DeRefOf(arg1), 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, DeRefOf(arg1), Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(e000, DeRefOf(arg1)), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(DeRefOf(arg1), i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, DeRefOf(arg1), Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(DeRefOf(arg1), 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", DeRefOf(arg1), 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, DeRefOf(arg1), Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1) - CH06(arg0, 123, 47) - - return (0) - } - - // Result of Method invocation - Method(m004, 1, Serialized) - { - Name(i000, 0) // Label to check m000 invocations - - Method(m000) - { - CopyObject(ev00, Local0) - Return (Local0) - } - - // CondRefOf - - if (y601) { - Store (CondRefOf(m000()), Local1) - CH06(arg0, 0, 47) - - CondRefOf(m000(), Local1) - CH06(arg0, 1, 47) - } - - // CopyObject - - CopyObject(m000(), Local1) - CH03(ts, z099, 7, 0, 0) - - // Decrement - - Decrement(m000()) - CH06(arg0, 2, 47) - - // DerefOf - - Store (DerefOf(m000()), Local1) - CH06(arg0, 3, 47) - - // FindSetLeftBit - - FindSetLeftBit(m000(), Local1) - CH06(arg0, 5, 47) - - // FindSetRightBit - - FindSetRightBit(m000(), Local1) - CH06(arg0, 7, 47) - - // FromBCD - - FromBCD(m000(), Local1) - CH06(arg0, 9, 47) - - // Increment - - Increment(m000()) - CH06(arg0, 10, 47) - - // LNot - - Store (LNot(m000()), Local1) - CH06(arg0, 11, 47) - - // Not - - Not(m000(), Local1) - CH06(arg0, 13, 47) - - // ObjectType - /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ -// -// ObjectType(m000()) -// CH03(ts, z099, 8, 0, 0) - - // RefOf - - if (y601) { - Store (RefOf(m000()), Local1) - CH06(arg0, 14, 47) - } - - // Release - - Release(m000()) - CH06(arg0, 13, 47) - - // Reset - - Reset(m000()) - CH06(arg0, 14, 47) - - // Signal - - Signal(m000()) - CH06(arg0, 15, 47) - - // SizeOf - - Store (SizeOf(m000()), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(m000()) - CH06(arg0, 17, 47) - - // Stall - - Stall(m000()) - CH06(arg0, 18, 47) - - // Store - - Store(m000(), Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(m000(), Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(m000(), Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(m000(), Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(m000(), Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(m000(), Local1) - CH06(arg0, 29, 47) - - // Acquire - - Store(Acquire(m000(), 100), Local1) - CH06(arg0, 30, 47) - - // Add - - Add(m000(), i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, m000(), Local1) - CH06(arg0, 34, 47) - - // And - - And(m000(), i000, Local1) - CH06(arg0, 37, 47) - - And(i000, m000(), Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(m000(), i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, m000(), Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(m000(), i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, m000(), Local2) - CH06(arg0, 50, 47) - - Divide(m000(), i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, m000(), Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, m000()) - CH06(arg0, 53, 47) - - // Index - - Index(m000(), 0, Local1) - CH06(arg0, 56, 47) - - Index("0", m000(), Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(m000(), i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, m000()), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(m000(), i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, m000()), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(m000(), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, m000()), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(m000(), i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, m000()), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(m000(), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, m000()), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(m000(), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, m000()), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(m000(), i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, m000()), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(m000(), i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, m000(), Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(m000(), i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, m000(), Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(m000(), i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, m000(), Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(m000(), i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, m000(), Local1) - CH06(arg0, 87, 47) - - // Or - - Or(m000(), i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, m000(), Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(m000(), i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, m000(), Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(m000(), i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, m000(), Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(m000(), i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, m000(), Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(m000(), 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, m000(), Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(m000(), i000), Local1) - CH06(arg0, 108, 47) - - Store(Wait(e000, m000()),Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(m000(), i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, m000(), Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(m000(), 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", m000(), 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, m000(), Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1) - CH06(arg0, 123, 47) - } - - // Reference to Object as Result of Method invocation - Method(m005, 1, Serialized) - { - Event(ev02) - - Name(i000, 0) // Label to check m000 invocations - - Method(m000, 2) - { - Store(arg0, i000) - if (LEqual(arg1, 0)) { - Store(Refof(ev00), Local0) - } elseif (LEqual(arg1, 1)) { - Store(Refof(ev02), Local0) - } - Return (Local0) - } - - Method(CH00, 2) - { - if (LNotEqual(i000, arg1)) { - err(arg0, z099, 0, 0, 0, i000, arg1) - } - } - - Name(lpN0, 2) - Name(lpC0, 0) - - While (lpN0) { - Multiply(3, lpC0, Local0) - - Store(0, i000) - - Store (DerefOf(m000(1, lpC0)), Local1) - if(LNot(SLCK)){ - CH04(ts, 0, 47, z099, Add(9, lpC0), 0, 0) - } - CH00(arg0, 1) - - Store (DerefOf(DerefOf(m000(2, lpC0))), Local1) - if(LNot(SLCK)){ - CH06(arg0, Add(1, Local0), 47) - } - CH00(arg0, 2) - - Store (Index(DerefOf(m000(3, lpC0)), 0), Local1) - CH06(arg0, Add(2, Local0), 47) - CH00(arg0, 3) - - Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, Add(3, Local0), 47) - CH00(arg0, 4) - - Decrement(lpN0) - Increment(lpC0) - } - } - - SET0(z099, ts, 0) - - CH03(ts, z099, 11, 0, 0) - - // Local Named Object - m000(ts) - - // Global Named Object - m001(ts) - - // Local - m002(Concatenate(ts, "-m002")) - - // Reference to Local Named Object - - m003(Concatenate(ts, "-m003-RefLocName"), RefOf(ev01)) - - Store(RefOf(ev01), Local0) - m003(Concatenate(ts, "-m003-RefLocName2"), Local0) - - CondRefOf(ev01, Local0) - m003(Concatenate(ts, "-m003-CondRefLocName"), Local0) - - m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(ev00)) - - Store(RefOf(ev00), Local0) - m003(Concatenate(ts, "-m003-RefGlobName2"), Local0) - - CondRefOf(ev00, Local0) - m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0) - - // Reference to Object as element of Package - - Name(pp00, Package(){ev00}) - - if (y113) { - m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0)) - } - - Store(Index(pp00, 0), Local1) - m003(Concatenate(ts, "-m003-Index2"), Local1) - - if (y113) { - m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2)) - } - - Index(pp00, 0, Local3) - m003(Concatenate(ts, "-m003-Index4"), Local3) - - Store(Index(pp00, 0, Local4), Local5) - m003(Concatenate(ts, "-m003-Index5"), Local5) - - // Result of Method invocation - m004(Concatenate(ts, "-m004")) - - // Reference to Object as Result of Method invocation - m005(Concatenate(ts, "-m005")) - - RST0() -} +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Event
+ *
+ * (verify exceptions caused by the imprope use of Event type objects)
+ */
+
+Name(z099, 99)
+
+Event(ev00)
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+//
+Method(m4b7,, Serialized)
+{
+ Name(ts, "m4b7")
+
+ Event(ev01)
+
+ Event(e000)
+
+ Name(i000, 0)
+
+ // Local Named Object
+ Method(m000, 1, Serialized)
+ {
+ Event(ev02)
+
+ if (y083) {
+ Store (DerefOf(ev02), Local1)
+ CH06(arg0, 0x100, 47)
+ }
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ if (y083) {
+ Store (DerefOf(ev00), Local1)
+ CH06(arg0, 0x101, 47)
+ }
+ }
+
+ // Local
+ Method(m002, 1, Serialized)
+ {
+ Event(ev02)
+
+ Event(e000)
+
+ CopyObject(ev02, Local0)
+
+ // CondRefOf
+
+ CondRefOf(Local0, Local1)
+ CH03(ts, z099, 1, 0, 0)
+
+ // CopyObject
+
+ CopyObject(Local0, Local1)
+ CH03(ts, z099, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(Local0)
+ CH06(arg0, 1, 47)
+
+ // DerefOf
+
+ Store (DerefOf(Local0), Local1)
+ CH06(arg0, 2, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(Local0, Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(Local0, Local1)
+ CH06(arg0, 6, 47)
+
+ // FromBCD
+
+ FromBCD(Local0, Local1)
+ CH06(arg0, 8, 47)
+
+ // Increment
+
+ Increment(Local0)
+ CH06(arg0, 9, 47)
+
+ // LNot
+
+ Store (LNot(Local0), Local1)
+ CH06(arg0, 10, 47)
+
+ // Not
+
+ Not(Local0, Local1)
+ CH06(arg0, 12, 47)
+
+ // ObjectType
+
+ Store (ObjectType(Local0), Local1)
+ CH03(ts, z099, 3, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(Local0), Local1)
+ CH03(ts, z099, 4, 0, 0)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH03(ts, z099, 14, 0, 0)
+
+ // Signal
+
+ Signal(Local0)
+ CH03(ts, z099, 15, 0, 0)
+
+ // SizeOf
+
+ Store (SizeOf(Local0), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(Local0)
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(Local0)
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(Local0, Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(Local0, Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(Local0, Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(Local0, Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(Local0, Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(Local0, Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Store(Acquire(Local0, 100), Local1)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(Local0, i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, Local0, Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(Local0, i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, Local0, Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(Local0, i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, Local0, Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(Local0, i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, Local0, Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(Local0, i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, Local0, Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, Local0)
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(Local0, 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", Local0, Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(Local0, i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, Local0), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(Local0, i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, Local0), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(Local0, i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, Local0), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(Local0, i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, Local0), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(Local0, i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, Local0), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(Local0, i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, Local0), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(Local0, i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, Local0), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(Local0, i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, Local0, Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(Local0, i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, Local0, Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(Local0, i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, Local0, Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(Local0, i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, Local0, Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(Local0, i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, Local0, Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(Local0, i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, Local0, Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(Local0, i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, Local0, Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(Local0, i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, Local0, Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(Local0, 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, Local0, Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(Local0, i000), Local1)
+ CH03(ts, z099, 108, 0, 0)
+
+ Store(Wait(e000, Local0), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(Local0, i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, Local0, Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(Local0, 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", Local0, 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, Local0, Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object
+ Method(m003, 2)
+ {
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 7)) {
+ err(arg0, z099, 200, 0, 0, Local0, 7)
+ return (1)
+ }
+
+ Store (DeRefOf(arg1), Local1)
+ if(LNot(SLCK)){
+ CH04(ts, 0, 47, z099, 5, 0, 0)
+ }
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(arg1), Local1)
+ CH06(arg0, 1, 47)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(arg1), Local1)
+ CH03(ts, z099, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(DeRefOf(arg1))
+ CH06(arg0, 3, 47)
+
+ // DerefOf
+
+ Store (DerefOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 6, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 8, 47)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 10, 47)
+
+ // Increment
+
+ Increment(DeRefOf(arg1))
+ CH06(arg0, 11, 47)
+
+ // LNot
+
+ Store (LNot(DeRefOf(arg1)), Local1)
+ CH06(arg0, 12, 47)
+
+ // Not
+
+ Not(DeRefOf(arg1), Local1)
+ CH06(arg0, 14, 47)
+
+ // ObjectType
+
+ Store (ObjectType(DeRefOf(arg1)), Local1)
+ CH03(ts, z099, 6, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 15, 47)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ Store (SizeOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(DeRefOf(arg1))
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(DeRefOf(arg1))
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(DeRefOf(arg1), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(arg1), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(arg1), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(arg1), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(arg1), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(DeRefOf(arg1), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(DeRefOf(arg1), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(arg1))
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(DeRefOf(arg1), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", DeRefOf(arg1), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(e000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(DeRefOf(arg1), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, DeRefOf(arg1), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1)
+ CH06(arg0, 123, 47)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m004, 1, Serialized)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000)
+ {
+ CopyObject(ev00, Local0)
+ Return (Local0)
+ }
+
+ // CondRefOf
+
+ if (y601) {
+ Store (CondRefOf(m000()), Local1)
+ CH06(arg0, 0, 47)
+
+ CondRefOf(m000(), Local1)
+ CH06(arg0, 1, 47)
+ }
+
+ // CopyObject
+
+ CopyObject(m000(), Local1)
+ CH03(ts, z099, 7, 0, 0)
+
+ // Decrement
+
+ Decrement(m000())
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ Store (DerefOf(m000()), Local1)
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(m000(), Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(m000(), Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(m000(), Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(m000())
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ Store (LNot(m000()), Local1)
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(m000(), Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+ /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */
+//
+// ObjectType(m000())
+// CH03(ts, z099, 8, 0, 0)
+
+ // RefOf
+
+ if (y601) {
+ Store (RefOf(m000()), Local1)
+ CH06(arg0, 14, 47)
+ }
+
+ // Release
+
+ Release(m000())
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(m000())
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(m000())
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ Store (SizeOf(m000()), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(m000())
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(m000())
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(m000(), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(m000(), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(m000(), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(m000(), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(m000(), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(m000(), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Store(Acquire(m000(), 100), Local1)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(m000(), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, m000(), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(m000(), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, m000(), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(m000(), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, m000(), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(m000(), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, m000(), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(m000(), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, m000(), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, m000())
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(m000(), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", m000(), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(m000(), i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, m000()), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(m000(), i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, m000()), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(m000(), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, m000()), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(m000(), i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, m000()), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(m000(), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, m000()), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(m000(), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, m000()), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(m000(), i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, m000()), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(m000(), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, m000(), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(m000(), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, m000(), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(m000(), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, m000(), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(m000(), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, m000(), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(m000(), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, m000(), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(m000(), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, m000(), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(m000(), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, m000(), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(m000(), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, m000(), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(m000(), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, m000(), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(m000(), i000), Local1)
+ CH06(arg0, 108, 47)
+
+ Store(Wait(e000, m000()),Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(m000(), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, m000(), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(m000(), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", m000(), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, m000(), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m005, 1, Serialized)
+ {
+ Event(ev02)
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(ev00), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(ev02), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z099, 0, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ Store (DerefOf(m000(1, lpC0)), Local1)
+ if(LNot(SLCK)){
+ CH04(ts, 0, 47, z099, Add(9, lpC0), 0, 0)
+ }
+ CH00(arg0, 1)
+
+ Store (DerefOf(DerefOf(m000(2, lpC0))), Local1)
+ if(LNot(SLCK)){
+ CH06(arg0, Add(1, Local0), 47)
+ }
+ CH00(arg0, 2)
+
+ Store (Index(DerefOf(m000(3, lpC0)), 0), Local1)
+ CH06(arg0, Add(2, Local0), 47)
+ CH00(arg0, 3)
+
+ Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, Add(3, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ SET0(z099, ts, 0)
+
+ CH03(ts, z099, 11, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Local
+ m002(Concatenate(ts, "-m002"))
+
+ // Reference to Local Named Object
+
+ m003(Concatenate(ts, "-m003-RefLocName"), RefOf(ev01))
+
+ Store(RefOf(ev01), Local0)
+ m003(Concatenate(ts, "-m003-RefLocName2"), Local0)
+
+ CondRefOf(ev01, Local0)
+ m003(Concatenate(ts, "-m003-CondRefLocName"), Local0)
+
+ m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(ev00))
+
+ Store(RefOf(ev00), Local0)
+ m003(Concatenate(ts, "-m003-RefGlobName2"), Local0)
+
+ CondRefOf(ev00, Local0)
+ m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0)
+
+ // Reference to Object as element of Package
+
+ Name(pp00, Package(){ev00})
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0))
+ }
+
+ Store(Index(pp00, 0), Local1)
+ m003(Concatenate(ts, "-m003-Index2"), Local1)
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2))
+ }
+
+ Index(pp00, 0, Local3)
+ m003(Concatenate(ts, "-m003-Index4"), Local3)
+
+ Store(Index(pp00, 0, Local4), Local5)
+ m003(Concatenate(ts, "-m003-Index5"), Local5)
+
+ // Result of Method invocation
+ m004(Concatenate(ts, "-m004"))
+
+ // Reference to Object as Result of Method invocation
+ m005(Concatenate(ts, "-m005"))
+
+ RST0()
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_08_method.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_08_method.asl index 710efdc55..50c037f98 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_08_method.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_08_method.asl @@ -1,1281 +1,1281 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * Method - * - * (verify exceptions caused by the imprope use of Method type objects) - */ - -Name(z100, 100) - -Method(m4f0) {Return ("m4f0")} - -// Expected exceptions: -// -// 47 - AE_AML_OPERAND_TYPE -// -Method(m4b8,, Serialized) -{ - Name(ts, "m4b8") - - Method(m4f1) {Return ("m4f1")} - - Event(e000) - - Name(i000, 0) - - // Local Named Object - Method(m000, 1) - { - Method(m4f2) {Return ("m4f2")} - - if (y083) { - Store (DerefOf(m4f2), Local1) - CH06(arg0, 0, 47) - } - } - - // Global Named Object - Method(m001, 1) - { - if (y083) { - Store (DerefOf(m4f0), Local1) - CH06(arg0, 1, 47) - } - } - - // Local - Method(m002, 1, Serialized) - { - Method(m4f2) {Return ("m4f2")} - - Event(e000) - - CopyObject(Derefof(Refof(m4f2)), Local0) - - // CondRefOf - - CondRefOf(Local0, Local1) - CH03(ts, z100, 1, 0, 0) - - // CopyObject - - CopyObject(Local0, Local1) - CH03(ts, z100, 2, 0, 0) - - // Decrement - - Decrement(Local0) - CH06(arg0, 1, 47) - - // DerefOf - - Store (DerefOf(Local0), Local1) - CH06(arg0, 2, 47) - - // FindSetLeftBit - - FindSetLeftBit(Local0, Local1) - CH06(arg0, 4, 47) - - // FindSetRightBit - - FindSetRightBit(Local0, Local1) - CH06(arg0, 6, 47) - - // FromBCD - - FromBCD(Local0, Local1) - CH06(arg0, 8, 47) - - // Increment - - Increment(Local0) - CH06(arg0, 9, 47) - - // LNot - - Store (LNot(Local0), Local1) - CH06(arg0, 10, 47) - - // Not - - Not(Local0, Local1) - CH06(arg0, 12, 47) - - // ObjectType - - Store (ObjectType(Local0), Local1) - CH03(ts, z100, 3, 0, 0) - - // RefOf - - Store (RefOf(Local0), Local1) - CH03(ts, z100, 4, 0, 0) - - // Release - - Release(Local0) - CH06(arg0, 13, 47) - - // Reset - - Reset(Local0) - CH06(arg0, 14, 47) - - // Signal - - Signal(Local0) - CH06(arg0, 15, 47) - - // SizeOf - - Store (SizeOf(Local0), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(Local0) - CH06(arg0, 17, 47) - - // Stall - - Stall(Local0) - CH06(arg0, 18, 47) - - // Store - - Store(Local0, Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(Local0, Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(Local0, Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(Local0, Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(Local0, Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(Local0, Local1) - CH06(arg0, 29, 47) - - // Acquire - - Store(Acquire(Local0, 100), Local1) - CH06(arg0, 30, 47) - - // Add - - Add(Local0, i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, Local0, Local1) - CH06(arg0, 34, 47) - - // And - - And(Local0, i000, Local1) - CH06(arg0, 37, 47) - - And(i000, Local0, Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(Local0, i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, Local0, Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(Local0, i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, Local0, Local2) - CH06(arg0, 50, 47) - - Divide(Local0, i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, Local0, Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, Local0) - CH06(arg0, 53, 47) - - // Index - - Index(Local0, 0, Local1) - CH06(arg0, 56, 47) - - Index("0", Local0, Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(Local0, i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, Local0), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(Local0, i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, Local0), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(Local0, i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, Local0), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(Local0, i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, Local0), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(Local0, i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, Local0), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(Local0, i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, Local0), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(Local0, i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, Local0), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(Local0, i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, Local0, Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(Local0, i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, Local0, Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(Local0, i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, Local0, Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(Local0, i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, Local0, Local1) - CH06(arg0, 87, 47) - - // Or - - Or(Local0, i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, Local0, Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(Local0, i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, Local0, Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(Local0, i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, Local0, Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(Local0, i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, Local0, Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(Local0, 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, Local0, Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(Local0, i000), Local1) - CH06(arg0, 108, 47) - - Store(Wait(e000, Local0), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(Local0, i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, Local0, Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(Local0, 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", Local0, 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, Local0, Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1) - CH06(arg0, 123, 47) - } - - // Reference to Object - Method(m003, 2) - { - Store(ObjectType(arg1), Local0) - if (LNotEqual(Local0, 8)) { - err(arg0, z100, 200, 0, 0, Local0, 8) - return (1) - } - - Store (DeRefOf(arg1), Local1) - if(LNot(SLCK)){ - CH04(ts, 0, 47, z100, 5, 0, 0) - } - - // CondRefOf - - CondRefOf(DeRefOf(arg1), Local1) - CH06(arg0, 1, 47) - - // CopyObject - - CopyObject(DeRefOf(arg1), Local1) - CH03(ts, z100, 2, 0, 0) - - // Decrement - - Decrement(DeRefOf(arg1)) - CH06(arg0, 3, 47) - - // DerefOf - - Store (DerefOf(DeRefOf(arg1)), Local1) - CH06(arg0, 4, 47) - - // FindSetLeftBit - - FindSetLeftBit(DeRefOf(arg1), Local1) - CH06(arg0, 6, 47) - - // FindSetRightBit - - FindSetRightBit(DeRefOf(arg1), Local1) - CH06(arg0, 8, 47) - - // FromBCD - - FromBCD(DeRefOf(arg1), Local1) - CH06(arg0, 10, 47) - - // Increment - - Increment(DeRefOf(arg1)) - CH06(arg0, 11, 47) - - // LNot - - Store (LNot(DeRefOf(arg1)), Local1) - CH06(arg0, 12, 47) - - // Not - - Not(DeRefOf(arg1), Local1) - CH06(arg0, 14, 47) - - // ObjectType - - Store (ObjectType(DeRefOf(arg1)), Local1) - CH03(ts, z100, 6, 0, 0) - - // RefOf - - Store (RefOf(DeRefOf(arg1)), Local1) - CH06(arg0, 15, 47) - - // Release - - // Reset - - // Signal - - // SizeOf - - Store (SizeOf(DeRefOf(arg1)), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(DeRefOf(arg1)) - CH06(arg0, 17, 47) - - // Stall - - Stall(DeRefOf(arg1)) - CH06(arg0, 18, 47) - - // Store - - Store(DeRefOf(arg1), Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(DeRefOf(arg1), Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(DeRefOf(arg1), Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(DeRefOf(arg1), Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(DeRefOf(arg1), Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(DeRefOf(arg1), Local1) - CH06(arg0, 29, 47) - - // Acquire - - // Add - - Add(DeRefOf(arg1), i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, DeRefOf(arg1), Local1) - CH06(arg0, 34, 47) - - // And - - And(DeRefOf(arg1), i000, Local1) - CH06(arg0, 37, 47) - - And(i000, DeRefOf(arg1), Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(DeRefOf(arg1), i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, DeRefOf(arg1), Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(DeRefOf(arg1), i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, DeRefOf(arg1), Local2) - CH06(arg0, 50, 47) - - Divide(DeRefOf(arg1), i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, DeRefOf(arg1), Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, DeRefOf(arg1)) - CH06(arg0, 53, 47) - - // Index - - Index(DeRefOf(arg1), 0, Local1) - CH06(arg0, 56, 47) - - Index("0", DeRefOf(arg1), Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(DeRefOf(arg1), i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(DeRefOf(arg1), i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(DeRefOf(arg1), i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(DeRefOf(arg1), i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, DeRefOf(arg1), Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(DeRefOf(arg1), i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, DeRefOf(arg1), Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(DeRefOf(arg1), i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, DeRefOf(arg1), Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(DeRefOf(arg1), i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, DeRefOf(arg1), Local1) - CH06(arg0, 87, 47) - - // Or - - Or(DeRefOf(arg1), i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, DeRefOf(arg1), Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(DeRefOf(arg1), i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, DeRefOf(arg1), Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(DeRefOf(arg1), i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, DeRefOf(arg1), Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(DeRefOf(arg1), i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, DeRefOf(arg1), Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(DeRefOf(arg1), 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, DeRefOf(arg1), Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(e000, DeRefOf(arg1)), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(DeRefOf(arg1), i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, DeRefOf(arg1), Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(DeRefOf(arg1), 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", DeRefOf(arg1), 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, DeRefOf(arg1), Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1) - CH06(arg0, 123, 47) - - return (0) - } - - // Result of Method invocation - Method(m004, 1, Serialized) - { - Name(i000, 0) // Label to check m000 invocations - - Method(m000) - { - CopyObject(Derefof(Refof(m4f0)), Local0) - Return (Local0) - } - - // CondRefOf - - if (y601) { - Store (CondRefOf(m000()), Local1) - CH06(arg0, 0, 47) - - CondRefOf(m000(), Local1) - CH06(arg0, 1, 47) - } - - // CopyObject - - CopyObject(m000(), Local1) - CH03(ts, z100, 7, 0, 0) - - // Decrement - - Decrement(m000()) - CH06(arg0, 2, 47) - - // DerefOf - - Store (DerefOf(m000()), Local1) - CH06(arg0, 3, 47) - - // FindSetLeftBit - - FindSetLeftBit(m000(), Local1) - CH06(arg0, 5, 47) - - // FindSetRightBit - - FindSetRightBit(m000(), Local1) - CH06(arg0, 7, 47) - - // FromBCD - - FromBCD(m000(), Local1) - CH06(arg0, 9, 47) - - // Increment - - Increment(m000()) - CH06(arg0, 10, 47) - - // LNot - - Store (LNot(m000()), Local1) - CH06(arg0, 11, 47) - - // Not - - Not(m000(), Local1) - CH06(arg0, 13, 47) - - // ObjectType - /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ -// -// ObjectType(m000()) -// CH03(ts, z100, 8, 0, 0) - - // RefOf - - if (y601) { - Store (RefOf(m000()), Local1) - CH06(arg0, 14, 47) - } - - // Release - - Release(m000()) - CH06(arg0, 13, 47) - - // Reset - - Reset(m000()) - CH06(arg0, 14, 47) - - // Signal - - Signal(m000()) - CH06(arg0, 15, 47) - - // SizeOf - - Store (SizeOf(m000()), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(m000()) - CH06(arg0, 17, 47) - - // Stall - - Stall(m000()) - CH06(arg0, 18, 47) - - // Store - - Store(m000(), Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(m000(), Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(m000(), Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(m000(), Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(m000(), Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(m000(), Local1) - CH06(arg0, 29, 47) - - // Acquire - - Store(Acquire(m000(), 100), Local1) - CH06(arg0, 30, 47) - - // Add - - Add(m000(), i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, m000(), Local1) - CH06(arg0, 34, 47) - - // And - - And(m000(), i000, Local1) - CH06(arg0, 37, 47) - - And(i000, m000(), Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(m000(), i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, m000(), Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(m000(), i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, m000(), Local2) - CH06(arg0, 50, 47) - - Divide(m000(), i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, m000(), Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, m000()) - CH06(arg0, 53, 47) - - // Index - - Index(m000(), 0, Local1) - CH06(arg0, 56, 47) - - Index("0", m000(), Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(m000(), i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, m000()), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(m000(), i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, m000()), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(m000(), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, m000()), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(m000(), i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, m000()), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(m000(), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, m000()), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(m000(), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, m000()), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(m000(), i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, m000()), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(m000(), i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, m000(), Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(m000(), i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, m000(), Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(m000(), i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, m000(), Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(m000(), i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, m000(), Local1) - CH06(arg0, 87, 47) - - // Or - - Or(m000(), i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, m000(), Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(m000(), i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, m000(), Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(m000(), i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, m000(), Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(m000(), i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, m000(), Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(m000(), 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, m000(), Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(m000(), i000), Local1) - CH06(arg0, 108, 47) - - Store(Wait(e000, m000()), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(m000(), i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, m000(), Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(m000(), 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", m000(), 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, m000(), Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1) - CH06(arg0, 123, 47) - } - - // Reference to Object as Result of Method invocation - Method(m005, 1, Serialized) - { - Method(m4f2) {Return ("m4f2")} - - Name(i000, 0) // Label to check m000 invocations - - Method(m000, 2) - { - Store(arg0, i000) - if (LEqual(arg1, 0)) { - Store(Refof(m4f0), Local0) - } elseif (LEqual(arg1, 1)) { - Store(Refof(m4f2), Local0) - } - Return (Local0) - } - - Method(CH00, 2) - { - if (LNotEqual(i000, arg1)) { - err(arg0, z100, 0, 0, 0, i000, arg1) - } - } - - Name(lpN0, 2) - Name(lpC0, 0) - - While (lpN0) { - Multiply(3, lpC0, Local0) - - Store(0, i000) - - Store (DerefOf(m000(1, lpC0)), Local1) - if(LNot(SLCK)){ - CH04(ts, 0, 47, z100, Add(9, lpC0), 0, 0) - } - CH00(arg0, 1) - - Store (DerefOf(DerefOf(m000(2, lpC0))), Local1) - if(LNot(SLCK)){ - CH06(arg0, Add(1, Local0), 47) - } - CH00(arg0, 2) - - Store (Index(DerefOf(m000(3, lpC0)), 0), Local1) - CH06(arg0, Add(2, Local0), 47) - CH00(arg0, 3) - - Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, Add(3, Local0), 47) - CH00(arg0, 4) - - Decrement(lpN0) - Increment(lpC0) - } - } - - SET0(z100, ts, 0) - - CH03(ts, z100, 11, 0, 0) - - // Local Named Object - m000(ts) - - // Global Named Object - m001(ts) - - // Local - m002(Concatenate(ts, "-m002")) - - // Reference to Local Named Object - - m003(Concatenate(ts, "-m003-RefLocName"), RefOf(m4f1)) - - Store(RefOf(m4f1), Local0) - m003(Concatenate(ts, "-m003-RefLocName2"), Local0) - - CondRefOf(m4f1, Local0) - m003(Concatenate(ts, "-m003-CondRefLocName"), Local0) - - m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(m4f0)) - - Store(RefOf(m4f0), Local0) - m003(Concatenate(ts, "-m003-RefGlobName2"), Local0) - - CondRefOf(m4f0, Local0) - m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0) - - // Reference to Object as element of Package - - Name(pp00, Package(){m4f0}) - - if (y113) { - m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0)) - } - - Store(Index(pp00, 0), Local1) - m003(Concatenate(ts, "-m003-Index2"), Local1) - - if (y113) { - m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2)) - } - - Index(pp00, 0, Local3) - m003(Concatenate(ts, "-m003-Index4"), Local3) - - Store(Index(pp00, 0, Local4), Local5) - m003(Concatenate(ts, "-m003-Index5"), Local5) - - // Result of Method invocation - m004(Concatenate(ts, "-m004")) - - // Reference to Object as Result of Method invocation - m005(Concatenate(ts, "-m005")) - - RST0() -} +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Method
+ *
+ * (verify exceptions caused by the imprope use of Method type objects)
+ */
+
+Name(z100, 100)
+
+Method(m4f0) {Return ("m4f0")}
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+//
+Method(m4b8,, Serialized)
+{
+ Name(ts, "m4b8")
+
+ Method(m4f1) {Return ("m4f1")}
+
+ Event(e000)
+
+ Name(i000, 0)
+
+ // Local Named Object
+ Method(m000, 1)
+ {
+ Method(m4f2) {Return ("m4f2")}
+
+ if (y083) {
+ Store (DerefOf(m4f2), Local1)
+ CH06(arg0, 0, 47)
+ }
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ if (y083) {
+ Store (DerefOf(m4f0), Local1)
+ CH06(arg0, 1, 47)
+ }
+ }
+
+ // Local
+ Method(m002, 1, Serialized)
+ {
+ Method(m4f2) {Return ("m4f2")}
+
+ Event(e000)
+
+ CopyObject(Derefof(Refof(m4f2)), Local0)
+
+ // CondRefOf
+
+ CondRefOf(Local0, Local1)
+ CH03(ts, z100, 1, 0, 0)
+
+ // CopyObject
+
+ CopyObject(Local0, Local1)
+ CH03(ts, z100, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(Local0)
+ CH06(arg0, 1, 47)
+
+ // DerefOf
+
+ Store (DerefOf(Local0), Local1)
+ CH06(arg0, 2, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(Local0, Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(Local0, Local1)
+ CH06(arg0, 6, 47)
+
+ // FromBCD
+
+ FromBCD(Local0, Local1)
+ CH06(arg0, 8, 47)
+
+ // Increment
+
+ Increment(Local0)
+ CH06(arg0, 9, 47)
+
+ // LNot
+
+ Store (LNot(Local0), Local1)
+ CH06(arg0, 10, 47)
+
+ // Not
+
+ Not(Local0, Local1)
+ CH06(arg0, 12, 47)
+
+ // ObjectType
+
+ Store (ObjectType(Local0), Local1)
+ CH03(ts, z100, 3, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(Local0), Local1)
+ CH03(ts, z100, 4, 0, 0)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ Store (SizeOf(Local0), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(Local0)
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(Local0)
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(Local0, Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(Local0, Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(Local0, Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(Local0, Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(Local0, Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(Local0, Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Store(Acquire(Local0, 100), Local1)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(Local0, i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, Local0, Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(Local0, i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, Local0, Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(Local0, i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, Local0, Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(Local0, i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, Local0, Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(Local0, i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, Local0, Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, Local0)
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(Local0, 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", Local0, Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(Local0, i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, Local0), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(Local0, i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, Local0), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(Local0, i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, Local0), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(Local0, i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, Local0), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(Local0, i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, Local0), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(Local0, i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, Local0), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(Local0, i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, Local0), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(Local0, i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, Local0, Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(Local0, i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, Local0, Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(Local0, i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, Local0, Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(Local0, i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, Local0, Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(Local0, i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, Local0, Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(Local0, i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, Local0, Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(Local0, i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, Local0, Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(Local0, i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, Local0, Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(Local0, 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, Local0, Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(Local0, i000), Local1)
+ CH06(arg0, 108, 47)
+
+ Store(Wait(e000, Local0), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(Local0, i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, Local0, Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(Local0, 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", Local0, 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, Local0, Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object
+ Method(m003, 2)
+ {
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 8)) {
+ err(arg0, z100, 200, 0, 0, Local0, 8)
+ return (1)
+ }
+
+ Store (DeRefOf(arg1), Local1)
+ if(LNot(SLCK)){
+ CH04(ts, 0, 47, z100, 5, 0, 0)
+ }
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(arg1), Local1)
+ CH06(arg0, 1, 47)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(arg1), Local1)
+ CH03(ts, z100, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(DeRefOf(arg1))
+ CH06(arg0, 3, 47)
+
+ // DerefOf
+
+ Store (DerefOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 6, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 8, 47)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 10, 47)
+
+ // Increment
+
+ Increment(DeRefOf(arg1))
+ CH06(arg0, 11, 47)
+
+ // LNot
+
+ Store (LNot(DeRefOf(arg1)), Local1)
+ CH06(arg0, 12, 47)
+
+ // Not
+
+ Not(DeRefOf(arg1), Local1)
+ CH06(arg0, 14, 47)
+
+ // ObjectType
+
+ Store (ObjectType(DeRefOf(arg1)), Local1)
+ CH03(ts, z100, 6, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 15, 47)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ Store (SizeOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(DeRefOf(arg1))
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(DeRefOf(arg1))
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(DeRefOf(arg1), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(arg1), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(arg1), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(arg1), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(arg1), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(DeRefOf(arg1), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(DeRefOf(arg1), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(arg1))
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(DeRefOf(arg1), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", DeRefOf(arg1), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(e000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(DeRefOf(arg1), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, DeRefOf(arg1), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1)
+ CH06(arg0, 123, 47)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m004, 1, Serialized)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000)
+ {
+ CopyObject(Derefof(Refof(m4f0)), Local0)
+ Return (Local0)
+ }
+
+ // CondRefOf
+
+ if (y601) {
+ Store (CondRefOf(m000()), Local1)
+ CH06(arg0, 0, 47)
+
+ CondRefOf(m000(), Local1)
+ CH06(arg0, 1, 47)
+ }
+
+ // CopyObject
+
+ CopyObject(m000(), Local1)
+ CH03(ts, z100, 7, 0, 0)
+
+ // Decrement
+
+ Decrement(m000())
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ Store (DerefOf(m000()), Local1)
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(m000(), Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(m000(), Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(m000(), Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(m000())
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ Store (LNot(m000()), Local1)
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(m000(), Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+ /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */
+//
+// ObjectType(m000())
+// CH03(ts, z100, 8, 0, 0)
+
+ // RefOf
+
+ if (y601) {
+ Store (RefOf(m000()), Local1)
+ CH06(arg0, 14, 47)
+ }
+
+ // Release
+
+ Release(m000())
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(m000())
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(m000())
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ Store (SizeOf(m000()), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(m000())
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(m000())
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(m000(), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(m000(), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(m000(), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(m000(), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(m000(), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(m000(), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Store(Acquire(m000(), 100), Local1)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(m000(), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, m000(), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(m000(), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, m000(), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(m000(), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, m000(), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(m000(), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, m000(), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(m000(), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, m000(), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, m000())
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(m000(), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", m000(), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(m000(), i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, m000()), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(m000(), i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, m000()), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(m000(), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, m000()), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(m000(), i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, m000()), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(m000(), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, m000()), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(m000(), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, m000()), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(m000(), i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, m000()), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(m000(), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, m000(), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(m000(), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, m000(), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(m000(), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, m000(), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(m000(), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, m000(), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(m000(), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, m000(), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(m000(), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, m000(), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(m000(), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, m000(), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(m000(), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, m000(), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(m000(), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, m000(), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(m000(), i000), Local1)
+ CH06(arg0, 108, 47)
+
+ Store(Wait(e000, m000()), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(m000(), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, m000(), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(m000(), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", m000(), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, m000(), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m005, 1, Serialized)
+ {
+ Method(m4f2) {Return ("m4f2")}
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(m4f0), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(m4f2), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z100, 0, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ Store (DerefOf(m000(1, lpC0)), Local1)
+ if(LNot(SLCK)){
+ CH04(ts, 0, 47, z100, Add(9, lpC0), 0, 0)
+ }
+ CH00(arg0, 1)
+
+ Store (DerefOf(DerefOf(m000(2, lpC0))), Local1)
+ if(LNot(SLCK)){
+ CH06(arg0, Add(1, Local0), 47)
+ }
+ CH00(arg0, 2)
+
+ Store (Index(DerefOf(m000(3, lpC0)), 0), Local1)
+ CH06(arg0, Add(2, Local0), 47)
+ CH00(arg0, 3)
+
+ Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, Add(3, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ SET0(z100, ts, 0)
+
+ CH03(ts, z100, 11, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Local
+ m002(Concatenate(ts, "-m002"))
+
+ // Reference to Local Named Object
+
+ m003(Concatenate(ts, "-m003-RefLocName"), RefOf(m4f1))
+
+ Store(RefOf(m4f1), Local0)
+ m003(Concatenate(ts, "-m003-RefLocName2"), Local0)
+
+ CondRefOf(m4f1, Local0)
+ m003(Concatenate(ts, "-m003-CondRefLocName"), Local0)
+
+ m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(m4f0))
+
+ Store(RefOf(m4f0), Local0)
+ m003(Concatenate(ts, "-m003-RefGlobName2"), Local0)
+
+ CondRefOf(m4f0, Local0)
+ m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0)
+
+ // Reference to Object as element of Package
+
+ Name(pp00, Package(){m4f0})
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0))
+ }
+
+ Store(Index(pp00, 0), Local1)
+ m003(Concatenate(ts, "-m003-Index2"), Local1)
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2))
+ }
+
+ Index(pp00, 0, Local3)
+ m003(Concatenate(ts, "-m003-Index4"), Local3)
+
+ Store(Index(pp00, 0, Local4), Local5)
+ m003(Concatenate(ts, "-m003-Index5"), Local5)
+
+ // Result of Method invocation
+ m004(Concatenate(ts, "-m004"))
+
+ // Reference to Object as Result of Method invocation
+ m005(Concatenate(ts, "-m005"))
+
+ RST0()
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_09_mux.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_09_mux.asl index 47dc5cd3d..a240e2f2c 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_09_mux.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_09_mux.asl @@ -1,1280 +1,1280 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * Mutex - * - * (verify exceptions caused by the imprope use of Mutex type objects) - */ - -Name(z101, 101) - -Mutex(mx10, 0) - -// Expected exceptions: -// -// 47 - AE_AML_OPERAND_TYPE -// -Method(m4b9,, Serialized) -{ - Name(ts, "m4b9") - - Mutex(mx01, 0) - - Event(e000) - - Name(i000, 0) - - // Local Named Object - Method(m000, 1, Serialized) - { - Mutex(mx02, 0) - - if (y083) { - Store (DerefOf(mx02), Local1) - CH06(arg0, 0, 47) - } - } - - // Global Named Object - Method(m001, 1) - { - if (y083) { - Store (DerefOf(mx10), Local1) - CH06(arg0, 1, 47) - } - } - - // Local - Method(m002, 1, Serialized) - { - Mutex(mx02, 0) - - Event(e000) - - CopyObject(mx02, Local0) - - // CondRefOf - - CondRefOf(Local0, Local1) - CH03(ts, z101, 1, 0, 0) - - // CopyObject - - CopyObject(Local0, Local1) - CH03(ts, z101, 2, 0, 0) - - // Decrement - - Decrement(Local0) - CH06(arg0, 1, 47) - - // DerefOf - - Store (DerefOf(Local0), Local1) - CH06(arg0, 2, 47) - - // FindSetLeftBit - - FindSetLeftBit(Local0, Local1) - CH06(arg0, 4, 47) - - // FindSetRightBit - - FindSetRightBit(Local0, Local1) - CH06(arg0, 6, 47) - - // FromBCD - - FromBCD(Local0, Local1) - CH06(arg0, 8, 47) - - // Increment - - Increment(Local0) - CH06(arg0, 9, 47) - - // LNot - - Store (LNot(Local0), Local1) - CH06(arg0, 10, 47) - - // Not - - Not(Local0, Local1) - CH06(arg0, 12, 47) - - // ObjectType - - Store (ObjectType(Local0), Local1) - CH03(ts, z101, 3, 0, 0) - - // RefOf - - Store (RefOf(Local0), Local1) - CH03(ts, z101, 4, 0, 0) - - // Release - - Release(Local0) - CH06(arg0, 13, 47) - - // Reset - - Reset(Local0) - CH06(arg0, 14, 47) - - // Signal - - Signal(Local0) - CH06(arg0, 15, 47) - - // SizeOf - - Store (SizeOf(Local0), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(Local0) - CH06(arg0, 17, 47) - - // Stall - - Stall(Local0) - CH06(arg0, 18, 47) - - // Store - - Store(Local0, Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(Local0, Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(Local0, Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(Local0, Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(Local0, Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(Local0, Local1) - CH06(arg0, 29, 47) - - // Acquire - - Store(Acquire(Local0, 100), Local1) - CH03(ts, z101, 30, 0, 0) - - // Add - - Add(Local0, i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, Local0, Local1) - CH06(arg0, 34, 47) - - // And - - And(Local0, i000, Local1) - CH06(arg0, 37, 47) - - And(i000, Local0, Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(Local0, i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, Local0, Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(Local0, i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, Local0, Local2) - CH06(arg0, 50, 47) - - Divide(Local0, i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, Local0, Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, Local0) - CH06(arg0, 53, 47) - - // Index - - Index(Local0, 0, Local1) - CH06(arg0, 56, 47) - - Index("0", Local0, Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(Local0, i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, Local0), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(Local0, i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, Local0), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(Local0, i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, Local0), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(Local0, i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, Local0), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(Local0, i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, Local0), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(Local0, i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, Local0), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(Local0, i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, Local0), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(Local0, i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, Local0, Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(Local0, i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, Local0, Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(Local0, i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, Local0, Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(Local0, i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, Local0, Local1) - CH06(arg0, 87, 47) - - // Or - - Or(Local0, i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, Local0, Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(Local0, i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, Local0, Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(Local0, i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, Local0, Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(Local0, i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, Local0, Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(Local0, 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, Local0, Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(Local0, i000), Local1) - CH06(arg0, 108, 47) - - Store(Wait(e000, Local0), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(Local0, i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, Local0, Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(Local0, 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", Local0, 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, Local0, Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1) - CH06(arg0, 123, 47) - } - - // Reference to Object - Method(m003, 2) - { - Store(ObjectType(arg1), Local0) - if (LNotEqual(Local0, 9)) { - err(arg0, z101, 200, 0, 0, Local0, 9) - return (1) - } - - Store (DeRefOf(arg1), Local1) - if(LNot(SLCK)){ - CH04(ts, 0, 47, z101, 5, 0, 0) - } - // CondRefOf - - CondRefOf(DeRefOf(arg1), Local1) - CH06(arg0, 1, 47) - - // CopyObject - - CopyObject(DeRefOf(arg1), Local1) - CH03(ts, z101, 2, 0, 0) - - // Decrement - - Decrement(DeRefOf(arg1)) - CH06(arg0, 3, 47) - - // DerefOf - - Store (DerefOf(DeRefOf(arg1)), Local1) - CH06(arg0, 4, 47) - - // FindSetLeftBit - - FindSetLeftBit(DeRefOf(arg1), Local1) - CH06(arg0, 6, 47) - - // FindSetRightBit - - FindSetRightBit(DeRefOf(arg1), Local1) - CH06(arg0, 8, 47) - - // FromBCD - - FromBCD(DeRefOf(arg1), Local1) - CH06(arg0, 10, 47) - - // Increment - - Increment(DeRefOf(arg1)) - CH06(arg0, 11, 47) - - // LNot - - Store (LNot(DeRefOf(arg1)), Local1) - CH06(arg0, 12, 47) - - // Not - - Not(DeRefOf(arg1), Local1) - CH06(arg0, 14, 47) - - // ObjectType - - Store (ObjectType(DeRefOf(arg1)), Local1) - CH03(ts, z101, 6, 0, 0) - - // RefOf - - Store (RefOf(DeRefOf(arg1)), Local1) - CH06(arg0, 15, 47) - - // Release - - // Reset - - // Signal - - // SizeOf - - Store (SizeOf(DeRefOf(arg1)), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(DeRefOf(arg1)) - CH06(arg0, 17, 47) - - // Stall - - Stall(DeRefOf(arg1)) - CH06(arg0, 18, 47) - - // Store - - Store(DeRefOf(arg1), Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(DeRefOf(arg1), Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(DeRefOf(arg1), Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(DeRefOf(arg1), Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(DeRefOf(arg1), Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(DeRefOf(arg1), Local1) - CH06(arg0, 29, 47) - - // Acquire - - // Add - - Add(DeRefOf(arg1), i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, DeRefOf(arg1), Local1) - CH06(arg0, 34, 47) - - // And - - And(DeRefOf(arg1), i000, Local1) - CH06(arg0, 37, 47) - - And(i000, DeRefOf(arg1), Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(DeRefOf(arg1), i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, DeRefOf(arg1), Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(DeRefOf(arg1), i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, DeRefOf(arg1), Local2) - CH06(arg0, 50, 47) - - Divide(DeRefOf(arg1), i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, DeRefOf(arg1), Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, DeRefOf(arg1)) - CH06(arg0, 53, 47) - - // Index - - Index(DeRefOf(arg1), 0, Local1) - CH06(arg0, 56, 47) - - Index("0", DeRefOf(arg1), Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(DeRefOf(arg1), i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(DeRefOf(arg1), i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(DeRefOf(arg1), i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(DeRefOf(arg1), i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, DeRefOf(arg1), Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(DeRefOf(arg1), i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, DeRefOf(arg1), Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(DeRefOf(arg1), i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, DeRefOf(arg1), Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(DeRefOf(arg1), i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, DeRefOf(arg1), Local1) - CH06(arg0, 87, 47) - - // Or - - Or(DeRefOf(arg1), i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, DeRefOf(arg1), Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(DeRefOf(arg1), i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, DeRefOf(arg1), Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(DeRefOf(arg1), i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, DeRefOf(arg1), Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(DeRefOf(arg1), i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, DeRefOf(arg1), Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(DeRefOf(arg1), 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, DeRefOf(arg1), Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(e000, DeRefOf(arg1)), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(DeRefOf(arg1), i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, DeRefOf(arg1), Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(DeRefOf(arg1), 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", DeRefOf(arg1), 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, DeRefOf(arg1), Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1) - CH06(arg0, 123, 47) - - return (0) - } - - // Result of Method invocation - Method(m004, 1, Serialized) - { - Name(i000, 0) // Label to check m000 invocations - - Method(m000) - { - CopyObject(mx10, Local0) - Return (Local0) - } - - // CondRefOf - - if (y601) { - Store (CondRefOf(m000()), Local1) - CH06(arg0, 0, 47) - - Store (CondRefOf(m000(), Local1), Local1) - CH06(arg0, 1, 47) - } - - // CopyObject - - CopyObject(m000(), Local1) - CH03(ts, z101, 7, 0, 0) - - // Decrement - - Decrement(m000()) - CH06(arg0, 2, 47) - - // DerefOf - - Store (DerefOf(m000()), Local1) - CH06(arg0, 3, 47) - - // FindSetLeftBit - - FindSetLeftBit(m000(), Local1) - CH06(arg0, 5, 47) - - // FindSetRightBit - - FindSetRightBit(m000(), Local1) - CH06(arg0, 7, 47) - - // FromBCD - - FromBCD(m000(), Local1) - CH06(arg0, 9, 47) - - // Increment - - Increment(m000()) - CH06(arg0, 10, 47) - - // LNot - - Store (LNot(m000()), Local1) - CH06(arg0, 11, 47) - - // Not - - Not(m000(), Local1) - CH06(arg0, 13, 47) - - // ObjectType - /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ -// -// ObjectType(m000()) -// CH03(ts, z101, 8, 0, 0) - - // RefOf - - if (y601) { - Store (RefOf(m000()), Local1) - CH06(arg0, 14, 47) - } - - // Release - - Release(m000()) - CH06(arg0, 13, 47) - - // Reset - - Reset(m000()) - CH06(arg0, 14, 47) - - // Signal - - Signal(m000()) - CH06(arg0, 15, 47) - - // SizeOf - - Store (SizeOf(m000()), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(m000()) - CH06(arg0, 17, 47) - - // Stall - - Stall(m000()) - CH06(arg0, 18, 47) - - // Store - - Store(m000(), Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(m000(), Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(m000(), Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(m000(), Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(m000(), Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(m000(), Local1) - CH06(arg0, 29, 47) - - // Acquire - - Store(Acquire(m000(), 100), Local1) - CH06(arg0, 30, 47) - - // Add - - Add(m000(), i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, m000(), Local1) - CH06(arg0, 34, 47) - - // And - - And(m000(), i000, Local1) - CH06(arg0, 37, 47) - - And(i000, m000(), Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(m000(), i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, m000(), Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(m000(), i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, m000(), Local2) - CH06(arg0, 50, 47) - - Divide(m000(), i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, m000(), Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, m000()) - CH06(arg0, 53, 47) - - // Index - - Index(m000(), 0, Local1) - CH06(arg0, 56, 47) - - Index("0", m000(), Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(m000(), i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, m000()), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(m000(), i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, m000()), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(m000(), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, m000()), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(m000(), i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, m000()), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(m000(), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, m000()), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(m000(), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, m000()), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(m000(), i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, m000()), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(m000(), i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, m000(), Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(m000(), i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, m000(), Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(m000(), i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, m000(), Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(m000(), i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, m000(), Local1) - CH06(arg0, 87, 47) - - // Or - - Or(m000(), i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, m000(), Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(m000(), i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, m000(), Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(m000(), i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, m000(), Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(m000(), i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, m000(), Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(m000(), 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, m000(), Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(m000(), i000), Local1) - CH06(arg0, 108, 47) - - Store(Wait(e000, m000()), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(m000(), i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, m000(), Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(m000(), 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", m000(), 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, m000(), Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1) - CH06(arg0, 123, 47) - } - - // Reference to Object as Result of Method invocation - Method(m005, 1, Serialized) - { - Mutex(mx02, 0) - - Name(i000, 0) // Label to check m000 invocations - - Method(m000, 2) - { - Store(arg0, i000) - if (LEqual(arg1, 0)) { - Store(Refof(mx10), Local0) - } elseif (LEqual(arg1, 1)) { - Store(Refof(mx02), Local0) - } - Return (Local0) - } - - Method(CH00, 2) - { - if (LNotEqual(i000, arg1)) { - err(arg0, z101, 0, 0, 0, i000, arg1) - } - } - - Name(lpN0, 2) - Name(lpC0, 0) - - While (lpN0) { - Multiply(3, lpC0, Local0) - - Store(0, i000) - - Store (DerefOf(m000(1, lpC0)), Local1) - if(Lnot(SLCK)){ - CH04(ts, 0, 47, z101, Add(9, lpC0), 0, 0) - } - CH00(arg0, 1) - - Store (DerefOf(DerefOf(m000(2, lpC0))), Local1) - if(LNot(SLCK)){ - CH06(arg0, Add(1, Local0), 47) - } - CH00(arg0, 2) - - Store (Index(DerefOf(m000(3, lpC0)), 0), Local1) - CH06(arg0, Add(2, Local0), 47) - CH00(arg0, 3) - - Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, Add(3, Local0), 47) - CH00(arg0, 4) - - Decrement(lpN0) - Increment(lpC0) - } - } - - SET0(z101, ts, 0) - - CH03(ts, z101, 11, 0, 0) - - // Local Named Object - m000(ts) - - // Global Named Object - m001(ts) - - // Local - m002(Concatenate(ts, "-m002")) - - // Reference to Local Named Object - - m003(Concatenate(ts, "-m003-RefLocName"), RefOf(mx01)) - - Store(RefOf(mx01), Local0) - m003(Concatenate(ts, "-m003-RefLocName2"), Local0) - - CondRefOf(mx01, Local0) - m003(Concatenate(ts, "-m003-CondRefLocName"), Local0) - - m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(mx10)) - - Store(RefOf(mx10), Local0) - m003(Concatenate(ts, "-m003-RefGlobName2"), Local0) - - CondRefOf(mx10, Local0) - m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0) - - // Reference to Object as element of Package - - Name(pp00, Package(){mx10}) - - if (y113) { - m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0)) - } - - Store(Index(pp00, 0), Local1) - m003(Concatenate(ts, "-m003-Index2"), Local1) - - if (y113) { - m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2)) - } - - Index(pp00, 0, Local3) - m003(Concatenate(ts, "-m003-Index4"), Local3) - - Store(Index(pp00, 0, Local4), Local5) - m003(Concatenate(ts, "-m003-Index5"), Local5) - - // Result of Method invocation - m004(Concatenate(ts, "-m004")) - - // Reference to Object as Result of Method invocation - m005(Concatenate(ts, "-m005")) - - RST0() -} +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Mutex
+ *
+ * (verify exceptions caused by the imprope use of Mutex type objects)
+ */
+
+Name(z101, 101)
+
+Mutex(mx10, 0)
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+//
+Method(m4b9,, Serialized)
+{
+ Name(ts, "m4b9")
+
+ Mutex(mx01, 0)
+
+ Event(e000)
+
+ Name(i000, 0)
+
+ // Local Named Object
+ Method(m000, 1, Serialized)
+ {
+ Mutex(mx02, 0)
+
+ if (y083) {
+ Store (DerefOf(mx02), Local1)
+ CH06(arg0, 0, 47)
+ }
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ if (y083) {
+ Store (DerefOf(mx10), Local1)
+ CH06(arg0, 1, 47)
+ }
+ }
+
+ // Local
+ Method(m002, 1, Serialized)
+ {
+ Mutex(mx02, 0)
+
+ Event(e000)
+
+ CopyObject(mx02, Local0)
+
+ // CondRefOf
+
+ CondRefOf(Local0, Local1)
+ CH03(ts, z101, 1, 0, 0)
+
+ // CopyObject
+
+ CopyObject(Local0, Local1)
+ CH03(ts, z101, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(Local0)
+ CH06(arg0, 1, 47)
+
+ // DerefOf
+
+ Store (DerefOf(Local0), Local1)
+ CH06(arg0, 2, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(Local0, Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(Local0, Local1)
+ CH06(arg0, 6, 47)
+
+ // FromBCD
+
+ FromBCD(Local0, Local1)
+ CH06(arg0, 8, 47)
+
+ // Increment
+
+ Increment(Local0)
+ CH06(arg0, 9, 47)
+
+ // LNot
+
+ Store (LNot(Local0), Local1)
+ CH06(arg0, 10, 47)
+
+ // Not
+
+ Not(Local0, Local1)
+ CH06(arg0, 12, 47)
+
+ // ObjectType
+
+ Store (ObjectType(Local0), Local1)
+ CH03(ts, z101, 3, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(Local0), Local1)
+ CH03(ts, z101, 4, 0, 0)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ Store (SizeOf(Local0), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(Local0)
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(Local0)
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(Local0, Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(Local0, Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(Local0, Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(Local0, Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(Local0, Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(Local0, Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Store(Acquire(Local0, 100), Local1)
+ CH03(ts, z101, 30, 0, 0)
+
+ // Add
+
+ Add(Local0, i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, Local0, Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(Local0, i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, Local0, Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(Local0, i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, Local0, Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(Local0, i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, Local0, Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(Local0, i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, Local0, Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, Local0)
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(Local0, 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", Local0, Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(Local0, i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, Local0), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(Local0, i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, Local0), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(Local0, i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, Local0), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(Local0, i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, Local0), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(Local0, i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, Local0), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(Local0, i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, Local0), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(Local0, i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, Local0), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(Local0, i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, Local0, Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(Local0, i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, Local0, Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(Local0, i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, Local0, Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(Local0, i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, Local0, Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(Local0, i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, Local0, Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(Local0, i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, Local0, Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(Local0, i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, Local0, Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(Local0, i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, Local0, Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(Local0, 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, Local0, Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(Local0, i000), Local1)
+ CH06(arg0, 108, 47)
+
+ Store(Wait(e000, Local0), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(Local0, i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, Local0, Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(Local0, 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", Local0, 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, Local0, Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object
+ Method(m003, 2)
+ {
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 9)) {
+ err(arg0, z101, 200, 0, 0, Local0, 9)
+ return (1)
+ }
+
+ Store (DeRefOf(arg1), Local1)
+ if(LNot(SLCK)){
+ CH04(ts, 0, 47, z101, 5, 0, 0)
+ }
+ // CondRefOf
+
+ CondRefOf(DeRefOf(arg1), Local1)
+ CH06(arg0, 1, 47)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(arg1), Local1)
+ CH03(ts, z101, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(DeRefOf(arg1))
+ CH06(arg0, 3, 47)
+
+ // DerefOf
+
+ Store (DerefOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 6, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 8, 47)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 10, 47)
+
+ // Increment
+
+ Increment(DeRefOf(arg1))
+ CH06(arg0, 11, 47)
+
+ // LNot
+
+ Store (LNot(DeRefOf(arg1)), Local1)
+ CH06(arg0, 12, 47)
+
+ // Not
+
+ Not(DeRefOf(arg1), Local1)
+ CH06(arg0, 14, 47)
+
+ // ObjectType
+
+ Store (ObjectType(DeRefOf(arg1)), Local1)
+ CH03(ts, z101, 6, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 15, 47)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ Store (SizeOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(DeRefOf(arg1))
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(DeRefOf(arg1))
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(DeRefOf(arg1), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(arg1), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(arg1), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(arg1), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(arg1), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(DeRefOf(arg1), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(DeRefOf(arg1), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(arg1))
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(DeRefOf(arg1), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", DeRefOf(arg1), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(e000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(DeRefOf(arg1), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, DeRefOf(arg1), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1)
+ CH06(arg0, 123, 47)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m004, 1, Serialized)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000)
+ {
+ CopyObject(mx10, Local0)
+ Return (Local0)
+ }
+
+ // CondRefOf
+
+ if (y601) {
+ Store (CondRefOf(m000()), Local1)
+ CH06(arg0, 0, 47)
+
+ Store (CondRefOf(m000(), Local1), Local1)
+ CH06(arg0, 1, 47)
+ }
+
+ // CopyObject
+
+ CopyObject(m000(), Local1)
+ CH03(ts, z101, 7, 0, 0)
+
+ // Decrement
+
+ Decrement(m000())
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ Store (DerefOf(m000()), Local1)
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(m000(), Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(m000(), Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(m000(), Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(m000())
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ Store (LNot(m000()), Local1)
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(m000(), Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+ /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */
+//
+// ObjectType(m000())
+// CH03(ts, z101, 8, 0, 0)
+
+ // RefOf
+
+ if (y601) {
+ Store (RefOf(m000()), Local1)
+ CH06(arg0, 14, 47)
+ }
+
+ // Release
+
+ Release(m000())
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(m000())
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(m000())
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ Store (SizeOf(m000()), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(m000())
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(m000())
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(m000(), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(m000(), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(m000(), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(m000(), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(m000(), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(m000(), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Store(Acquire(m000(), 100), Local1)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(m000(), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, m000(), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(m000(), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, m000(), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(m000(), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, m000(), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(m000(), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, m000(), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(m000(), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, m000(), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, m000())
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(m000(), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", m000(), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(m000(), i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, m000()), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(m000(), i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, m000()), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(m000(), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, m000()), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(m000(), i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, m000()), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(m000(), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, m000()), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(m000(), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, m000()), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(m000(), i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, m000()), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(m000(), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, m000(), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(m000(), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, m000(), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(m000(), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, m000(), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(m000(), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, m000(), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(m000(), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, m000(), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(m000(), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, m000(), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(m000(), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, m000(), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(m000(), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, m000(), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(m000(), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, m000(), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(m000(), i000), Local1)
+ CH06(arg0, 108, 47)
+
+ Store(Wait(e000, m000()), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(m000(), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, m000(), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(m000(), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", m000(), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, m000(), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m005, 1, Serialized)
+ {
+ Mutex(mx02, 0)
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(mx10), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(mx02), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z101, 0, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ Store (DerefOf(m000(1, lpC0)), Local1)
+ if(Lnot(SLCK)){
+ CH04(ts, 0, 47, z101, Add(9, lpC0), 0, 0)
+ }
+ CH00(arg0, 1)
+
+ Store (DerefOf(DerefOf(m000(2, lpC0))), Local1)
+ if(LNot(SLCK)){
+ CH06(arg0, Add(1, Local0), 47)
+ }
+ CH00(arg0, 2)
+
+ Store (Index(DerefOf(m000(3, lpC0)), 0), Local1)
+ CH06(arg0, Add(2, Local0), 47)
+ CH00(arg0, 3)
+
+ Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, Add(3, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ SET0(z101, ts, 0)
+
+ CH03(ts, z101, 11, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Local
+ m002(Concatenate(ts, "-m002"))
+
+ // Reference to Local Named Object
+
+ m003(Concatenate(ts, "-m003-RefLocName"), RefOf(mx01))
+
+ Store(RefOf(mx01), Local0)
+ m003(Concatenate(ts, "-m003-RefLocName2"), Local0)
+
+ CondRefOf(mx01, Local0)
+ m003(Concatenate(ts, "-m003-CondRefLocName"), Local0)
+
+ m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(mx10))
+
+ Store(RefOf(mx10), Local0)
+ m003(Concatenate(ts, "-m003-RefGlobName2"), Local0)
+
+ CondRefOf(mx10, Local0)
+ m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0)
+
+ // Reference to Object as element of Package
+
+ Name(pp00, Package(){mx10})
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0))
+ }
+
+ Store(Index(pp00, 0), Local1)
+ m003(Concatenate(ts, "-m003-Index2"), Local1)
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2))
+ }
+
+ Index(pp00, 0, Local3)
+ m003(Concatenate(ts, "-m003-Index4"), Local3)
+
+ Store(Index(pp00, 0, Local4), Local5)
+ m003(Concatenate(ts, "-m003-Index5"), Local5)
+
+ // Result of Method invocation
+ m004(Concatenate(ts, "-m004"))
+
+ // Reference to Object as Result of Method invocation
+ m005(Concatenate(ts, "-m005"))
+
+ RST0()
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_10_oreg.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_10_oreg.asl index 33169ec26..50c3caed2 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_10_oreg.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_10_oreg.asl @@ -1,1265 +1,1265 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * Operation Region - * - * (verify exceptions caused by the imprope use of Operation Region type objects) - */ - -Name(z102, 102) - -OperationRegion(opr9, SystemMemory, 0x100, 0x100) - -// Expected exceptions: -// -// 47 - AE_AML_OPERAND_TYPE -// -Method(m4ba,, Serialized) -{ - Name(ts, "m4ba") - - OperationRegion(opr1, SystemMemory, 0x100, 0x100) - - Event(e000) - - Name(i000, 0) - - // Local Named Object - Method(m000, 1, Serialized) - { - OperationRegion(opr2, SystemMemory, 0x100, 0x100) - - Store (DerefOf(opr2), Local1) - CH06(arg0, 0, 47) - } - - // Global Named Object - Method(m001, 1) - { - if (y083) { - Store (DerefOf(opr9), Local1) - CH06(arg0, 1, 47) - } - } - - // Local - Method(m002, 1, Serialized) - { - OperationRegion(opr2, SystemMemory, 0x100, 0x100) - - Event(e000) - - CopyObject(opr2, Local0) - - // CondRefOf - - Store (CondRefOf(Local0), Local1) - CH03(ts, z102, 0, 0, 0) - - CondRefOf(Local0, Local1) - CH03(ts, z102, 1, 0, 0) - - // CopyObject - - CopyObject(Local0, Local1) - CH03(ts, z102, 2, 0, 0) - - // Decrement - - Decrement(Local0) - CH06(arg0, 1, 47) - - // DerefOf - - Store (DerefOf(Local0), Local1) - CH06(arg0, 2, 47) - - // FindSetLeftBit - - FindSetLeftBit(Local0, Local1) - CH06(arg0, 4, 47) - - // FindSetRightBit - - FindSetRightBit(Local0, Local1) - CH06(arg0, 6, 47) - - // FromBCD - - FromBCD(Local0, Local1) - CH06(arg0, 8, 47) - - // Increment - - Increment(Local0) - CH06(arg0, 9, 47) - - // LNot - - Store (LNot(Local0), Local1) - CH06(arg0, 10, 47) - - // Not - - Not(Local0, Local1) - CH06(arg0, 12, 47) - - // ObjectType - - Store (ObjectType(Local0), Local1) - CH03(ts, z102, 3, 0, 0) - - // RefOf - - Store (RefOf(Local0), Local1) - CH03(ts, z102, 4, 0, 0) - - // Release - - Release(Local0) - CH06(arg0, 13, 47) - - // Reset - - Reset(Local0) - CH06(arg0, 14, 47) - - // Signal - - Signal(Local0) - CH06(arg0, 15, 47) - - // SizeOf - - Store (SizeOf(Local0), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(Local0) - CH06(arg0, 17, 47) - - // Stall - - Stall(Local0) - CH06(arg0, 18, 47) - - // Store - - Store(Local0, Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(Local0, Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(Local0, Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(Local0, Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(Local0, Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(Local0, Local1) - CH06(arg0, 29, 47) - - // Acquire - - Store(Acquire(Local0, 100), Local1) - CH06(arg0, 30, 47) - - // Add - - Add(Local0, i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, Local0, Local1) - CH06(arg0, 34, 47) - - // And - - And(Local0, i000, Local1) - CH06(arg0, 37, 47) - - And(i000, Local0, Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(Local0, i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, Local0, Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(Local0, i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, Local0, Local2) - CH06(arg0, 50, 47) - - Divide(Local0, i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, Local0, Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, Local0) - CH06(arg0, 53, 47) - - // Index - - Index(Local0, 0, Local1) - CH06(arg0, 56, 47) - - Index("0", Local0, Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(Local0, i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, Local0), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(Local0, i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, Local0), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(Local0, i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, Local0), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(Local0, i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, Local0), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(Local0, i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, Local0), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(Local0, i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, Local0), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(Local0, i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, Local0), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(Local0, i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, Local0, Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(Local0, i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, Local0, Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(Local0, i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, Local0, Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(Local0, i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, Local0, Local1) - CH06(arg0, 87, 47) - - // Or - - Or(Local0, i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, Local0, Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(Local0, i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, Local0, Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(Local0, i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, Local0, Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(Local0, i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, Local0, Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(Local0, 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, Local0, Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(Local0, i000), Local1) - CH06(arg0, 108, 47) - - Store(Wait(e000, Local0), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(Local0, i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, Local0, Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(Local0, 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", Local0, 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, Local0, Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1) - CH06(arg0, 123, 47) - } - - // Reference to Object - Method(m003, 2) - { - Store(ObjectType(arg1), Local0) - if (LNotEqual(Local0, 10)) { - err(arg0, z102, 200, 0, 0, Local0, 10) - return (1) - } - - Store (DeRefOf(arg1), Local1) - CH03(ts, z102, 5, 0, 0) - - // CondRefOf - - CondRefOf(DeRefOf(arg1), Local1) - CH06(arg0, 1, 47) - - // CopyObject - - CopyObject(DeRefOf(arg1), Local1) - CH06(arg0, 2, 47) - - // Decrement - - Decrement(DeRefOf(arg1)) - CH06(arg0, 3, 47) - - // DerefOf - - Store (DerefOf(DeRefOf(arg1)), Local1) - CH06(arg0, 4, 47) - - // FindSetLeftBit - - FindSetLeftBit(DeRefOf(arg1), Local1) - CH06(arg0, 6, 47) - - // FindSetRightBit - - FindSetRightBit(DeRefOf(arg1), Local1) - CH06(arg0, 8, 47) - - // FromBCD - - FromBCD(DeRefOf(arg1), Local1) - CH06(arg0, 10, 47) - - // Increment - - Increment(DeRefOf(arg1)) - CH06(arg0, 11, 47) - - // LNot - - Store (LNot(DeRefOf(arg1)), Local1) - CH06(arg0, 12, 47) - - // Not - - Not(DeRefOf(arg1), Local1) - CH06(arg0, 14, 47) - - // ObjectType - - Store (ObjectType(DeRefOf(arg1)), Local1) - CH03(ts, z102, 6, 0, 0) - - // RefOf - - Store (RefOf(DeRefOf(arg1)), Local1) - CH06(arg0, 15, 47) - - // Release - - // Reset - - // Signal - - // SizeOf - - Store (SizeOf(DeRefOf(arg1)), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(DeRefOf(arg1)) - CH06(arg0, 17, 47) - - // Stall - - Stall(DeRefOf(arg1)) - CH06(arg0, 18, 47) - - // Store - - Store(DeRefOf(arg1), Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(DeRefOf(arg1), Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(DeRefOf(arg1), Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(DeRefOf(arg1), Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(DeRefOf(arg1), Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(DeRefOf(arg1), Local1) - CH06(arg0, 29, 47) - - // Acquire - - // Add - - Add(DeRefOf(arg1), i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, DeRefOf(arg1), Local1) - CH06(arg0, 34, 47) - - // And - - And(DeRefOf(arg1), i000, Local1) - CH06(arg0, 37, 47) - - And(i000, DeRefOf(arg1), Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(DeRefOf(arg1), i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, DeRefOf(arg1), Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(DeRefOf(arg1), i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, DeRefOf(arg1), Local2) - CH06(arg0, 50, 47) - - Divide(DeRefOf(arg1), i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, DeRefOf(arg1), Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, DeRefOf(arg1)) - CH06(arg0, 53, 47) - - // Index - - Index(DeRefOf(arg1), 0, Local1) - CH06(arg0, 56, 47) - - Index("0", DeRefOf(arg1), Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(DeRefOf(arg1), i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(DeRefOf(arg1), i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(DeRefOf(arg1), i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(DeRefOf(arg1), i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, DeRefOf(arg1), Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(DeRefOf(arg1), i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, DeRefOf(arg1), Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(DeRefOf(arg1), i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, DeRefOf(arg1), Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(DeRefOf(arg1), i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, DeRefOf(arg1), Local1) - CH06(arg0, 87, 47) - - // Or - - Or(DeRefOf(arg1), i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, DeRefOf(arg1), Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(DeRefOf(arg1), i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, DeRefOf(arg1), Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(DeRefOf(arg1), i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, DeRefOf(arg1), Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(DeRefOf(arg1), i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, DeRefOf(arg1), Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(DeRefOf(arg1), 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, DeRefOf(arg1), Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(e000, DeRefOf(arg1)), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(DeRefOf(arg1), i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, DeRefOf(arg1), Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(DeRefOf(arg1), 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", DeRefOf(arg1), 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, DeRefOf(arg1), Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1) - CH06(arg0, 123, 47) - - return (0) - } - - // Result of Method invocation - Method(m004, 1, Serialized) - { - Name(i000, 0) // Label to check m000 invocations - - Method(m000) - { - CopyObject(opr9, Local0) - Return (Local0) - } - - // CondRefOf - - CondRefOf(m000(), Local1) - CH06(arg0, 1, 47) - - // CopyObject - - CopyObject(m000(), Local1) - CH03(ts, z102, 7, 0, 0) - - // Decrement - - Decrement(m000()) - CH06(arg0, 2, 47) - - // DerefOf - - Store (DerefOf(m000()), Local1) - CH06(arg0, 3, 47) - - // FindSetLeftBit - - FindSetLeftBit(m000(), Local1) - CH06(arg0, 5, 47) - - // FindSetRightBit - - FindSetRightBit(m000(), Local1) - CH06(arg0, 7, 47) - - // FromBCD - - FromBCD(m000(), Local1) - CH06(arg0, 9, 47) - - // Increment - - Increment(m000()) - CH06(arg0, 10, 47) - - // LNot - - Store (LNot(m000()), Local1) - CH06(arg0, 11, 47) - - // Not - - Not(m000(), Local1) - CH06(arg0, 13, 47) - - // ObjectType - /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ -// -// ObjectType(m000()) -// CH03(ts, z102, 8, 0, 0) - - // RefOf - - Store (RefOf(m000()), Local1) - CH06(arg0, 14, 47) - - // Release - - Release(m000()) - CH06(arg0, 13, 47) - - // Reset - - Reset(m000()) - CH06(arg0, 14, 47) - - // Signal - - Signal(m000()) - CH06(arg0, 15, 47) - - // SizeOf - - Store (SizeOf(m000()), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(m000()) - CH06(arg0, 17, 47) - - // Stall - - Stall(m000()) - CH06(arg0, 18, 47) - - // Store - - Store(m000(), Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(m000(), Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(m000(), Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(m000(), Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(m000(), Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(m000(), Local1) - CH06(arg0, 29, 47) - - // Acquire - - Store(Acquire(m000(), 100), Local1) - CH06(arg0, 30, 47) - - // Add - - Add(m000(), i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, m000(), Local1) - CH06(arg0, 34, 47) - - // And - - And(m000(), i000, Local1) - CH06(arg0, 37, 47) - - And(i000, m000(), Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(m000(), i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, m000(), Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(m000(), i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, m000(), Local2) - CH06(arg0, 50, 47) - - Divide(m000(), i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, m000(), Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, m000()) - CH06(arg0, 53, 47) - - // Index - - Index(m000(), 0, Local1) - CH06(arg0, 56, 47) - - Index("0", m000(), Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(m000(), i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, m000()), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(m000(), i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, m000()), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(m000(), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, m000()), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(m000(), i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, m000()), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(m000(), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, m000()), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(m000(), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, m000()), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(m000(), i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, m000()), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(m000(), i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, m000(), Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(m000(), i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, m000(), Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(m000(), i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, m000(), Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(m000(), i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, m000(), Local1) - CH06(arg0, 87, 47) - - // Or - - Or(m000(), i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, m000(), Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(m000(), i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, m000(), Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(m000(), i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, m000(), Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(m000(), i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, m000(), Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(m000(), 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, m000(), Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(m000(), i000), Local1) - CH06(arg0, 108, 47) - - Store(Wait(e000, m000()), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(m000(), i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, m000(), Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(m000(), 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", m000(), 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, m000(), Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1) - CH06(arg0, 123, 47) - } - - // Reference to Object as Result of Method invocation - Method(m005, 1, Serialized) - { - OperationRegion(opr2, SystemMemory, 0x100, 0x100) - - Name(i000, 0) // Label to check m000 invocations - - Method(m000, 2) - { - Store(arg0, i000) - if (LEqual(arg1, 0)) { - Store(Refof(opr9), Local0) - } elseif (LEqual(arg1, 1)) { - Store(Refof(opr2), Local0) - } - Return (Local0) - } - - Method(CH00, 2) - { - if (LNotEqual(i000, arg1)) { - err(arg0, z102, 0, 0, 0, i000, arg1) - } - } - - Name(lpN0, 2) - Name(lpC0, 0) - - While (lpN0) { - Multiply(3, lpC0, Local0) - - Store(0, i000) - - Store (DerefOf(m000(1, lpC0)), Local1) - CH03(ts, z102, Add(9, lpC0), 0, 0) - CH00(arg0, 1) - - Store (DerefOf(DerefOf(m000(2, lpC0))), Local1) - CH06(arg0, Add(1, Local0), 47) - CH00(arg0, 2) - - Store (Index(DerefOf(m000(3, lpC0)), 0), Local1) - CH06(arg0, Add(2, Local0), 47) - CH00(arg0, 3) - - Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, Add(3, Local0), 47) - CH00(arg0, 4) - - Decrement(lpN0) - Increment(lpC0) - } - } - - CH03(ts, z102, 11, 0, 0) - - // Local Named Object - m000(ts) - - // Global Named Object - m001(ts) - - // Local - m002(Concatenate(ts, "-m002")) - - // Reference to Local Named Object - - m003(Concatenate(ts, "-m003-RefLocName"), RefOf(opr1)) - - Store(RefOf(opr1), Local0) - m003(Concatenate(ts, "-m003-RefLocName2"), Local0) - - CondRefOf(opr1, Local0) - m003(Concatenate(ts, "-m003-CondRefLocName"), Local0) - - m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(opr9)) - - Store(RefOf(opr9), Local0) - m003(Concatenate(ts, "-m003-RefGlobName2"), Local0) - - CondRefOf(opr9, Local0) - m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0) - - // Reference to Object as element of Package - - Name(pp00, Package(){opr9}) - - if (y113) { - m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0)) - } - - Store(Index(pp00, 0), Local1) - m003(Concatenate(ts, "-m003-Index2"), Local1) - - if (y113) { - m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2)) - } - - Index(pp00, 0, Local3) - m003(Concatenate(ts, "-m003-Index4"), Local3) - - Store(Index(pp00, 0, Local4), Local5) - m003(Concatenate(ts, "-m003-Index5"), Local5) - - // Result of Method invocation - m004(Concatenate(ts, "-m004")) - - // Reference to Object as Result of Method invocation - m005(Concatenate(ts, "-m005")) -} +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Operation Region
+ *
+ * (verify exceptions caused by the imprope use of Operation Region type objects)
+ */
+
+Name(z102, 102)
+
+OperationRegion(opr9, SystemMemory, 0x100, 0x100)
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+//
+Method(m4ba,, Serialized)
+{
+ Name(ts, "m4ba")
+
+ OperationRegion(opr1, SystemMemory, 0x100, 0x100)
+
+ Event(e000)
+
+ Name(i000, 0)
+
+ // Local Named Object
+ Method(m000, 1, Serialized)
+ {
+ OperationRegion(opr2, SystemMemory, 0x100, 0x100)
+
+ Store (DerefOf(opr2), Local1)
+ CH06(arg0, 0, 47)
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ if (y083) {
+ Store (DerefOf(opr9), Local1)
+ CH06(arg0, 1, 47)
+ }
+ }
+
+ // Local
+ Method(m002, 1, Serialized)
+ {
+ OperationRegion(opr2, SystemMemory, 0x100, 0x100)
+
+ Event(e000)
+
+ CopyObject(opr2, Local0)
+
+ // CondRefOf
+
+ Store (CondRefOf(Local0), Local1)
+ CH03(ts, z102, 0, 0, 0)
+
+ CondRefOf(Local0, Local1)
+ CH03(ts, z102, 1, 0, 0)
+
+ // CopyObject
+
+ CopyObject(Local0, Local1)
+ CH03(ts, z102, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(Local0)
+ CH06(arg0, 1, 47)
+
+ // DerefOf
+
+ Store (DerefOf(Local0), Local1)
+ CH06(arg0, 2, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(Local0, Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(Local0, Local1)
+ CH06(arg0, 6, 47)
+
+ // FromBCD
+
+ FromBCD(Local0, Local1)
+ CH06(arg0, 8, 47)
+
+ // Increment
+
+ Increment(Local0)
+ CH06(arg0, 9, 47)
+
+ // LNot
+
+ Store (LNot(Local0), Local1)
+ CH06(arg0, 10, 47)
+
+ // Not
+
+ Not(Local0, Local1)
+ CH06(arg0, 12, 47)
+
+ // ObjectType
+
+ Store (ObjectType(Local0), Local1)
+ CH03(ts, z102, 3, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(Local0), Local1)
+ CH03(ts, z102, 4, 0, 0)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ Store (SizeOf(Local0), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(Local0)
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(Local0)
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(Local0, Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(Local0, Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(Local0, Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(Local0, Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(Local0, Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(Local0, Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Store(Acquire(Local0, 100), Local1)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(Local0, i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, Local0, Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(Local0, i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, Local0, Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(Local0, i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, Local0, Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(Local0, i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, Local0, Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(Local0, i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, Local0, Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, Local0)
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(Local0, 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", Local0, Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(Local0, i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, Local0), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(Local0, i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, Local0), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(Local0, i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, Local0), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(Local0, i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, Local0), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(Local0, i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, Local0), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(Local0, i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, Local0), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(Local0, i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, Local0), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(Local0, i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, Local0, Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(Local0, i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, Local0, Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(Local0, i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, Local0, Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(Local0, i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, Local0, Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(Local0, i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, Local0, Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(Local0, i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, Local0, Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(Local0, i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, Local0, Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(Local0, i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, Local0, Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(Local0, 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, Local0, Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(Local0, i000), Local1)
+ CH06(arg0, 108, 47)
+
+ Store(Wait(e000, Local0), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(Local0, i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, Local0, Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(Local0, 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", Local0, 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, Local0, Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object
+ Method(m003, 2)
+ {
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 10)) {
+ err(arg0, z102, 200, 0, 0, Local0, 10)
+ return (1)
+ }
+
+ Store (DeRefOf(arg1), Local1)
+ CH03(ts, z102, 5, 0, 0)
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(arg1), Local1)
+ CH06(arg0, 1, 47)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(arg1), Local1)
+ CH06(arg0, 2, 47)
+
+ // Decrement
+
+ Decrement(DeRefOf(arg1))
+ CH06(arg0, 3, 47)
+
+ // DerefOf
+
+ Store (DerefOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 6, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 8, 47)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 10, 47)
+
+ // Increment
+
+ Increment(DeRefOf(arg1))
+ CH06(arg0, 11, 47)
+
+ // LNot
+
+ Store (LNot(DeRefOf(arg1)), Local1)
+ CH06(arg0, 12, 47)
+
+ // Not
+
+ Not(DeRefOf(arg1), Local1)
+ CH06(arg0, 14, 47)
+
+ // ObjectType
+
+ Store (ObjectType(DeRefOf(arg1)), Local1)
+ CH03(ts, z102, 6, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 15, 47)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ Store (SizeOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(DeRefOf(arg1))
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(DeRefOf(arg1))
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(DeRefOf(arg1), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(arg1), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(arg1), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(arg1), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(arg1), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(DeRefOf(arg1), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(DeRefOf(arg1), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(arg1))
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(DeRefOf(arg1), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", DeRefOf(arg1), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(e000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(DeRefOf(arg1), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, DeRefOf(arg1), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1)
+ CH06(arg0, 123, 47)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m004, 1, Serialized)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000)
+ {
+ CopyObject(opr9, Local0)
+ Return (Local0)
+ }
+
+ // CondRefOf
+
+ CondRefOf(m000(), Local1)
+ CH06(arg0, 1, 47)
+
+ // CopyObject
+
+ CopyObject(m000(), Local1)
+ CH03(ts, z102, 7, 0, 0)
+
+ // Decrement
+
+ Decrement(m000())
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ Store (DerefOf(m000()), Local1)
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(m000(), Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(m000(), Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(m000(), Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(m000())
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ Store (LNot(m000()), Local1)
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(m000(), Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+ /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */
+//
+// ObjectType(m000())
+// CH03(ts, z102, 8, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(m000()), Local1)
+ CH06(arg0, 14, 47)
+
+ // Release
+
+ Release(m000())
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(m000())
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(m000())
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ Store (SizeOf(m000()), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(m000())
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(m000())
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(m000(), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(m000(), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(m000(), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(m000(), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(m000(), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(m000(), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Store(Acquire(m000(), 100), Local1)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(m000(), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, m000(), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(m000(), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, m000(), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(m000(), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, m000(), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(m000(), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, m000(), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(m000(), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, m000(), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, m000())
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(m000(), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", m000(), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(m000(), i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, m000()), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(m000(), i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, m000()), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(m000(), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, m000()), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(m000(), i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, m000()), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(m000(), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, m000()), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(m000(), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, m000()), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(m000(), i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, m000()), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(m000(), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, m000(), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(m000(), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, m000(), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(m000(), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, m000(), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(m000(), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, m000(), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(m000(), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, m000(), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(m000(), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, m000(), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(m000(), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, m000(), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(m000(), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, m000(), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(m000(), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, m000(), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(m000(), i000), Local1)
+ CH06(arg0, 108, 47)
+
+ Store(Wait(e000, m000()), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(m000(), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, m000(), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(m000(), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", m000(), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, m000(), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m005, 1, Serialized)
+ {
+ OperationRegion(opr2, SystemMemory, 0x100, 0x100)
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(opr9), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(opr2), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z102, 0, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ Store (DerefOf(m000(1, lpC0)), Local1)
+ CH03(ts, z102, Add(9, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+ Store (DerefOf(DerefOf(m000(2, lpC0))), Local1)
+ CH06(arg0, Add(1, Local0), 47)
+ CH00(arg0, 2)
+
+ Store (Index(DerefOf(m000(3, lpC0)), 0), Local1)
+ CH06(arg0, Add(2, Local0), 47)
+ CH00(arg0, 3)
+
+ Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, Add(3, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ CH03(ts, z102, 11, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Local
+ m002(Concatenate(ts, "-m002"))
+
+ // Reference to Local Named Object
+
+ m003(Concatenate(ts, "-m003-RefLocName"), RefOf(opr1))
+
+ Store(RefOf(opr1), Local0)
+ m003(Concatenate(ts, "-m003-RefLocName2"), Local0)
+
+ CondRefOf(opr1, Local0)
+ m003(Concatenate(ts, "-m003-CondRefLocName"), Local0)
+
+ m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(opr9))
+
+ Store(RefOf(opr9), Local0)
+ m003(Concatenate(ts, "-m003-RefGlobName2"), Local0)
+
+ CondRefOf(opr9, Local0)
+ m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0)
+
+ // Reference to Object as element of Package
+
+ Name(pp00, Package(){opr9})
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0))
+ }
+
+ Store(Index(pp00, 0), Local1)
+ m003(Concatenate(ts, "-m003-Index2"), Local1)
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2))
+ }
+
+ Index(pp00, 0, Local3)
+ m003(Concatenate(ts, "-m003-Index4"), Local3)
+
+ Store(Index(pp00, 0, Local4), Local5)
+ m003(Concatenate(ts, "-m003-Index5"), Local5)
+
+ // Result of Method invocation
+ m004(Concatenate(ts, "-m004"))
+
+ // Reference to Object as Result of Method invocation
+ m005(Concatenate(ts, "-m005"))
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_11_pwr.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_11_pwr.asl index 29cd60a7f..05ac5223a 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_11_pwr.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_11_pwr.asl @@ -1,1281 +1,1281 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * Power Resource - * - * (verify exceptions caused by the imprope use of Power Resource type objects) - */ - -Name(z103, 103) - -PowerResource(pw00, 1, 0) {Method(m000){return (0)}} - -// Expected exceptions: -// -// 47 - AE_AML_OPERAND_TYPE -// -Method(m4bb,, Serialized) -{ - Name(ts, "m4bb") - - PowerResource(pw01, 1, 0) {Method(m000){return (0)}} - - Event(e000) - - Name(i000, 0) - - // Local Named Object - Method(m000, 1, Serialized) - { - PowerResource(pw02, 1, 0) {Method(m000){return (0)}} - - if (y083) { - Store (DerefOf(pw02), Local1) - CH06(arg0, 0, 47) - } - } - - // Global Named Object - Method(m001, 1) - { - if (y083) { - Store (DerefOf(pw00), Local1) - CH06(arg0, 1, 47) - } - } - - // Local - Method(m002, 1, Serialized) - { - PowerResource(pw02, 1, 0) {Method(m000){return (0)}} - - Event(e000) - - CopyObject(pw02, Local0) - - // CondRefOf - - CondRefOf(Local0, Local1) - CH03(ts, z103, 1, 0, 0) - - // CopyObject - - CopyObject(Local0, Local1) - CH03(ts, z103, 2, 0, 0) - - // Decrement - - Decrement(Local0) - CH06(arg0, 1, 47) - - // DerefOf - - Store (DerefOf(Local0), Local1) - CH06(arg0, 2, 47) - - // FindSetLeftBit - - FindSetLeftBit(Local0, Local1) - CH06(arg0, 4, 47) - - // FindSetRightBit - - FindSetRightBit(Local0, Local1) - CH06(arg0, 6, 47) - - // FromBCD - - FromBCD(Local0, Local1) - CH06(arg0, 8, 47) - - // Increment - - Increment(Local0) - CH06(arg0, 9, 47) - - // LNot - - Store (LNot(Local0), Local1) - CH06(arg0, 10, 47) - - // Not - - Not(Local0, Local1) - CH06(arg0, 12, 47) - - // ObjectType - - Store (ObjectType(Local0), Local1) - CH03(ts, z103, 3, 0, 0) - - // RefOf - - Store (RefOf(Local0), Local1) - CH03(ts, z103, 4, 0, 0) - - // Release - - Release(Local0) - CH06(arg0, 13, 47) - - // Reset - - Reset(Local0) - CH06(arg0, 14, 47) - - // Signal - - Signal(Local0) - CH06(arg0, 15, 47) - - // SizeOf - - Store (SizeOf(Local0), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(Local0) - CH06(arg0, 17, 47) - - // Stall - - Stall(Local0) - CH06(arg0, 18, 47) - - // Store - - Store(Local0, Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(Local0, Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(Local0, Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(Local0, Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(Local0, Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(Local0, Local1) - CH06(arg0, 29, 47) - - // Acquire - - Store(Acquire(Local0, 100), Local1) - CH06(arg0, 30, 47) - - // Add - - Add(Local0, i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, Local0, Local1) - CH06(arg0, 34, 47) - - // And - - And(Local0, i000, Local1) - CH06(arg0, 37, 47) - - And(i000, Local0, Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(Local0, i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, Local0, Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(Local0, i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, Local0, Local2) - CH06(arg0, 50, 47) - - Divide(Local0, i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, Local0, Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, Local0) - CH06(arg0, 53, 47) - - // Index - - Index(Local0, 0, Local1) - CH06(arg0, 56, 47) - - Index("0", Local0, Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(Local0, i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, Local0), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(Local0, i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, Local0), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(Local0, i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, Local0), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(Local0, i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, Local0), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(Local0, i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, Local0), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(Local0, i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, Local0), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(Local0, i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, Local0), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(Local0, i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, Local0, Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(Local0, i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, Local0, Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(Local0, i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, Local0, Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(Local0, i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, Local0, Local1) - CH06(arg0, 87, 47) - - // Or - - Or(Local0, i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, Local0, Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(Local0, i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, Local0, Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(Local0, i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, Local0, Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(Local0, i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, Local0, Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(Local0, 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, Local0, Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(Local0, i000), Local1) - CH06(arg0, 108, 47) - - Store(Wait(e000, Local0), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(Local0, i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, Local0, Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(Local0, 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", Local0, 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, Local0, Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1) - CH06(arg0, 123, 47) - } - - // Reference to Object - Method(m003, 2) - { - Store(ObjectType(arg1), Local0) - if (LNotEqual(Local0, 11)) { - err(arg0, z103, 200, 0, 0, Local0, 11) - return (1) - } - - Store (DeRefOf(arg1), Local1) - if(LNot(SLCK)){ - CH04(ts, 0, 47, z103, 5, 0, 0) - } - - // CondRefOf - - CondRefOf(DeRefOf(arg1), Local1) - CH06(arg0, 1, 47) - - // CopyObject - - CopyObject(DeRefOf(arg1), Local1) - CH03(ts, z103, 2, 0, 0) - - // Decrement - - Decrement(DeRefOf(arg1)) - CH06(arg0, 3, 47) - - // DerefOf - - Store (DerefOf(DeRefOf(arg1)), Local1) - CH06(arg0, 4, 47) - - // FindSetLeftBit - - FindSetLeftBit(DeRefOf(arg1), Local1) - CH06(arg0, 6, 47) - - // FindSetRightBit - - FindSetRightBit(DeRefOf(arg1), Local1) - CH06(arg0, 8, 47) - - // FromBCD - - FromBCD(DeRefOf(arg1), Local1) - CH06(arg0, 10, 47) - - // Increment - - Increment(DeRefOf(arg1)) - CH06(arg0, 11, 47) - - // LNot - - Store (LNot(DeRefOf(arg1)), Local1) - CH06(arg0, 12, 47) - - // Not - - Not(DeRefOf(arg1), Local1) - CH06(arg0, 14, 47) - - // ObjectType - - Store (ObjectType(DeRefOf(arg1)), Local1) - CH03(ts, z103, 6, 0, 0) - - // RefOf - - Store (RefOf(DeRefOf(arg1)), Local1) - CH06(arg0, 15, 47) - - // Release - - // Reset - - // Signal - - // SizeOf - - Store (SizeOf(DeRefOf(arg1)), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(DeRefOf(arg1)) - CH06(arg0, 17, 47) - - // Stall - - Stall(DeRefOf(arg1)) - CH06(arg0, 18, 47) - - // Store - - Store(DeRefOf(arg1), Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(DeRefOf(arg1), Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(DeRefOf(arg1), Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(DeRefOf(arg1), Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(DeRefOf(arg1), Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(DeRefOf(arg1), Local1) - CH06(arg0, 29, 47) - - // Acquire - - // Add - - Add(DeRefOf(arg1), i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, DeRefOf(arg1), Local1) - CH06(arg0, 34, 47) - - // And - - And(DeRefOf(arg1), i000, Local1) - CH06(arg0, 37, 47) - - And(i000, DeRefOf(arg1), Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(DeRefOf(arg1), i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, DeRefOf(arg1), Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(DeRefOf(arg1), i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, DeRefOf(arg1), Local2) - CH06(arg0, 50, 47) - - Divide(DeRefOf(arg1), i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, DeRefOf(arg1), Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, DeRefOf(arg1)) - CH06(arg0, 53, 47) - - // Index - - Index(DeRefOf(arg1), 0, Local1) - CH06(arg0, 56, 47) - - Index("0", DeRefOf(arg1), Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(DeRefOf(arg1), i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(DeRefOf(arg1), i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(DeRefOf(arg1), i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(DeRefOf(arg1), i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, DeRefOf(arg1), Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(DeRefOf(arg1), i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, DeRefOf(arg1), Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(DeRefOf(arg1), i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, DeRefOf(arg1), Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(DeRefOf(arg1), i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, DeRefOf(arg1), Local1) - CH06(arg0, 87, 47) - - // Or - - Or(DeRefOf(arg1), i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, DeRefOf(arg1), Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(DeRefOf(arg1), i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, DeRefOf(arg1), Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(DeRefOf(arg1), i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, DeRefOf(arg1), Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(DeRefOf(arg1), i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, DeRefOf(arg1), Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(DeRefOf(arg1), 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, DeRefOf(arg1), Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(e000, DeRefOf(arg1)), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(DeRefOf(arg1), i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, DeRefOf(arg1), Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(DeRefOf(arg1), 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", DeRefOf(arg1), 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, DeRefOf(arg1), Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1) - CH06(arg0, 123, 47) - - return (0) - } - - // Result of Method invocation - Method(m004, 1, Serialized) - { - Name(i000, 0) // Label to check m000 invocations - - Method(m000) - { - CopyObject(pw00, Local0) - Return (Local0) - } - - // CondRefOf - - if (y601) { - Store (CondRefOf(m000()), Local1) - CH06(arg0, 0, 47) - - Store (CondRefOf(m000()), Local1) - CH06(arg0, 1, 47) - } - - // CopyObject - - CopyObject(m000(), Local1) - CH03(ts, z103, 7, 0, 0) - - // Decrement - - Decrement(m000()) - CH06(arg0, 2, 47) - - // DerefOf - - Store (DerefOf(m000()), Local1) - CH06(arg0, 3, 47) - - // FindSetLeftBit - - FindSetLeftBit(m000(), Local1) - CH06(arg0, 5, 47) - - // FindSetRightBit - - FindSetRightBit(m000(), Local1) - CH06(arg0, 7, 47) - - // FromBCD - - FromBCD(m000(), Local1) - CH06(arg0, 9, 47) - - // Increment - - Increment(m000()) - CH06(arg0, 10, 47) - - // LNot - - Store (LNot(m000()), Local1) - CH06(arg0, 11, 47) - - // Not - - Not(m000(), Local1) - CH06(arg0, 13, 47) - - // ObjectType - /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ -// -// ObjectType(m000()) -// CH03(ts, z103, 8, 0, 0) - - // RefOf - - if (y601) { - Store (RefOf(m000()), Local1) - CH06(arg0, 14, 47) - } - - // Release - - Release(m000()) - CH06(arg0, 13, 47) - - // Reset - - Reset(m000()) - CH06(arg0, 14, 47) - - // Signal - - Signal(m000()) - CH06(arg0, 15, 47) - - // SizeOf - - Store (SizeOf(m000()), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(m000()) - CH06(arg0, 17, 47) - - // Stall - - Stall(m000()) - CH06(arg0, 18, 47) - - // Store - - Store(m000(), Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(m000(), Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(m000(), Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(m000(), Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(m000(), Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(m000(), Local1) - CH06(arg0, 29, 47) - - // Acquire - - Store(Acquire(m000(), 100), Local1) - CH06(arg0, 30, 47) - - // Add - - Add(m000(), i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, m000(), Local1) - CH06(arg0, 34, 47) - - // And - - And(m000(), i000, Local1) - CH06(arg0, 37, 47) - - And(i000, m000(), Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(m000(), i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, m000(), Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(m000(), i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, m000(), Local2) - CH06(arg0, 50, 47) - - Divide(m000(), i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, m000(), Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, m000()) - CH06(arg0, 53, 47) - - // Index - - Index(m000(), 0, Local1) - CH06(arg0, 56, 47) - - Index("0", m000(), Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(m000(), i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, m000()), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(m000(), i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, m000()), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(m000(), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, m000()), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(m000(), i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, m000()), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(m000(), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, m000()), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(m000(), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, m000()), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(m000(), i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, m000()), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(m000(), i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, m000(), Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(m000(), i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, m000(), Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(m000(), i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, m000(), Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(m000(), i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, m000(), Local1) - CH06(arg0, 87, 47) - - // Or - - Or(m000(), i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, m000(), Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(m000(), i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, m000(), Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(m000(), i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, m000(), Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(m000(), i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, m000(), Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(m000(), 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, m000(), Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(m000(), i000), Local1) - CH06(arg0, 108, 47) - - Store(Wait(e000, m000()), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(m000(), i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, m000(), Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(m000(), 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", m000(), 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, m000(), Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1) - CH06(arg0, 123, 47) - } - - // Reference to Object as Result of Method invocation - Method(m005, 1, Serialized) - { - PowerResource(pw02, 1, 0) {Method(m000){return (0)}} - - Name(i000, 0) // Label to check m000 invocations - - Method(m000, 2) - { - Store(arg0, i000) - if (LEqual(arg1, 0)) { - Store(Refof(pw00), Local0) - } elseif (LEqual(arg1, 1)) { - Store(Refof(pw02), Local0) - } - Return (Local0) - } - - Method(CH00, 2) - { - if (LNotEqual(i000, arg1)) { - err(arg0, z103, 0, 0, 0, i000, arg1) - } - } - - Name(lpN0, 2) - Name(lpC0, 0) - - While (lpN0) { - Multiply(3, lpC0, Local0) - - Store(0, i000) - - Store (DerefOf(m000(1, lpC0)), Local1) - if(LNot(SLCK)){ - CH04(ts, 0, 47, z103, Add(9, lpC0), 0, 0) - } - CH00(arg0, 1) - - Store (DerefOf(DerefOf(m000(2, lpC0))), Local1) - if(LNot(SLCK)){ - CH06(arg0, Add(1, Local0), 47) - } - CH00(arg0, 2) - - Store (Index(DerefOf(m000(3, lpC0)), 0), Local1) - CH06(arg0, Add(2, Local0), 47) - CH00(arg0, 3) - - Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, Add(3, Local0), 47) - CH00(arg0, 4) - - Decrement(lpN0) - Increment(lpC0) - } - } - - SET0(z103, ts, 0) - - CH03(ts, z103, 11, 0, 0) - - // Local Named Object - m000(ts) - - // Global Named Object - m001(ts) - - // Local - m002(Concatenate(ts, "-m002")) - - // Reference to Local Named Object - - m003(Concatenate(ts, "-m003-RefLocName"), RefOf(pw01)) - - Store(RefOf(pw01), Local0) - m003(Concatenate(ts, "-m003-RefLocName2"), Local0) - - CondRefOf(pw01, Local0) - m003(Concatenate(ts, "-m003-CondRefLocName"), Local0) - - m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(pw00)) - - Store(RefOf(pw00), Local0) - m003(Concatenate(ts, "-m003-RefGlobName2"), Local0) - - CondRefOf(pw00, Local0) - m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0) - - // Reference to Object as element of Package - - Name(pp00, Package(){pw00}) - - if (y113) { - m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0)) - } - - Store(Index(pp00, 0), Local1) - m003(Concatenate(ts, "-m003-Index2"), Local1) - - if (y113) { - m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2)) - } - - Index(pp00, 0, Local3) - m003(Concatenate(ts, "-m003-Index4"), Local3) - - Store(Index(pp00, 0, Local4), Local5) - m003(Concatenate(ts, "-m003-Index5"), Local5) - - // Result of Method invocation - m004(Concatenate(ts, "-m004")) - - // Reference to Object as Result of Method invocation - m005(Concatenate(ts, "-m005")) - - RST0() -} +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Power Resource
+ *
+ * (verify exceptions caused by the imprope use of Power Resource type objects)
+ */
+
+Name(z103, 103)
+
+PowerResource(pw00, 1, 0) {Method(m000){return (0)}}
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+//
+Method(m4bb,, Serialized)
+{
+ Name(ts, "m4bb")
+
+ PowerResource(pw01, 1, 0) {Method(m000){return (0)}}
+
+ Event(e000)
+
+ Name(i000, 0)
+
+ // Local Named Object
+ Method(m000, 1, Serialized)
+ {
+ PowerResource(pw02, 1, 0) {Method(m000){return (0)}}
+
+ if (y083) {
+ Store (DerefOf(pw02), Local1)
+ CH06(arg0, 0, 47)
+ }
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ if (y083) {
+ Store (DerefOf(pw00), Local1)
+ CH06(arg0, 1, 47)
+ }
+ }
+
+ // Local
+ Method(m002, 1, Serialized)
+ {
+ PowerResource(pw02, 1, 0) {Method(m000){return (0)}}
+
+ Event(e000)
+
+ CopyObject(pw02, Local0)
+
+ // CondRefOf
+
+ CondRefOf(Local0, Local1)
+ CH03(ts, z103, 1, 0, 0)
+
+ // CopyObject
+
+ CopyObject(Local0, Local1)
+ CH03(ts, z103, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(Local0)
+ CH06(arg0, 1, 47)
+
+ // DerefOf
+
+ Store (DerefOf(Local0), Local1)
+ CH06(arg0, 2, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(Local0, Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(Local0, Local1)
+ CH06(arg0, 6, 47)
+
+ // FromBCD
+
+ FromBCD(Local0, Local1)
+ CH06(arg0, 8, 47)
+
+ // Increment
+
+ Increment(Local0)
+ CH06(arg0, 9, 47)
+
+ // LNot
+
+ Store (LNot(Local0), Local1)
+ CH06(arg0, 10, 47)
+
+ // Not
+
+ Not(Local0, Local1)
+ CH06(arg0, 12, 47)
+
+ // ObjectType
+
+ Store (ObjectType(Local0), Local1)
+ CH03(ts, z103, 3, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(Local0), Local1)
+ CH03(ts, z103, 4, 0, 0)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ Store (SizeOf(Local0), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(Local0)
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(Local0)
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(Local0, Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(Local0, Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(Local0, Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(Local0, Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(Local0, Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(Local0, Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Store(Acquire(Local0, 100), Local1)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(Local0, i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, Local0, Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(Local0, i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, Local0, Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(Local0, i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, Local0, Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(Local0, i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, Local0, Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(Local0, i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, Local0, Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, Local0)
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(Local0, 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", Local0, Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(Local0, i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, Local0), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(Local0, i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, Local0), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(Local0, i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, Local0), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(Local0, i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, Local0), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(Local0, i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, Local0), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(Local0, i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, Local0), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(Local0, i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, Local0), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(Local0, i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, Local0, Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(Local0, i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, Local0, Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(Local0, i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, Local0, Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(Local0, i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, Local0, Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(Local0, i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, Local0, Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(Local0, i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, Local0, Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(Local0, i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, Local0, Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(Local0, i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, Local0, Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(Local0, 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, Local0, Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(Local0, i000), Local1)
+ CH06(arg0, 108, 47)
+
+ Store(Wait(e000, Local0), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(Local0, i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, Local0, Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(Local0, 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", Local0, 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, Local0, Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object
+ Method(m003, 2)
+ {
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 11)) {
+ err(arg0, z103, 200, 0, 0, Local0, 11)
+ return (1)
+ }
+
+ Store (DeRefOf(arg1), Local1)
+ if(LNot(SLCK)){
+ CH04(ts, 0, 47, z103, 5, 0, 0)
+ }
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(arg1), Local1)
+ CH06(arg0, 1, 47)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(arg1), Local1)
+ CH03(ts, z103, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(DeRefOf(arg1))
+ CH06(arg0, 3, 47)
+
+ // DerefOf
+
+ Store (DerefOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 6, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 8, 47)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 10, 47)
+
+ // Increment
+
+ Increment(DeRefOf(arg1))
+ CH06(arg0, 11, 47)
+
+ // LNot
+
+ Store (LNot(DeRefOf(arg1)), Local1)
+ CH06(arg0, 12, 47)
+
+ // Not
+
+ Not(DeRefOf(arg1), Local1)
+ CH06(arg0, 14, 47)
+
+ // ObjectType
+
+ Store (ObjectType(DeRefOf(arg1)), Local1)
+ CH03(ts, z103, 6, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 15, 47)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ Store (SizeOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(DeRefOf(arg1))
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(DeRefOf(arg1))
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(DeRefOf(arg1), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(arg1), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(arg1), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(arg1), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(arg1), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(DeRefOf(arg1), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(DeRefOf(arg1), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(arg1))
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(DeRefOf(arg1), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", DeRefOf(arg1), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(e000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(DeRefOf(arg1), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, DeRefOf(arg1), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1)
+ CH06(arg0, 123, 47)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m004, 1, Serialized)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000)
+ {
+ CopyObject(pw00, Local0)
+ Return (Local0)
+ }
+
+ // CondRefOf
+
+ if (y601) {
+ Store (CondRefOf(m000()), Local1)
+ CH06(arg0, 0, 47)
+
+ Store (CondRefOf(m000()), Local1)
+ CH06(arg0, 1, 47)
+ }
+
+ // CopyObject
+
+ CopyObject(m000(), Local1)
+ CH03(ts, z103, 7, 0, 0)
+
+ // Decrement
+
+ Decrement(m000())
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ Store (DerefOf(m000()), Local1)
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(m000(), Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(m000(), Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(m000(), Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(m000())
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ Store (LNot(m000()), Local1)
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(m000(), Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+ /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */
+//
+// ObjectType(m000())
+// CH03(ts, z103, 8, 0, 0)
+
+ // RefOf
+
+ if (y601) {
+ Store (RefOf(m000()), Local1)
+ CH06(arg0, 14, 47)
+ }
+
+ // Release
+
+ Release(m000())
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(m000())
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(m000())
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ Store (SizeOf(m000()), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(m000())
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(m000())
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(m000(), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(m000(), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(m000(), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(m000(), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(m000(), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(m000(), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Store(Acquire(m000(), 100), Local1)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(m000(), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, m000(), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(m000(), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, m000(), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(m000(), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, m000(), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(m000(), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, m000(), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(m000(), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, m000(), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, m000())
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(m000(), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", m000(), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(m000(), i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, m000()), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(m000(), i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, m000()), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(m000(), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, m000()), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(m000(), i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, m000()), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(m000(), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, m000()), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(m000(), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, m000()), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(m000(), i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, m000()), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(m000(), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, m000(), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(m000(), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, m000(), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(m000(), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, m000(), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(m000(), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, m000(), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(m000(), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, m000(), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(m000(), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, m000(), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(m000(), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, m000(), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(m000(), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, m000(), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(m000(), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, m000(), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(m000(), i000), Local1)
+ CH06(arg0, 108, 47)
+
+ Store(Wait(e000, m000()), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(m000(), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, m000(), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(m000(), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", m000(), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, m000(), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m005, 1, Serialized)
+ {
+ PowerResource(pw02, 1, 0) {Method(m000){return (0)}}
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(pw00), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(pw02), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z103, 0, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ Store (DerefOf(m000(1, lpC0)), Local1)
+ if(LNot(SLCK)){
+ CH04(ts, 0, 47, z103, Add(9, lpC0), 0, 0)
+ }
+ CH00(arg0, 1)
+
+ Store (DerefOf(DerefOf(m000(2, lpC0))), Local1)
+ if(LNot(SLCK)){
+ CH06(arg0, Add(1, Local0), 47)
+ }
+ CH00(arg0, 2)
+
+ Store (Index(DerefOf(m000(3, lpC0)), 0), Local1)
+ CH06(arg0, Add(2, Local0), 47)
+ CH00(arg0, 3)
+
+ Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, Add(3, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ SET0(z103, ts, 0)
+
+ CH03(ts, z103, 11, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Local
+ m002(Concatenate(ts, "-m002"))
+
+ // Reference to Local Named Object
+
+ m003(Concatenate(ts, "-m003-RefLocName"), RefOf(pw01))
+
+ Store(RefOf(pw01), Local0)
+ m003(Concatenate(ts, "-m003-RefLocName2"), Local0)
+
+ CondRefOf(pw01, Local0)
+ m003(Concatenate(ts, "-m003-CondRefLocName"), Local0)
+
+ m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(pw00))
+
+ Store(RefOf(pw00), Local0)
+ m003(Concatenate(ts, "-m003-RefGlobName2"), Local0)
+
+ CondRefOf(pw00, Local0)
+ m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0)
+
+ // Reference to Object as element of Package
+
+ Name(pp00, Package(){pw00})
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0))
+ }
+
+ Store(Index(pp00, 0), Local1)
+ m003(Concatenate(ts, "-m003-Index2"), Local1)
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2))
+ }
+
+ Index(pp00, 0, Local3)
+ m003(Concatenate(ts, "-m003-Index4"), Local3)
+
+ Store(Index(pp00, 0, Local4), Local5)
+ m003(Concatenate(ts, "-m003-Index5"), Local5)
+
+ // Result of Method invocation
+ m004(Concatenate(ts, "-m004"))
+
+ // Reference to Object as Result of Method invocation
+ m005(Concatenate(ts, "-m005"))
+
+ RST0()
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_12_proc.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_12_proc.asl index 31de1246c..423460273 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_12_proc.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_12_proc.asl @@ -1,1281 +1,1281 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * Processor - * - * (verify exceptions caused by the imprope use of Processor type objects) - */ - -Name(z104, 104) - -Processor(pr10, 0, 0xFFFFFFFF, 0) {} - -// Expected exceptions: -// -// 47 - AE_AML_OPERAND_TYPE -// -Method(m4bc,, Serialized) -{ - Name(ts, "m4bc") - - Processor(prc1, 0, 0xFFFFFFFF, 0) {} - - Event(e000) - - Name(i000, 0) - - // Local Named Object - Method(m000, 1, Serialized) - { - Processor(prc2, 0, 0xFFFFFFFF, 0) {} - - if (y083) { - Store (DerefOf(prc2), Local1) - CH06(arg0, 0, 47) - } - } - - // Global Named Object - Method(m001, 1) - { - if (y083) { - Store (DerefOf(pr10), Local1) - CH06(arg0, 1, 47) - } - } - - // Local - Method(m002, 1, Serialized) - { - Processor(prc2, 0, 0xFFFFFFFF, 0) {} - - Event(e000) - - CopyObject(prc2, Local0) - - // CondRefOf - - CondRefOf(Local0, Local1) - CH03(ts, z104, 1, 0, 0) - - // CopyObject - - CopyObject(Local0, Local1) - CH03(ts, z104, 2, 0, 0) - - // Decrement - - Decrement(Local0) - CH06(arg0, 1, 47) - - // DerefOf - - Store (DerefOf(Local0), Local1) - CH06(arg0, 2, 47) - - // FindSetLeftBit - - FindSetLeftBit(Local0, Local1) - CH06(arg0, 4, 47) - - // FindSetRightBit - - FindSetRightBit(Local0, Local1) - CH06(arg0, 6, 47) - - // FromBCD - - FromBCD(Local0, Local1) - CH06(arg0, 8, 47) - - // Increment - - Increment(Local0) - CH06(arg0, 9, 47) - - // LNot - - Store (LNot(Local0), Local1) - CH06(arg0, 10, 47) - - // Not - - Not(Local0, Local1) - CH06(arg0, 12, 47) - - // ObjectType - - Store (ObjectType(Local0), Local1) - CH03(ts, z104, 3, 0, 0) - - // RefOf - - Store (RefOf(Local0), Local1) - CH03(ts, z104, 4, 0, 0) - - // Release - - Release(Local0) - CH06(arg0, 13, 47) - - // Reset - - Reset(Local0) - CH06(arg0, 14, 47) - - // Signal - - Signal(Local0) - CH06(arg0, 15, 47) - - // SizeOf - - Store (SizeOf(Local0), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(Local0) - CH06(arg0, 17, 47) - - // Stall - - Stall(Local0) - CH06(arg0, 18, 47) - - // Store - - Store(Local0, Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(Local0, Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(Local0, Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(Local0, Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(Local0, Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(Local0, Local1) - CH06(arg0, 29, 47) - - // Acquire - - Store(Acquire(Local0, 100), Local1) - CH06(arg0, 30, 47) - - // Add - - Add(Local0, i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, Local0, Local1) - CH06(arg0, 34, 47) - - // And - - And(Local0, i000, Local1) - CH06(arg0, 37, 47) - - And(i000, Local0, Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(Local0, i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, Local0, Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(Local0, i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, Local0, Local2) - CH06(arg0, 50, 47) - - Divide(Local0, i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, Local0, Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, Local0) - CH06(arg0, 53, 47) - - // Index - - Index(Local0, 0, Local1) - CH06(arg0, 56, 47) - - Index("0", Local0, Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(Local0, i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, Local0), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(Local0, i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, Local0), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(Local0, i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, Local0), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(Local0, i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, Local0), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(Local0, i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, Local0), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(Local0, i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, Local0), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(Local0, i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, Local0), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(Local0, i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, Local0, Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(Local0, i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, Local0, Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(Local0, i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, Local0, Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(Local0, i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, Local0, Local1) - CH06(arg0, 87, 47) - - // Or - - Or(Local0, i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, Local0, Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(Local0, i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, Local0, Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(Local0, i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, Local0, Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(Local0, i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, Local0, Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(Local0, 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, Local0, Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(Local0, i000), Local1) - CH06(arg0, 108, 47) - - Store(Wait(e000, Local0), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(Local0, i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, Local0, Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(Local0, 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", Local0, 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, Local0, Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1) - CH06(arg0, 123, 47) - } - - // Reference to Object - Method(m003, 2) - { - Store(ObjectType(arg1), Local0) - if (LNotEqual(Local0, 12)) { - err(arg0, z104, 200, 0, 0, Local0, 12) - return (1) - } - - Store (DeRefOf(arg1), Local1) - if(LNot(SLCK)){ - CH04(ts, 0, 47, z104, 5, 0, 0) - } - - // CondRefOf - - CondRefOf(DeRefOf(arg1), Local1) - CH06(arg0, 1, 47) - - // CopyObject - - CopyObject(DeRefOf(arg1), Local1) - CH03(ts, z104, 2, 0, 0) - - // Decrement - - Decrement(DeRefOf(arg1)) - CH06(arg0, 3, 47) - - // DerefOf - - Store (DerefOf(DeRefOf(arg1)), Local1) - CH06(arg0, 4, 47) - - // FindSetLeftBit - - FindSetLeftBit(DeRefOf(arg1), Local1) - CH06(arg0, 6, 47) - - // FindSetRightBit - - FindSetRightBit(DeRefOf(arg1), Local1) - CH06(arg0, 8, 47) - - // FromBCD - - FromBCD(DeRefOf(arg1), Local1) - CH06(arg0, 10, 47) - - // Increment - - Increment(DeRefOf(arg1)) - CH06(arg0, 11, 47) - - // LNot - - Store (LNot(DeRefOf(arg1)), Local1) - CH06(arg0, 12, 47) - - // Not - - Not(DeRefOf(arg1), Local1) - CH06(arg0, 14, 47) - - // ObjectType - - Store (ObjectType(DeRefOf(arg1)), Local1) - CH03(ts, z104, 6, 0, 0) - - // RefOf - - Store (RefOf(DeRefOf(arg1)), Local1) - CH06(arg0, 15, 47) - - // Release - - // Reset - - // Signal - - // SizeOf - - Store (SizeOf(DeRefOf(arg1)), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(DeRefOf(arg1)) - CH06(arg0, 17, 47) - - // Stall - - Stall(DeRefOf(arg1)) - CH06(arg0, 18, 47) - - // Store - - Store(DeRefOf(arg1), Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(DeRefOf(arg1), Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(DeRefOf(arg1), Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(DeRefOf(arg1), Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(DeRefOf(arg1), Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(DeRefOf(arg1), Local1) - CH06(arg0, 29, 47) - - // Acquire - - // Add - - Add(DeRefOf(arg1), i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, DeRefOf(arg1), Local1) - CH06(arg0, 34, 47) - - // And - - And(DeRefOf(arg1), i000, Local1) - CH06(arg0, 37, 47) - - And(i000, DeRefOf(arg1), Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(DeRefOf(arg1), i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, DeRefOf(arg1), Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(DeRefOf(arg1), i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, DeRefOf(arg1), Local2) - CH06(arg0, 50, 47) - - Divide(DeRefOf(arg1), i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, DeRefOf(arg1), Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, DeRefOf(arg1)) - CH06(arg0, 53, 47) - - // Index - - Index(DeRefOf(arg1), 0, Local1) - CH06(arg0, 56, 47) - - Index("0", DeRefOf(arg1), Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(DeRefOf(arg1), i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(DeRefOf(arg1), i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(DeRefOf(arg1), i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(DeRefOf(arg1), i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, DeRefOf(arg1), Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(DeRefOf(arg1), i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, DeRefOf(arg1), Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(DeRefOf(arg1), i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, DeRefOf(arg1), Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(DeRefOf(arg1), i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, DeRefOf(arg1), Local1) - CH06(arg0, 87, 47) - - // Or - - Or(DeRefOf(arg1), i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, DeRefOf(arg1), Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(DeRefOf(arg1), i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, DeRefOf(arg1), Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(DeRefOf(arg1), i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, DeRefOf(arg1), Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(DeRefOf(arg1), i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, DeRefOf(arg1), Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(DeRefOf(arg1), 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, DeRefOf(arg1), Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(e000, DeRefOf(arg1)), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(DeRefOf(arg1), i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, DeRefOf(arg1), Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(DeRefOf(arg1), 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", DeRefOf(arg1), 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, DeRefOf(arg1), Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1) - CH06(arg0, 123, 47) - - return (0) - } - - // Result of Method invocation - Method(m004, 1, Serialized) - { - Name(i000, 0) // Label to check m000 invocations - - Method(m000) - { - CopyObject(pr10, Local0) - Return (Local0) - } - - // CondRefOf - - if (y601) { - Store (CondRefOf(m000()), Local1) - CH06(arg0, 0, 47) - - Store (CondRefOf(m000(), Local1), Local1) - CH06(arg0, 1, 47) - } - - // CopyObject - - CopyObject(m000(), Local1) - CH03(ts, z104, 7, 0, 0) - - // Decrement - - Decrement(m000()) - CH06(arg0, 2, 47) - - // DerefOf - - Store (DerefOf(m000()), Local1) - CH06(arg0, 3, 47) - - // FindSetLeftBit - - FindSetLeftBit(m000(), Local1) - CH06(arg0, 5, 47) - - // FindSetRightBit - - FindSetRightBit(m000(), Local1) - CH06(arg0, 7, 47) - - // FromBCD - - FromBCD(m000(), Local1) - CH06(arg0, 9, 47) - - // Increment - - Increment(m000()) - CH06(arg0, 10, 47) - - // LNot - - Store (LNot(m000()), Local1) - CH06(arg0, 11, 47) - - // Not - - Not(m000(), Local1) - CH06(arg0, 13, 47) - - // ObjectType - /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ -// -// ObjectType(m000()) -// CH03(ts, z104, 8, 0, 0) - - // RefOf - - if (y601) { - Store (RefOf(m000()), Local1) - CH06(arg0, 14, 47) - } - - // Release - - Release(m000()) - CH06(arg0, 13, 47) - - // Reset - - Reset(m000()) - CH06(arg0, 14, 47) - - // Signal - - Signal(m000()) - CH06(arg0, 15, 47) - - // SizeOf - - Store (SizeOf(m000()), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(m000()) - CH06(arg0, 17, 47) - - // Stall - - Stall(m000()) - CH06(arg0, 18, 47) - - // Store - - Store(m000(), Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(m000(), Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(m000(), Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(m000(), Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(m000(), Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(m000(), Local1) - CH06(arg0, 29, 47) - - // Acquire - - Store(Acquire(m000(), 100), Local1) - CH06(arg0, 30, 47) - - // Add - - Add(m000(), i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, m000(), Local1) - CH06(arg0, 34, 47) - - // And - - And(m000(), i000, Local1) - CH06(arg0, 37, 47) - - And(i000, m000(), Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(m000(), i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, m000(), Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(m000(), i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, m000(), Local2) - CH06(arg0, 50, 47) - - Divide(m000(), i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, m000(), Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, m000()) - CH06(arg0, 53, 47) - - // Index - - Index(m000(), 0, Local1) - CH06(arg0, 56, 47) - - Index("0", m000(), Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(m000(), i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, m000()), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(m000(), i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, m000()), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(m000(), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, m000()), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(m000(), i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, m000()), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(m000(), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, m000()), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(m000(), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, m000()), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(m000(), i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, m000()), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(m000(), i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, m000(), Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(m000(), i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, m000(), Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(m000(), i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, m000(), Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(m000(), i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, m000(), Local1) - CH06(arg0, 87, 47) - - // Or - - Or(m000(), i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, m000(), Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(m000(), i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, m000(), Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(m000(), i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, m000(), Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(m000(), i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, m000(), Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(m000(), 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, m000(), Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(m000(), i000), Local1) - CH06(arg0, 108, 47) - - Store(Wait(e000, m000()), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(m000(), i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, m000(), Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(m000(), 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", m000(), 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, m000(), Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1) - CH06(arg0, 123, 47) - } - - // Reference to Object as Result of Method invocation - Method(m005, 1, Serialized) - { - Processor(prc2, 0, 0xFFFFFFFF, 0) {} - - Name(i000, 0) // Label to check m000 invocations - - Method(m000, 2) - { - Store(arg0, i000) - if (LEqual(arg1, 0)) { - Store(Refof(pr10), Local0) - } elseif (LEqual(arg1, 1)) { - Store(Refof(prc2), Local0) - } - Return (Local0) - } - - Method(CH00, 2) - { - if (LNotEqual(i000, arg1)) { - err(arg0, z104, 0, 0, 0, i000, arg1) - } - } - - Name(lpN0, 2) - Name(lpC0, 0) - - While (lpN0) { - Multiply(3, lpC0, Local0) - - Store(0, i000) - - Store (DerefOf(m000(1, lpC0)), Local1) - if(LNot(SLCK)){ - CH04(ts, 0, 47, z104, Add(9, lpC0), 0, 0) - } - CH00(arg0, 1) - - Store (DerefOf(DerefOf(m000(2, lpC0))), Local1) - if(LNot(slck)){ - CH06(arg0, Add(1, Local0), 47) - } - CH00(arg0, 2) - - Store (Index(DerefOf(m000(3, lpC0)), 0), Local1) - CH06(arg0, Add(2, Local0), 47) - CH00(arg0, 3) - - Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, Add(3, Local0), 47) - CH00(arg0, 4) - - Decrement(lpN0) - Increment(lpC0) - } - } - - SET0(z104, ts, 0) - - CH03(ts, z104, 11, 0, 0) - - // Local Named Object - m000(ts) - - // Global Named Object - m001(ts) - - // Local - m002(Concatenate(ts, "-m002")) - - // Reference to Local Named Object - - m003(Concatenate(ts, "-m003-RefLocName"), RefOf(prc1)) - - Store(RefOf(prc1), Local0) - m003(Concatenate(ts, "-m003-RefLocName2"), Local0) - - CondRefOf(prc1, Local0) - m003(Concatenate(ts, "-m003-CondRefLocName"), Local0) - - m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(pr10)) - - Store(RefOf(pr10), Local0) - m003(Concatenate(ts, "-m003-RefGlobName2"), Local0) - - CondRefOf(pr10, Local0) - m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0) - - // Reference to Object as element of Package - - Name(pp00, Package(){pr10}) - - if (y113) { - m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0)) - } - - Store(Index(pp00, 0), Local1) - m003(Concatenate(ts, "-m003-Index2"), Local1) - - if (y113) { - m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2)) - } - - Index(pp00, 0, Local3) - m003(Concatenate(ts, "-m003-Index4"), Local3) - - Store(Index(pp00, 0, Local4), Local5) - m003(Concatenate(ts, "-m003-Index5"), Local5) - - // Result of Method invocation - m004(Concatenate(ts, "-m004")) - - // Reference to Object as Result of Method invocation - m005(Concatenate(ts, "-m005")) - - RST0() -} +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Processor
+ *
+ * (verify exceptions caused by the imprope use of Processor type objects)
+ */
+
+Name(z104, 104)
+
+Processor(pr10, 0, 0xFFFFFFFF, 0) {}
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+//
+Method(m4bc,, Serialized)
+{
+ Name(ts, "m4bc")
+
+ Processor(prc1, 0, 0xFFFFFFFF, 0) {}
+
+ Event(e000)
+
+ Name(i000, 0)
+
+ // Local Named Object
+ Method(m000, 1, Serialized)
+ {
+ Processor(prc2, 0, 0xFFFFFFFF, 0) {}
+
+ if (y083) {
+ Store (DerefOf(prc2), Local1)
+ CH06(arg0, 0, 47)
+ }
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ if (y083) {
+ Store (DerefOf(pr10), Local1)
+ CH06(arg0, 1, 47)
+ }
+ }
+
+ // Local
+ Method(m002, 1, Serialized)
+ {
+ Processor(prc2, 0, 0xFFFFFFFF, 0) {}
+
+ Event(e000)
+
+ CopyObject(prc2, Local0)
+
+ // CondRefOf
+
+ CondRefOf(Local0, Local1)
+ CH03(ts, z104, 1, 0, 0)
+
+ // CopyObject
+
+ CopyObject(Local0, Local1)
+ CH03(ts, z104, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(Local0)
+ CH06(arg0, 1, 47)
+
+ // DerefOf
+
+ Store (DerefOf(Local0), Local1)
+ CH06(arg0, 2, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(Local0, Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(Local0, Local1)
+ CH06(arg0, 6, 47)
+
+ // FromBCD
+
+ FromBCD(Local0, Local1)
+ CH06(arg0, 8, 47)
+
+ // Increment
+
+ Increment(Local0)
+ CH06(arg0, 9, 47)
+
+ // LNot
+
+ Store (LNot(Local0), Local1)
+ CH06(arg0, 10, 47)
+
+ // Not
+
+ Not(Local0, Local1)
+ CH06(arg0, 12, 47)
+
+ // ObjectType
+
+ Store (ObjectType(Local0), Local1)
+ CH03(ts, z104, 3, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(Local0), Local1)
+ CH03(ts, z104, 4, 0, 0)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ Store (SizeOf(Local0), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(Local0)
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(Local0)
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(Local0, Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(Local0, Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(Local0, Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(Local0, Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(Local0, Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(Local0, Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Store(Acquire(Local0, 100), Local1)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(Local0, i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, Local0, Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(Local0, i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, Local0, Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(Local0, i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, Local0, Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(Local0, i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, Local0, Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(Local0, i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, Local0, Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, Local0)
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(Local0, 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", Local0, Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(Local0, i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, Local0), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(Local0, i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, Local0), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(Local0, i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, Local0), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(Local0, i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, Local0), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(Local0, i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, Local0), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(Local0, i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, Local0), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(Local0, i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, Local0), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(Local0, i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, Local0, Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(Local0, i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, Local0, Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(Local0, i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, Local0, Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(Local0, i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, Local0, Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(Local0, i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, Local0, Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(Local0, i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, Local0, Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(Local0, i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, Local0, Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(Local0, i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, Local0, Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(Local0, 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, Local0, Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(Local0, i000), Local1)
+ CH06(arg0, 108, 47)
+
+ Store(Wait(e000, Local0), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(Local0, i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, Local0, Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(Local0, 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", Local0, 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, Local0, Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object
+ Method(m003, 2)
+ {
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 12)) {
+ err(arg0, z104, 200, 0, 0, Local0, 12)
+ return (1)
+ }
+
+ Store (DeRefOf(arg1), Local1)
+ if(LNot(SLCK)){
+ CH04(ts, 0, 47, z104, 5, 0, 0)
+ }
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(arg1), Local1)
+ CH06(arg0, 1, 47)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(arg1), Local1)
+ CH03(ts, z104, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(DeRefOf(arg1))
+ CH06(arg0, 3, 47)
+
+ // DerefOf
+
+ Store (DerefOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 6, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 8, 47)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 10, 47)
+
+ // Increment
+
+ Increment(DeRefOf(arg1))
+ CH06(arg0, 11, 47)
+
+ // LNot
+
+ Store (LNot(DeRefOf(arg1)), Local1)
+ CH06(arg0, 12, 47)
+
+ // Not
+
+ Not(DeRefOf(arg1), Local1)
+ CH06(arg0, 14, 47)
+
+ // ObjectType
+
+ Store (ObjectType(DeRefOf(arg1)), Local1)
+ CH03(ts, z104, 6, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 15, 47)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ Store (SizeOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(DeRefOf(arg1))
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(DeRefOf(arg1))
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(DeRefOf(arg1), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(arg1), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(arg1), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(arg1), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(arg1), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(DeRefOf(arg1), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(DeRefOf(arg1), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, DeRefOf(arg1), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(arg1))
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(DeRefOf(arg1), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", DeRefOf(arg1), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(e000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(DeRefOf(arg1), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, DeRefOf(arg1), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1)
+ CH06(arg0, 123, 47)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m004, 1, Serialized)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000)
+ {
+ CopyObject(pr10, Local0)
+ Return (Local0)
+ }
+
+ // CondRefOf
+
+ if (y601) {
+ Store (CondRefOf(m000()), Local1)
+ CH06(arg0, 0, 47)
+
+ Store (CondRefOf(m000(), Local1), Local1)
+ CH06(arg0, 1, 47)
+ }
+
+ // CopyObject
+
+ CopyObject(m000(), Local1)
+ CH03(ts, z104, 7, 0, 0)
+
+ // Decrement
+
+ Decrement(m000())
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ Store (DerefOf(m000()), Local1)
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(m000(), Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(m000(), Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(m000(), Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(m000())
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ Store (LNot(m000()), Local1)
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(m000(), Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+ /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */
+//
+// ObjectType(m000())
+// CH03(ts, z104, 8, 0, 0)
+
+ // RefOf
+
+ if (y601) {
+ Store (RefOf(m000()), Local1)
+ CH06(arg0, 14, 47)
+ }
+
+ // Release
+
+ Release(m000())
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(m000())
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(m000())
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ Store (SizeOf(m000()), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(m000())
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(m000())
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(m000(), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(m000(), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(m000(), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(m000(), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(m000(), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(m000(), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Store(Acquire(m000(), 100), Local1)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(m000(), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, m000(), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(m000(), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, m000(), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(m000(), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, m000(), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(m000(), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, m000(), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(m000(), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, m000(), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, m000())
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(m000(), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", m000(), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(m000(), i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, m000()), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(m000(), i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, m000()), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(m000(), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, m000()), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(m000(), i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, m000()), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(m000(), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, m000()), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(m000(), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, m000()), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(m000(), i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, m000()), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(m000(), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, m000(), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(m000(), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, m000(), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(m000(), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, m000(), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(m000(), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, m000(), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(m000(), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, m000(), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(m000(), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, m000(), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(m000(), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, m000(), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(m000(), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, m000(), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(m000(), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, m000(), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(m000(), i000), Local1)
+ CH06(arg0, 108, 47)
+
+ Store(Wait(e000, m000()), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(m000(), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, m000(), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(m000(), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", m000(), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, m000(), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m005, 1, Serialized)
+ {
+ Processor(prc2, 0, 0xFFFFFFFF, 0) {}
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(pr10), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(prc2), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z104, 0, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ Store (DerefOf(m000(1, lpC0)), Local1)
+ if(LNot(SLCK)){
+ CH04(ts, 0, 47, z104, Add(9, lpC0), 0, 0)
+ }
+ CH00(arg0, 1)
+
+ Store (DerefOf(DerefOf(m000(2, lpC0))), Local1)
+ if(LNot(slck)){
+ CH06(arg0, Add(1, Local0), 47)
+ }
+ CH00(arg0, 2)
+
+ Store (Index(DerefOf(m000(3, lpC0)), 0), Local1)
+ CH06(arg0, Add(2, Local0), 47)
+ CH00(arg0, 3)
+
+ Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, Add(3, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ SET0(z104, ts, 0)
+
+ CH03(ts, z104, 11, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Local
+ m002(Concatenate(ts, "-m002"))
+
+ // Reference to Local Named Object
+
+ m003(Concatenate(ts, "-m003-RefLocName"), RefOf(prc1))
+
+ Store(RefOf(prc1), Local0)
+ m003(Concatenate(ts, "-m003-RefLocName2"), Local0)
+
+ CondRefOf(prc1, Local0)
+ m003(Concatenate(ts, "-m003-CondRefLocName"), Local0)
+
+ m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(pr10))
+
+ Store(RefOf(pr10), Local0)
+ m003(Concatenate(ts, "-m003-RefGlobName2"), Local0)
+
+ CondRefOf(pr10, Local0)
+ m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0)
+
+ // Reference to Object as element of Package
+
+ Name(pp00, Package(){pr10})
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0))
+ }
+
+ Store(Index(pp00, 0), Local1)
+ m003(Concatenate(ts, "-m003-Index2"), Local1)
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2))
+ }
+
+ Index(pp00, 0, Local3)
+ m003(Concatenate(ts, "-m003-Index4"), Local3)
+
+ Store(Index(pp00, 0, Local4), Local5)
+ m003(Concatenate(ts, "-m003-Index5"), Local5)
+
+ // Result of Method invocation
+ m004(Concatenate(ts, "-m004"))
+
+ // Reference to Object as Result of Method invocation
+ m005(Concatenate(ts, "-m005"))
+
+ RST0()
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_13_tzone.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_13_tzone.asl index c9e34e190..c141b1723 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_13_tzone.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_13_tzone.asl @@ -1,1274 +1,1274 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * Thermal Zone - * - * (verify exceptions caused by the imprope use of Thermal Zone type objects) - */ - -Name(z105, 105) - -ThermalZone (tz00) {Name(n000, "tz00")} - -// Expected exceptions: -// -// 47 - AE_AML_OPERAND_TYPE -// -Method(m4bd,, Serialized) -{ - Name(ts, "m4bd") - - ThermalZone (tz01) {Name(n000, "tz01")} - - Event(e000) - - Name(i000, 0) - - // Local Named Object - Method(m000, 1, Serialized) - { - ThermalZone (tz02) {Name(n000, "tz02")} - - Store (DerefOf(tz02), Local1) - CH06(arg0, 0, 47) - } - - // Global Named Object - Method(m001, 1) - { - if (y083) { - Store (DerefOf(tz00), Local1) - CH06(arg0, 1, 47) - } - } - - // Local - Method(m002, 1, Serialized) - { - ThermalZone (tz02) {Name(n000, "tz02")} - - Event(e000) - - CopyObject(tz02, Local0) - - // CondRefOf - - CondRefOf(Local0, Local1) - CH03(ts, z105, 1, 0, 0) - - // CopyObject - - CopyObject(Local0, Local1) - CH03(ts, z105, 2, 0, 0) - - // Decrement - - Decrement(Local0) - CH06(arg0, 1, 47) - - // DerefOf - - Store (DerefOf(Local0), Local1) - CH06(arg0, 2, 47) - - // FindSetLeftBit - - FindSetLeftBit(Local0, Local1) - CH06(arg0, 4, 47) - - // FindSetRightBit - - FindSetRightBit(Local0, Local1) - CH06(arg0, 6, 47) - - // FromBCD - - FromBCD(Local0, Local1) - CH06(arg0, 8, 47) - - // Increment - - Increment(Local0) - CH06(arg0, 9, 47) - - // LNot - - Store (LNot(Local0), Local1) - CH06(arg0, 10, 47) - - // Not - - Not(Local0, Local1) - CH06(arg0, 12, 47) - - // ObjectType - - Store (ObjectType(Local0), Local1) - CH03(ts, z105, 3, 0, 0) - - // RefOf - - Store (RefOf(Local0), Local1) - CH03(ts, z105, 4, 0, 0) - - // Release - - Release(Local0) - CH06(arg0, 13, 47) - - // Reset - - Reset(Local0) - CH06(arg0, 14, 47) - - // Signal - - Signal(Local0) - CH06(arg0, 15, 47) - - // SizeOf - - Store (SizeOf(Local0), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(Local0) - CH06(arg0, 17, 47) - - // Stall - - Stall(Local0) - CH06(arg0, 18, 47) - - // Store - - Store(Local0, Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(Local0, Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(Local0, Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(Local0, Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(Local0, Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(Local0, Local1) - CH06(arg0, 29, 47) - - // Acquire - - Store(Acquire(Local0, 100), Local1) - CH06(arg0, 30, 47) - - // Add - - Add(Local0, i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, Local0, Local1) - CH06(arg0, 34, 47) - - // And - - And(Local0, i000, Local1) - CH06(arg0, 37, 47) - - And(i000, Local0, Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(Local0, i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, Local0, Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(Local0, i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, Local0, Local2) - CH06(arg0, 50, 47) - - Divide(Local0, i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, Local0, Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, Local0) - CH06(arg0, 53, 47) - - // Index - - Index(Local0, 0, Local1) - CH06(arg0, 56, 47) - - Index("0", Local0, Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(Local0, i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, Local0), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(Local0, i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, Local0), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(Local0, i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, Local0), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(Local0, i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, Local0), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(Local0, i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, Local0), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(Local0, i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, Local0), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(Local0, i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, Local0), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(Local0, i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, Local0, Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(Local0, i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, Local0, Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(Local0, i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, Local0, Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(Local0, i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, Local0, Local1) - CH06(arg0, 87, 47) - - // Or - - Or(Local0, i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, Local0, Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(Local0, i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, Local0, Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(Local0, i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, Local0, Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(Local0, i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, Local0, Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(Local0, 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, Local0, Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(Local0, i000), Local1) - CH06(arg0, 108, 47) - - Store(Wait(e000, Local0), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(Local0, i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, Local0, Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(Local0, 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", Local0, 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, Local0, Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1) - CH06(arg0, 123, 47) - } - - // Reference to Object - Method(m003, 3, Serialized) - { - Name(EXC0, 47) // AE_AML_OPERAND_TYPE - - Store(ObjectType(arg1), Local0) - if (LNotEqual(Local0, 13)) { - err(arg0, z105, 200, 0, 0, Local0, 13) - return (1) - } - - if (arg2) { - if (LNot(y503)) { - Store(62, EXC0) // AE_AML_NO_RETURN_VALUE - } - } - - Store (DeRefOf(arg1), Local1) - CH03(ts, z105, 5, 0, 0) - - // CondRefOf - - CondRefOf(DeRefOf(arg1), Local1) - CH06(arg0, 1, EXC0) - - // CopyObject - - CopyObject(DeRefOf(arg1), Local1) - CH06(arg0, 2, EXC0) - - // Decrement - - Decrement(DeRefOf(arg1)) - CH06(arg0, 3, EXC0) - - // DerefOf - - Store (DerefOf(DeRefOf(arg1)), Local1) - CH06(arg0, 4, EXC0) - - // FindSetLeftBit - - FindSetLeftBit(DeRefOf(arg1), Local1) - CH06(arg0, 6, EXC0) - - // FindSetRightBit - - FindSetRightBit(DeRefOf(arg1), Local1) - CH06(arg0, 8, EXC0) - - // FromBCD - - FromBCD(DeRefOf(arg1), Local1) - CH06(arg0, 10, EXC0) - - // Increment - - Increment(DeRefOf(arg1)) - CH06(arg0, 11, EXC0) - - // LNot - - Store (LNot(DeRefOf(arg1)), Local1) - CH06(arg0, 12, EXC0) - - // Not - - Not(DeRefOf(arg1), Local1) - CH06(arg0, 14, EXC0) - - // ObjectType - - Store (ObjectType(DeRefOf(arg1)), Local1) - CH03(ts, z105, 6, 0, 0) - - // RefOf - - Store (RefOf(DeRefOf(arg1)), Local1) - CH06(arg0, 15, EXC0) - - // Release - - // Reset - - // Signal - - // SizeOf - - Store (SizeOf(DeRefOf(arg1)), Local1) - CH06(arg0, 16, EXC0) - - // Sleep - - Sleep(DeRefOf(arg1)) - CH06(arg0, 17, EXC0) - - // Stall - - Stall(DeRefOf(arg1)) - CH06(arg0, 18, EXC0) - - // Store - - Store(DeRefOf(arg1), Local1) - CH06(arg0, 19, EXC0) - - // ToBCD - - ToBCD(DeRefOf(arg1), Local1) - CH06(arg0, 21, EXC0) - - // ToBuffer - - ToBuffer(DeRefOf(arg1), Local1) - CH06(arg0, 23, EXC0) - - // ToDecimalString - - ToDecimalString(DeRefOf(arg1), Local1) - CH06(arg0, 25, EXC0) - - // ToHexString - - ToHexString(DeRefOf(arg1), Local1) - CH06(arg0, 27, EXC0) - - // ToInteger - - ToInteger(DeRefOf(arg1), Local1) - CH06(arg0, 29, EXC0) - - // Acquire - - // Add - - Add(DeRefOf(arg1), i000, Local1) - CH06(arg0, 33, EXC0) - - Add(i000, DeRefOf(arg1), Local1) - CH06(arg0, 34, EXC0) - - // And - - And(DeRefOf(arg1), i000, Local1) - CH06(arg0, 37, EXC0) - - And(i000, DeRefOf(arg1), Local1) - CH06(arg0, 38, EXC0) - - // Concatenate - - Concatenate(DeRefOf(arg1), i000, Local1) - CH06(arg0, 41, EXC0) - - Concatenate(i000, DeRefOf(arg1), Local1) - CH06(arg0, 42, EXC0) - - // ConcatenateResTemplate - - ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1) - CH06(arg0, 45, EXC0) - - ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1) - CH06(arg0, 46, EXC0) - - // Divide - - Divide(DeRefOf(arg1), i000, Local2) - CH06(arg0, 49, EXC0) - - Divide(i000, DeRefOf(arg1), Local2) - CH06(arg0, 50, EXC0) - - Divide(DeRefOf(arg1), i000, Local2, Local1) - CH06(arg0, 51, EXC0) - - Divide(i000, DeRefOf(arg1), Local2, Local1) - CH06(arg0, 52, EXC0) - - // Fatal - - Fatal(0xff, 0xffffffff, DeRefOf(arg1)) - CH06(arg0, 53, EXC0) - - // Index - - Index(DeRefOf(arg1), 0, Local1) - CH06(arg0, 56, EXC0) - - Index("0", DeRefOf(arg1), Local1) - CH06(arg0, 57, EXC0) - - // LEqual - - Store (LEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 58, EXC0) - - Store (LEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 59, EXC0) - - // LGreater - - Store (LGreater(DeRefOf(arg1), i000), Local1) - CH06(arg0, 60, EXC0) - - Store (LGreater(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 61, EXC0) - - // LGreaterEqual - - Store (LGreaterEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(DeRefOf(arg1), i000), Local1) - CH06(arg0, 64, EXC0) - - Store (LLess(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 65, EXC0) - - // LLessEqual - - Store (LLessEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(DeRefOf(arg1), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(DeRefOf(arg1), i000), Local1) - CH06(arg0, 70, EXC0) - - Store (LOr(i000, DeRefOf(arg1)), Local1) - CH06(arg0, 71, EXC0) - - // Mod - - Mod(DeRefOf(arg1), i000, Local1) - CH06(arg0, 74, EXC0) - - Mod(i000, DeRefOf(arg1), Local1) - CH06(arg0, 75, EXC0) - - // Multiply - - Multiply(DeRefOf(arg1), i000, Local1) - CH06(arg0, 78, EXC0) - - Multiply(i000, DeRefOf(arg1), Local1) - CH06(arg0, 79, EXC0) - - // NAnd - - NAnd(DeRefOf(arg1), i000, Local1) - CH06(arg0, 82, EXC0) - - NAnd(i000, DeRefOf(arg1), Local1) - CH06(arg0, 83, EXC0) - - // NOr - - NOr(DeRefOf(arg1), i000, Local1) - CH06(arg0, 86, EXC0) - - NOr(i000, DeRefOf(arg1), Local1) - CH06(arg0, 87, EXC0) - - // Or - - Or(DeRefOf(arg1), i000, Local1) - CH06(arg0, 90, EXC0) - - Or(i000, DeRefOf(arg1), Local1) - CH06(arg0, 91, EXC0) - - // ShiftLeft - - ShiftLeft(DeRefOf(arg1), i000, Local1) - CH06(arg0, 94, EXC0) - - ShiftLeft(i000, DeRefOf(arg1), Local1) - CH06(arg0, 95, EXC0) - - // ShiftRight - - ShiftRight(DeRefOf(arg1), i000, Local1) - CH06(arg0, 98, EXC0) - - ShiftRight(i000, DeRefOf(arg1), Local1) - CH06(arg0, 99, EXC0) - - // Subtract - - Subtract(DeRefOf(arg1), i000, Local1) - CH06(arg0, 102, EXC0) - - Subtract(i000, DeRefOf(arg1), Local1) - CH06(arg0, 103, EXC0) - - // ToString - - ToString(DeRefOf(arg1), 1, Local1) - CH06(arg0, 106, EXC0) - - ToString(i000, DeRefOf(arg1), Local1) - CH06(arg0, 107, EXC0) - - // Wait - - Store(Wait(e000, DeRefOf(arg1)), Local1) - CH06(arg0, 109, EXC0) - - // XOr - - XOr(DeRefOf(arg1), i000, Local1) - CH06(arg0, 112, EXC0) - - XOr(i000, DeRefOf(arg1), Local1) - CH06(arg0, 113, EXC0) - - // Mid - - Mid(DeRefOf(arg1), 1, 1, Local1) - CH06(arg0, 117, EXC0) - - Mid("123", DeRefOf(arg1), 1, Local1) - CH06(arg0, 118, EXC0) - - Mid("123", 1, DeRefOf(arg1), Local1) - CH06(arg0, 119, EXC0) - - // Match - - Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, EXC0) - - Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1) - CH06(arg0, 121, EXC0) - - Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1) - CH06(arg0, 122, EXC0) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1) - CH06(arg0, 123, EXC0) - - return (0) - } - - // Result of Method invocation - Method(m004, 1, Serialized) - { - Name(i000, 0) // Label to check m000 invocations - - Method(m000) - { - CopyObject(tz00, Local0) - Return (Local0) - } - - // CondRefOf - - CondRefOf(m000(), Local1) - CH06(arg0, 1, 47) - - // CopyObject - - CopyObject(m000(), Local1) - CH03(ts, z105, 7, 0, 0) - - // Decrement - - Decrement(m000()) - CH06(arg0, 2, 47) - - // DerefOf - - Store (DerefOf(m000()), Local1) - CH06(arg0, 3, 47) - - // FindSetLeftBit - - FindSetLeftBit(m000(), Local1) - CH06(arg0, 5, 47) - - // FindSetRightBit - - FindSetRightBit(m000(), Local1) - CH06(arg0, 7, 47) - - // FromBCD - - FromBCD(m000(), Local1) - CH06(arg0, 9, 47) - - // Increment - - Increment(m000()) - CH06(arg0, 10, 47) - - // LNot - - Store (LNot(m000()), Local1) - CH06(arg0, 11, 47) - - // Not - - Not(m000(), Local1) - CH06(arg0, 13, 47) - - // ObjectType - /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */ -// -// ObjectType(m000()) -// CH03(ts, z105, 8, 0, 0) - - // RefOf - - Store (RefOf(m000()), Local1) - CH06(arg0, 14, 47) - - // Release - - Release(m000()) - CH06(arg0, 13, 47) - - // Reset - - Reset(m000()) - CH06(arg0, 14, 47) - - // Signal - - Signal(m000()) - CH06(arg0, 15, 47) - - // SizeOf - - Store (SizeOf(m000()), Local1) - CH06(arg0, 16, 47) - - // Sleep - - Sleep(m000()) - CH06(arg0, 17, 47) - - // Stall - - Stall(m000()) - CH06(arg0, 18, 47) - - // Store - - Store(m000(), Local1) - CH06(arg0, 19, 47) - - // ToBCD - - ToBCD(m000(), Local1) - CH06(arg0, 21, 47) - - // ToBuffer - - ToBuffer(m000(), Local1) - CH06(arg0, 23, 47) - - // ToDecimalString - - ToDecimalString(m000(), Local1) - CH06(arg0, 25, 47) - - // ToHexString - - ToHexString(m000(), Local1) - CH06(arg0, 27, 47) - - // ToInteger - - ToInteger(m000(), Local1) - CH06(arg0, 29, 47) - - // Acquire - - Store(Acquire(m000(), 100), Local1) - CH06(arg0, 30, 47) - - // Add - - Add(m000(), i000, Local1) - CH06(arg0, 33, 47) - - Add(i000, m000(), Local1) - CH06(arg0, 34, 47) - - // And - - And(m000(), i000, Local1) - CH06(arg0, 37, 47) - - And(i000, m000(), Local1) - CH06(arg0, 38, 47) - - // Concatenate - - Concatenate(m000(), i000, Local1) - CH06(arg0, 41, 47) - - Concatenate(i000, m000(), Local1) - CH06(arg0, 42, 47) - - // ConcatenateResTemplate - - ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1) - CH06(arg0, 45, 47) - - ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1) - CH06(arg0, 46, 47) - - // Divide - - Divide(m000(), i000, Local2) - CH06(arg0, 49, 47) - - Divide(i000, m000(), Local2) - CH06(arg0, 50, 47) - - Divide(m000(), i000, Local2, Local1) - CH06(arg0, 51, 47) - - Divide(i000, m000(), Local2, Local1) - CH06(arg0, 52, 47) - - // Fatal - - Fatal(0xff, 0xffffffff, m000()) - CH06(arg0, 53, 47) - - // Index - - Index(m000(), 0, Local1) - CH06(arg0, 56, 47) - - Index("0", m000(), Local1) - CH06(arg0, 57, 47) - - // LEqual - - Store (LEqual(m000(), i000), Local1) - CH06(arg0, 58, 47) - - Store (LEqual(i000, m000()), Local1) - CH06(arg0, 59, 47) - - // LGreater - - Store (LGreater(m000(), i000), Local1) - CH06(arg0, 60, 47) - - Store (LGreater(i000, m000()), Local1) - CH06(arg0, 61, 47) - - // LGreaterEqual - - Store (LGreaterEqual(m000(), i000), Local1) - CH06(arg0, 62, 0xff) - - Store (LGreaterEqual(i000, m000()), Local1) - CH06(arg0, 63, 0xff) - - // LLess - - Store (LLess(m000(), i000), Local1) - CH06(arg0, 64, 47) - - Store (LLess(i000, m000()), Local1) - CH06(arg0, 65, 47) - - // LLessEqual - - Store (LLessEqual(m000(), i000), Local1) - CH06(arg0, 66, 0xff) - - Store (LLessEqual(i000, m000()), Local1) - CH06(arg0, 67, 0xff) - - // LNotEqual - - Store (LNotEqual(m000(), i000), Local1) - CH06(arg0, 68, 0xff) - - Store (LNotEqual(i000, m000()), Local1) - CH06(arg0, 69, 0xff) - - // LOr - - Store (LOr(m000(), i000), Local1) - CH06(arg0, 70, 47) - - Store (LOr(i000, m000()), Local1) - CH06(arg0, 71, 47) - - // Mod - - Mod(m000(), i000, Local1) - CH06(arg0, 74, 47) - - Mod(i000, m000(), Local1) - CH06(arg0, 75, 47) - - // Multiply - - Multiply(m000(), i000, Local1) - CH06(arg0, 78, 47) - - Multiply(i000, m000(), Local1) - CH06(arg0, 79, 47) - - // NAnd - - NAnd(m000(), i000, Local1) - CH06(arg0, 82, 47) - - NAnd(i000, m000(), Local1) - CH06(arg0, 83, 47) - - // NOr - - NOr(m000(), i000, Local1) - CH06(arg0, 86, 47) - - NOr(i000, m000(), Local1) - CH06(arg0, 87, 47) - - // Or - - Or(m000(), i000, Local1) - CH06(arg0, 90, 47) - - Or(i000, m000(), Local1) - CH06(arg0, 91, 47) - - // ShiftLeft - - ShiftLeft(m000(), i000, Local1) - CH06(arg0, 94, 47) - - ShiftLeft(i000, m000(), Local1) - CH06(arg0, 95, 47) - - // ShiftRight - - ShiftRight(m000(), i000, Local1) - CH06(arg0, 98, 47) - - ShiftRight(i000, m000(), Local1) - CH06(arg0, 99, 47) - - // Subtract - - Subtract(m000(), i000, Local1) - CH06(arg0, 102, 47) - - Subtract(i000, m000(), Local1) - CH06(arg0, 103, 47) - - // ToString - - ToString(m000(), 1, Local1) - CH06(arg0, 106, 47) - - ToString(i000, m000(), Local1) - CH06(arg0, 107, 47) - - // Wait - - Store(Wait(m000(), i000), Local1) - CH06(arg0, 108, 47) - - Store(Wait(e000, m000()), Local1) - CH06(arg0, 109, 47) - - // XOr - - XOr(m000(), i000, Local1) - CH06(arg0, 112, 47) - - XOr(i000, m000(), Local1) - CH06(arg0, 113, 47) - - // Mid - - Mid(m000(), 1, 1, Local1) - CH06(arg0, 117, 47) - - Mid("123", m000(), 1, Local1) - CH06(arg0, 118, 47) - - Mid("123", 1, m000(), Local1) - CH06(arg0, 119, 47) - - // Match - - Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 120, 47) - - Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1) - CH06(arg0, 121, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1) - CH06(arg0, 122, 47) - - Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1) - CH06(arg0, 123, 47) - } - - // Reference to Object as Result of Method invocation - Method(m005, 1, Serialized) - { - ThermalZone (tz02) {Name(n000, "tz02")} - - Name(i000, 0) // Label to check m000 invocations - - Method(m000, 2) - { - Store(arg0, i000) - if (LEqual(arg1, 0)) { - Store(Refof(tz00), Local0) - } elseif (LEqual(arg1, 1)) { - Store(Refof(tz02), Local0) - } - Return (Local0) - } - - Method(CH00, 2) - { - if (LNotEqual(i000, arg1)) { - err(arg0, z105, 0, 0, 0, i000, arg1) - } - } - - Name(lpN0, 2) - Name(lpC0, 0) - - While (lpN0) { - Multiply(3, lpC0, Local0) - - Store(0, i000) - - Store (DerefOf(m000(1, lpC0)), Local1) - CH03(ts, z105, Add(9, lpC0), 0, 0) - CH00(arg0, 1) - - Store (DerefOf(DerefOf(m000(2, lpC0))), Local1) - CH06(arg0, Add(1, Local0), 47) - CH00(arg0, 2) - - Store (Index(DerefOf(m000(3, lpC0)), 0), Local1) - CH06(arg0, Add(2, Local0), 47) - CH00(arg0, 3) - - Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, Add(3, Local0), 47) - CH00(arg0, 4) - - Decrement(lpN0) - Increment(lpC0) - } - } - - CH03(ts, z105, 11, 0, 0) - - // Local Named Object - m000(ts) - - // Global Named Object - m001(ts) - - // Local - if (y504) { - m002(Concatenate(ts, "-m002")) - } - - // Reference to Local Named Object - - m003(Concatenate(ts, "-m003-RefLocName"), RefOf(tz01), 1) - - Store(RefOf(tz01), Local0) - m003(Concatenate(ts, "-m003-RefLocName2"), Local0, 1) - - CondRefOf(tz01, Local0) - m003(Concatenate(ts, "-m003-CondRefLocName"), Local0, 1) - - m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(tz00), 1) - - Store(RefOf(tz00), Local0) - m003(Concatenate(ts, "-m003-RefGlobName2"), Local0, 1) - - CondRefOf(tz00, Local0) - m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0, 1) - - // Reference to Object as element of Package - - Name(pp00, Package(){tz00}) - - if (y113) { - m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0), 0) - } - - Store(Index(pp00, 0), Local1) - m003(Concatenate(ts, "-m003-Index2"), Local1, 0) - - if (y113) { - m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2), 0) - } - - Index(pp00, 0, Local3) - m003(Concatenate(ts, "-m003-Index4"), Local3, 0) - - Store(Index(pp00, 0, Local4), Local5) - m003(Concatenate(ts, "-m003-Index5"), Local5, 0) - - // Result of Method invocation - if (y504) { - m004(Concatenate(ts, "-m004")) - } - - // Reference to Object as Result of Method invocation - m005(Concatenate(ts, "-m005")) -} +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Thermal Zone
+ *
+ * (verify exceptions caused by the imprope use of Thermal Zone type objects)
+ */
+
+Name(z105, 105)
+
+ThermalZone (tz00) {Name(n000, "tz00")}
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+//
+Method(m4bd,, Serialized)
+{
+ Name(ts, "m4bd")
+
+ ThermalZone (tz01) {Name(n000, "tz01")}
+
+ Event(e000)
+
+ Name(i000, 0)
+
+ // Local Named Object
+ Method(m000, 1, Serialized)
+ {
+ ThermalZone (tz02) {Name(n000, "tz02")}
+
+ Store (DerefOf(tz02), Local1)
+ CH06(arg0, 0, 47)
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ if (y083) {
+ Store (DerefOf(tz00), Local1)
+ CH06(arg0, 1, 47)
+ }
+ }
+
+ // Local
+ Method(m002, 1, Serialized)
+ {
+ ThermalZone (tz02) {Name(n000, "tz02")}
+
+ Event(e000)
+
+ CopyObject(tz02, Local0)
+
+ // CondRefOf
+
+ CondRefOf(Local0, Local1)
+ CH03(ts, z105, 1, 0, 0)
+
+ // CopyObject
+
+ CopyObject(Local0, Local1)
+ CH03(ts, z105, 2, 0, 0)
+
+ // Decrement
+
+ Decrement(Local0)
+ CH06(arg0, 1, 47)
+
+ // DerefOf
+
+ Store (DerefOf(Local0), Local1)
+ CH06(arg0, 2, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(Local0, Local1)
+ CH06(arg0, 4, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(Local0, Local1)
+ CH06(arg0, 6, 47)
+
+ // FromBCD
+
+ FromBCD(Local0, Local1)
+ CH06(arg0, 8, 47)
+
+ // Increment
+
+ Increment(Local0)
+ CH06(arg0, 9, 47)
+
+ // LNot
+
+ Store (LNot(Local0), Local1)
+ CH06(arg0, 10, 47)
+
+ // Not
+
+ Not(Local0, Local1)
+ CH06(arg0, 12, 47)
+
+ // ObjectType
+
+ Store (ObjectType(Local0), Local1)
+ CH03(ts, z105, 3, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(Local0), Local1)
+ CH03(ts, z105, 4, 0, 0)
+
+ // Release
+
+ Release(Local0)
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(Local0)
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(Local0)
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ Store (SizeOf(Local0), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(Local0)
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(Local0)
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(Local0, Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(Local0, Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(Local0, Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(Local0, Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(Local0, Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(Local0, Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Store(Acquire(Local0, 100), Local1)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(Local0, i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, Local0, Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(Local0, i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, Local0, Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(Local0, i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, Local0, Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(Local0, ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, Local0, Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(Local0, i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, Local0, Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(Local0, i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, Local0, Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, Local0)
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(Local0, 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", Local0, Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(Local0, i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, Local0), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(Local0, i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, Local0), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(Local0, i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, Local0), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(Local0, i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, Local0), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(Local0, i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, Local0), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(Local0, i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, Local0), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(Local0, i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, Local0), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(Local0, i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, Local0, Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(Local0, i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, Local0, Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(Local0, i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, Local0, Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(Local0, i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, Local0, Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(Local0, i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, Local0, Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(Local0, i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, Local0, Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(Local0, i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, Local0, Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(Local0, i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, Local0, Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(Local0, 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, Local0, Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(Local0, i000), Local1)
+ CH06(arg0, 108, 47)
+
+ Store(Wait(e000, Local0), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(Local0, i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, Local0, Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(Local0, 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", Local0, 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, Local0, Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(Local0, MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, Local0, MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, Local0, 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, Local0), Local1)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object
+ Method(m003, 3, Serialized)
+ {
+ Name(EXC0, 47) // AE_AML_OPERAND_TYPE
+
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 13)) {
+ err(arg0, z105, 200, 0, 0, Local0, 13)
+ return (1)
+ }
+
+ if (arg2) {
+ if (LNot(y503)) {
+ Store(62, EXC0) // AE_AML_NO_RETURN_VALUE
+ }
+ }
+
+ Store (DeRefOf(arg1), Local1)
+ CH03(ts, z105, 5, 0, 0)
+
+ // CondRefOf
+
+ CondRefOf(DeRefOf(arg1), Local1)
+ CH06(arg0, 1, EXC0)
+
+ // CopyObject
+
+ CopyObject(DeRefOf(arg1), Local1)
+ CH06(arg0, 2, EXC0)
+
+ // Decrement
+
+ Decrement(DeRefOf(arg1))
+ CH06(arg0, 3, EXC0)
+
+ // DerefOf
+
+ Store (DerefOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 4, EXC0)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 6, EXC0)
+
+ // FindSetRightBit
+
+ FindSetRightBit(DeRefOf(arg1), Local1)
+ CH06(arg0, 8, EXC0)
+
+ // FromBCD
+
+ FromBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 10, EXC0)
+
+ // Increment
+
+ Increment(DeRefOf(arg1))
+ CH06(arg0, 11, EXC0)
+
+ // LNot
+
+ Store (LNot(DeRefOf(arg1)), Local1)
+ CH06(arg0, 12, EXC0)
+
+ // Not
+
+ Not(DeRefOf(arg1), Local1)
+ CH06(arg0, 14, EXC0)
+
+ // ObjectType
+
+ Store (ObjectType(DeRefOf(arg1)), Local1)
+ CH03(ts, z105, 6, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 15, EXC0)
+
+ // Release
+
+ // Reset
+
+ // Signal
+
+ // SizeOf
+
+ Store (SizeOf(DeRefOf(arg1)), Local1)
+ CH06(arg0, 16, EXC0)
+
+ // Sleep
+
+ Sleep(DeRefOf(arg1))
+ CH06(arg0, 17, EXC0)
+
+ // Stall
+
+ Stall(DeRefOf(arg1))
+ CH06(arg0, 18, EXC0)
+
+ // Store
+
+ Store(DeRefOf(arg1), Local1)
+ CH06(arg0, 19, EXC0)
+
+ // ToBCD
+
+ ToBCD(DeRefOf(arg1), Local1)
+ CH06(arg0, 21, EXC0)
+
+ // ToBuffer
+
+ ToBuffer(DeRefOf(arg1), Local1)
+ CH06(arg0, 23, EXC0)
+
+ // ToDecimalString
+
+ ToDecimalString(DeRefOf(arg1), Local1)
+ CH06(arg0, 25, EXC0)
+
+ // ToHexString
+
+ ToHexString(DeRefOf(arg1), Local1)
+ CH06(arg0, 27, EXC0)
+
+ // ToInteger
+
+ ToInteger(DeRefOf(arg1), Local1)
+ CH06(arg0, 29, EXC0)
+
+ // Acquire
+
+ // Add
+
+ Add(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 33, EXC0)
+
+ Add(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 34, EXC0)
+
+ // And
+
+ And(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 37, EXC0)
+
+ And(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 38, EXC0)
+
+ // Concatenate
+
+ Concatenate(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 41, EXC0)
+
+ Concatenate(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 42, EXC0)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(DeRefOf(arg1), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, EXC0)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, DeRefOf(arg1), Local1)
+ CH06(arg0, 46, EXC0)
+
+ // Divide
+
+ Divide(DeRefOf(arg1), i000, Local2)
+ CH06(arg0, 49, EXC0)
+
+ Divide(i000, DeRefOf(arg1), Local2)
+ CH06(arg0, 50, EXC0)
+
+ Divide(DeRefOf(arg1), i000, Local2, Local1)
+ CH06(arg0, 51, EXC0)
+
+ Divide(i000, DeRefOf(arg1), Local2, Local1)
+ CH06(arg0, 52, EXC0)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, DeRefOf(arg1))
+ CH06(arg0, 53, EXC0)
+
+ // Index
+
+ Index(DeRefOf(arg1), 0, Local1)
+ CH06(arg0, 56, EXC0)
+
+ Index("0", DeRefOf(arg1), Local1)
+ CH06(arg0, 57, EXC0)
+
+ // LEqual
+
+ Store (LEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 58, EXC0)
+
+ Store (LEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 59, EXC0)
+
+ // LGreater
+
+ Store (LGreater(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 60, EXC0)
+
+ Store (LGreater(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 61, EXC0)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 64, EXC0)
+
+ Store (LLess(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 65, EXC0)
+
+ // LLessEqual
+
+ Store (LLessEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(DeRefOf(arg1), i000), Local1)
+ CH06(arg0, 70, EXC0)
+
+ Store (LOr(i000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 71, EXC0)
+
+ // Mod
+
+ Mod(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 74, EXC0)
+
+ Mod(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 75, EXC0)
+
+ // Multiply
+
+ Multiply(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 78, EXC0)
+
+ Multiply(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 79, EXC0)
+
+ // NAnd
+
+ NAnd(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 82, EXC0)
+
+ NAnd(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 83, EXC0)
+
+ // NOr
+
+ NOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 86, EXC0)
+
+ NOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 87, EXC0)
+
+ // Or
+
+ Or(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 90, EXC0)
+
+ Or(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 91, EXC0)
+
+ // ShiftLeft
+
+ ShiftLeft(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 94, EXC0)
+
+ ShiftLeft(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 95, EXC0)
+
+ // ShiftRight
+
+ ShiftRight(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 98, EXC0)
+
+ ShiftRight(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 99, EXC0)
+
+ // Subtract
+
+ Subtract(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 102, EXC0)
+
+ Subtract(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 103, EXC0)
+
+ // ToString
+
+ ToString(DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 106, EXC0)
+
+ ToString(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 107, EXC0)
+
+ // Wait
+
+ Store(Wait(e000, DeRefOf(arg1)), Local1)
+ CH06(arg0, 109, EXC0)
+
+ // XOr
+
+ XOr(DeRefOf(arg1), i000, Local1)
+ CH06(arg0, 112, EXC0)
+
+ XOr(i000, DeRefOf(arg1), Local1)
+ CH06(arg0, 113, EXC0)
+
+ // Mid
+
+ Mid(DeRefOf(arg1), 1, 1, Local1)
+ CH06(arg0, 117, EXC0)
+
+ Mid("123", DeRefOf(arg1), 1, Local1)
+ CH06(arg0, 118, EXC0)
+
+ Mid("123", 1, DeRefOf(arg1), Local1)
+ CH06(arg0, 119, EXC0)
+
+ // Match
+
+ Store (Match(DeRefOf(arg1), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, EXC0)
+
+ Store (Match(Package(){1}, MTR, DeRefOf(arg1), MTR, 0, 0), Local1)
+ CH06(arg0, 121, EXC0)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, DeRefOf(arg1), 0), Local1)
+ CH06(arg0, 122, EXC0)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, DeRefOf(arg1)), Local1)
+ CH06(arg0, 123, EXC0)
+
+ return (0)
+ }
+
+ // Result of Method invocation
+ Method(m004, 1, Serialized)
+ {
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000)
+ {
+ CopyObject(tz00, Local0)
+ Return (Local0)
+ }
+
+ // CondRefOf
+
+ CondRefOf(m000(), Local1)
+ CH06(arg0, 1, 47)
+
+ // CopyObject
+
+ CopyObject(m000(), Local1)
+ CH03(ts, z105, 7, 0, 0)
+
+ // Decrement
+
+ Decrement(m000())
+ CH06(arg0, 2, 47)
+
+ // DerefOf
+
+ Store (DerefOf(m000()), Local1)
+ CH06(arg0, 3, 47)
+
+ // FindSetLeftBit
+
+ FindSetLeftBit(m000(), Local1)
+ CH06(arg0, 5, 47)
+
+ // FindSetRightBit
+
+ FindSetRightBit(m000(), Local1)
+ CH06(arg0, 7, 47)
+
+ // FromBCD
+
+ FromBCD(m000(), Local1)
+ CH06(arg0, 9, 47)
+
+ // Increment
+
+ Increment(m000())
+ CH06(arg0, 10, 47)
+
+ // LNot
+
+ Store (LNot(m000()), Local1)
+ CH06(arg0, 11, 47)
+
+ // Not
+
+ Not(m000(), Local1)
+ CH06(arg0, 13, 47)
+
+ // ObjectType
+ /* Nov. 2012: Method invocation as arg to ObjectType is now illegal */
+//
+// ObjectType(m000())
+// CH03(ts, z105, 8, 0, 0)
+
+ // RefOf
+
+ Store (RefOf(m000()), Local1)
+ CH06(arg0, 14, 47)
+
+ // Release
+
+ Release(m000())
+ CH06(arg0, 13, 47)
+
+ // Reset
+
+ Reset(m000())
+ CH06(arg0, 14, 47)
+
+ // Signal
+
+ Signal(m000())
+ CH06(arg0, 15, 47)
+
+ // SizeOf
+
+ Store (SizeOf(m000()), Local1)
+ CH06(arg0, 16, 47)
+
+ // Sleep
+
+ Sleep(m000())
+ CH06(arg0, 17, 47)
+
+ // Stall
+
+ Stall(m000())
+ CH06(arg0, 18, 47)
+
+ // Store
+
+ Store(m000(), Local1)
+ CH06(arg0, 19, 47)
+
+ // ToBCD
+
+ ToBCD(m000(), Local1)
+ CH06(arg0, 21, 47)
+
+ // ToBuffer
+
+ ToBuffer(m000(), Local1)
+ CH06(arg0, 23, 47)
+
+ // ToDecimalString
+
+ ToDecimalString(m000(), Local1)
+ CH06(arg0, 25, 47)
+
+ // ToHexString
+
+ ToHexString(m000(), Local1)
+ CH06(arg0, 27, 47)
+
+ // ToInteger
+
+ ToInteger(m000(), Local1)
+ CH06(arg0, 29, 47)
+
+ // Acquire
+
+ Store(Acquire(m000(), 100), Local1)
+ CH06(arg0, 30, 47)
+
+ // Add
+
+ Add(m000(), i000, Local1)
+ CH06(arg0, 33, 47)
+
+ Add(i000, m000(), Local1)
+ CH06(arg0, 34, 47)
+
+ // And
+
+ And(m000(), i000, Local1)
+ CH06(arg0, 37, 47)
+
+ And(i000, m000(), Local1)
+ CH06(arg0, 38, 47)
+
+ // Concatenate
+
+ Concatenate(m000(), i000, Local1)
+ CH06(arg0, 41, 47)
+
+ Concatenate(i000, m000(), Local1)
+ CH06(arg0, 42, 47)
+
+ // ConcatenateResTemplate
+
+ ConcatenateResTemplate(m000(), ResourceTemplate(){}, Local1)
+ CH06(arg0, 45, 47)
+
+ ConcatenateResTemplate(ResourceTemplate(){}, m000(), Local1)
+ CH06(arg0, 46, 47)
+
+ // Divide
+
+ Divide(m000(), i000, Local2)
+ CH06(arg0, 49, 47)
+
+ Divide(i000, m000(), Local2)
+ CH06(arg0, 50, 47)
+
+ Divide(m000(), i000, Local2, Local1)
+ CH06(arg0, 51, 47)
+
+ Divide(i000, m000(), Local2, Local1)
+ CH06(arg0, 52, 47)
+
+ // Fatal
+
+ Fatal(0xff, 0xffffffff, m000())
+ CH06(arg0, 53, 47)
+
+ // Index
+
+ Index(m000(), 0, Local1)
+ CH06(arg0, 56, 47)
+
+ Index("0", m000(), Local1)
+ CH06(arg0, 57, 47)
+
+ // LEqual
+
+ Store (LEqual(m000(), i000), Local1)
+ CH06(arg0, 58, 47)
+
+ Store (LEqual(i000, m000()), Local1)
+ CH06(arg0, 59, 47)
+
+ // LGreater
+
+ Store (LGreater(m000(), i000), Local1)
+ CH06(arg0, 60, 47)
+
+ Store (LGreater(i000, m000()), Local1)
+ CH06(arg0, 61, 47)
+
+ // LGreaterEqual
+
+ Store (LGreaterEqual(m000(), i000), Local1)
+ CH06(arg0, 62, 0xff)
+
+ Store (LGreaterEqual(i000, m000()), Local1)
+ CH06(arg0, 63, 0xff)
+
+ // LLess
+
+ Store (LLess(m000(), i000), Local1)
+ CH06(arg0, 64, 47)
+
+ Store (LLess(i000, m000()), Local1)
+ CH06(arg0, 65, 47)
+
+ // LLessEqual
+
+ Store (LLessEqual(m000(), i000), Local1)
+ CH06(arg0, 66, 0xff)
+
+ Store (LLessEqual(i000, m000()), Local1)
+ CH06(arg0, 67, 0xff)
+
+ // LNotEqual
+
+ Store (LNotEqual(m000(), i000), Local1)
+ CH06(arg0, 68, 0xff)
+
+ Store (LNotEqual(i000, m000()), Local1)
+ CH06(arg0, 69, 0xff)
+
+ // LOr
+
+ Store (LOr(m000(), i000), Local1)
+ CH06(arg0, 70, 47)
+
+ Store (LOr(i000, m000()), Local1)
+ CH06(arg0, 71, 47)
+
+ // Mod
+
+ Mod(m000(), i000, Local1)
+ CH06(arg0, 74, 47)
+
+ Mod(i000, m000(), Local1)
+ CH06(arg0, 75, 47)
+
+ // Multiply
+
+ Multiply(m000(), i000, Local1)
+ CH06(arg0, 78, 47)
+
+ Multiply(i000, m000(), Local1)
+ CH06(arg0, 79, 47)
+
+ // NAnd
+
+ NAnd(m000(), i000, Local1)
+ CH06(arg0, 82, 47)
+
+ NAnd(i000, m000(), Local1)
+ CH06(arg0, 83, 47)
+
+ // NOr
+
+ NOr(m000(), i000, Local1)
+ CH06(arg0, 86, 47)
+
+ NOr(i000, m000(), Local1)
+ CH06(arg0, 87, 47)
+
+ // Or
+
+ Or(m000(), i000, Local1)
+ CH06(arg0, 90, 47)
+
+ Or(i000, m000(), Local1)
+ CH06(arg0, 91, 47)
+
+ // ShiftLeft
+
+ ShiftLeft(m000(), i000, Local1)
+ CH06(arg0, 94, 47)
+
+ ShiftLeft(i000, m000(), Local1)
+ CH06(arg0, 95, 47)
+
+ // ShiftRight
+
+ ShiftRight(m000(), i000, Local1)
+ CH06(arg0, 98, 47)
+
+ ShiftRight(i000, m000(), Local1)
+ CH06(arg0, 99, 47)
+
+ // Subtract
+
+ Subtract(m000(), i000, Local1)
+ CH06(arg0, 102, 47)
+
+ Subtract(i000, m000(), Local1)
+ CH06(arg0, 103, 47)
+
+ // ToString
+
+ ToString(m000(), 1, Local1)
+ CH06(arg0, 106, 47)
+
+ ToString(i000, m000(), Local1)
+ CH06(arg0, 107, 47)
+
+ // Wait
+
+ Store(Wait(m000(), i000), Local1)
+ CH06(arg0, 108, 47)
+
+ Store(Wait(e000, m000()), Local1)
+ CH06(arg0, 109, 47)
+
+ // XOr
+
+ XOr(m000(), i000, Local1)
+ CH06(arg0, 112, 47)
+
+ XOr(i000, m000(), Local1)
+ CH06(arg0, 113, 47)
+
+ // Mid
+
+ Mid(m000(), 1, 1, Local1)
+ CH06(arg0, 117, 47)
+
+ Mid("123", m000(), 1, Local1)
+ CH06(arg0, 118, 47)
+
+ Mid("123", 1, m000(), Local1)
+ CH06(arg0, 119, 47)
+
+ // Match
+
+ Store (Match(m000(), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 120, 47)
+
+ Store (Match(Package(){1}, MTR, m000(), MTR, 0, 0), Local1)
+ CH06(arg0, 121, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, m000(), 0), Local1)
+ CH06(arg0, 122, 47)
+
+ Store (Match(Package(){1}, MTR, 0, MTR, 0, m000()), Local1)
+ CH06(arg0, 123, 47)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m005, 1, Serialized)
+ {
+ ThermalZone (tz02) {Name(n000, "tz02")}
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(tz00), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(tz02), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z105, 0, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 2)
+ Name(lpC0, 0)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ Store (DerefOf(m000(1, lpC0)), Local1)
+ CH03(ts, z105, Add(9, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+ Store (DerefOf(DerefOf(m000(2, lpC0))), Local1)
+ CH06(arg0, Add(1, Local0), 47)
+ CH00(arg0, 2)
+
+ Store (Index(DerefOf(m000(3, lpC0)), 0), Local1)
+ CH06(arg0, Add(2, Local0), 47)
+ CH00(arg0, 3)
+
+ Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, Add(3, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ CH03(ts, z105, 11, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Local
+ if (y504) {
+ m002(Concatenate(ts, "-m002"))
+ }
+
+ // Reference to Local Named Object
+
+ m003(Concatenate(ts, "-m003-RefLocName"), RefOf(tz01), 1)
+
+ Store(RefOf(tz01), Local0)
+ m003(Concatenate(ts, "-m003-RefLocName2"), Local0, 1)
+
+ CondRefOf(tz01, Local0)
+ m003(Concatenate(ts, "-m003-CondRefLocName"), Local0, 1)
+
+ m003(Concatenate(ts, "-m003-RefGlobName"), RefOf(tz00), 1)
+
+ Store(RefOf(tz00), Local0)
+ m003(Concatenate(ts, "-m003-RefGlobName2"), Local0, 1)
+
+ CondRefOf(tz00, Local0)
+ m003(Concatenate(ts, "-m003-CondRefGlobName"), Local0, 1)
+
+ // Reference to Object as element of Package
+
+ Name(pp00, Package(){tz00})
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index"), Index(pp00, 0), 0)
+ }
+
+ Store(Index(pp00, 0), Local1)
+ m003(Concatenate(ts, "-m003-Index2"), Local1, 0)
+
+ if (y113) {
+ m003(Concatenate(ts, "-m003-Index3"), Index(pp00, 0, Local2), 0)
+ }
+
+ Index(pp00, 0, Local3)
+ m003(Concatenate(ts, "-m003-Index4"), Local3, 0)
+
+ Store(Index(pp00, 0, Local4), Local5)
+ m003(Concatenate(ts, "-m003-Index5"), Local5, 0)
+
+ // Result of Method invocation
+ if (y504) {
+ m004(Concatenate(ts, "-m004"))
+ }
+
+ // Reference to Object as Result of Method invocation
+ m005(Concatenate(ts, "-m005"))
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_14_bfield.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_14_bfield.asl index aa9ff8343..2058a51a3 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_14_bfield.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_14_bfield.asl @@ -1,288 +1,288 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * Buffer Field - * - * (verify exceptions caused by the imprope use of Buffer Field type objects) - */ - -Name(z106, 106) - -Name(b700, Buffer(20) {}) -CreateField(b700, 11, 31, bf20) -CreateField(b700, 58, 65, bf21) - -Name(ii71, 0xabcd1234) -Name(bi01, Buffer() {0xa4,0xa5,0xa6,0xa7,0xb8,0xb9,0xba,0xbb,0xbc}) - -// Expected exceptions: -// -// 47 - AE_AML_OPERAND_TYPE -// See notes to m4b1 and m4b3 -// -Method(m4be,, Serialized) -{ - Name(ts, "m4be") - - Name(bbf1, Buffer(20) {}) - CreateField(bbf1, 11, 31, bf02) - CreateField(bbf1, 58, 65, bf03) - - // Local Named Object - Method(m000, 1, Serialized) - { - Name(bbf1, Buffer(20) {}) - CreateField(bbf1, 11, 31, bf02) - CreateField(bbf1, 58, 65, bf03) - - Store(ii71, bf02) - Store(bi01, bf03) - - // Like Integer behaviour - - if (y083) { - Store (DerefOf(bf02), Local1) - CH06(arg0, 0, 47) - } - - Store (Index(bf02, 0), Local1) - CH06(arg0, 1, 47) - - // Like Buffer behaviour - - if (y083) { - Store (DerefOf(bf03), Local1) - CH06(arg0, 2, 47) - } - - Store (Index(bf03, 0), Local1) - if (y900) { - CH03(ts, z106, 0, 0, 0) - } else { - CH04(ts, 0, 85, z106, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED - } - } - - // Global Named Object - Method(m001, 1) - { - Store(ii71, bf20) - Store(bi01, bf21) - - // Like Integer behaviour - - if (y083) { - Store (DerefOf(bf20), Local1) - CH06(arg0, 3, 47) - } - - Store (Index(bf20, 0), Local1) - CH06(arg0, 4, 47) - - // Like Buffer behaviour - - if (y083) { - Store (DerefOf(bf21), Local1) - CH06(arg0, 5, 47) - } - - Store (Index(bf21, 0), Local1) - if (y900) { - CH03(ts, z106, 1, 0, 0) - } else { - CH04(ts, 0, 85, z106, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED - } - - } - - // Reference to Object - Method(m002, 3) - { - Store(arg0, Debug) - Store(arg1, Debug) - - Store(ObjectType(arg1), Local0) - if (LNotEqual(Local0, 14)) { - err(arg0, z106, 6, 0, 0, Local0, 14) - return (1) - } - - Store (DerefOf(arg1), Local1) - CH03(ts, z106, 2, 0, 0) - - Store (DerefOf(DerefOf(arg1)), Local1) - CH06(arg0, 7, 47) - - Store (Index(DerefOf(arg1), 0), Local1) - - if (arg2) { - // Like Buffer behaviour - if (y900) { - CH03(ts, z106, 3, 0, 0) - } else { - CH04(ts, 0, 85, z106, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED - } - } else { - // Like Integer behaviour - CH06(arg0, 8, 47) - } - - Store (Match(DerefOf(arg1), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, 9, 47) - - return (0) - } - - // Reference to Object as Result of Method invocation - Method(m003, 1, Serialized) - { - Name(bbf1, Buffer(20) {}) - CreateField(bbf1, 11, 31, bf02) - CreateField(bbf1, 58, 65, bf03) - - Name(i000, 0) // Label to check m000 invocations - - Method(m000, 2) - { - Store(arg0, i000) - if (LEqual(arg1, 0)) { - Store(Refof(bf20), Local0) - } elseif (LEqual(arg1, 1)) { - Store(Refof(bf21), Local0) - } elseif (LEqual(arg1, 2)) { - Store(Refof(bf02), Local0) - } elseif (LEqual(arg1, 3)) { - Store(Refof(bf03), Local0) - } - Return (Local0) - } - - Method(CH00, 2) - { - if (LNotEqual(i000, arg1)) { - err(arg0, z106, 10, 0, 0, i000, arg1) - } - } - - Name(lpN0, 4) - Name(lpC0, 0) - - Store(ii71, bf20) - Store(bi01, bf21) - Store(ii71, bf02) - Store(bi01, bf03) - - While (lpN0) { - Multiply(3, lpC0, Local0) - - Store(0, i000) - - Store (DerefOf(m000(1, lpC0)), Local1) - CH03(ts, z106, Add(4, lpC0), 0, 0) - CH00(arg0, 1) - - - Store (DerefOf(DerefOf(m000(2, lpC0))), Local1) - CH06(arg0, Add(11, Local0), 47) - CH00(arg0, 2) - - Store (Index(DerefOf(m000(3, lpC0)), 0), Local1) - if (Mod(lpC0, 2)) { - // Like Buffer behaviour - if (y900) { - CH03(ts, z106, Add(8, lpC0), 0, 0) - } else { - CH04(ts, 0, 85, z106, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED - } - } else { - // Like Integer behaviour - CH06(arg0, Add(12, Local0), 47) - } - CH00(arg0, 3) - - Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1) - CH06(arg0, Add(13, Local0), 47) - CH00(arg0, 4) - - Decrement(lpN0) - Increment(lpC0) - } - } - - CH03(ts, z106, 12, 0, 0) - - // Local Named Object - m000(ts) - - // Global Named Object - m001(ts) - - // Reference to Local Named Object - - Store(ii71, bf02) - Store(bi01, bf03) - - m002(Concatenate(ts, "-m002-RefLocNameI"), RefOf(bf02), 0) - - Store(RefOf(bf02), Local0) - m002(Concatenate(ts, "-m002-RefLocName2I"), Local0, 0) - - CondRefOf(bf02, Local0) - m002(Concatenate(ts, "-m002-CondRefLocNameI"), Local0, 0) - - m002(Concatenate(ts, "-m002-RefLocNameB"), RefOf(bf03), 1) - - Store(RefOf(bf03), Local0) - m002(Concatenate(ts, "-m002-RefLocName2B"), Local0, 1) - - CondRefOf(bf03, Local0) - m002(Concatenate(ts, "-m002-CondRefLocNameB"), Local0, 1) - - Store(ii71, bf20) - Store(bi01, bf21) - - m002(Concatenate(ts, "-m002-RefGlobNameI"), RefOf(bf20), 0) - - Store(RefOf(bf20), Local0) - m002(Concatenate(ts, "-m002-RefGlobName2I"), Local0, 0) - - CondRefOf(bf20, Local0) - m002(Concatenate(ts, "-m002-CondRefGlobNameI"), Local0, 0) - - m002(Concatenate(ts, "-m002-RefGlobNameB"), RefOf(bf21), 1) - - Store(RefOf(bf21), Local0) - m002(Concatenate(ts, "-m002-RefGlobName2B"), Local0, 1) - - CondRefOf(bf21, Local0) - m002(Concatenate(ts, "-m002-CondRefGlobNameB"), Local0, 1) - - // Reference to Object as Result of Method invocation - m003(ts) -} +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Buffer Field
+ *
+ * (verify exceptions caused by the imprope use of Buffer Field type objects)
+ */
+
+Name(z106, 106)
+
+Name(b700, Buffer(20) {})
+CreateField(b700, 11, 31, bf20)
+CreateField(b700, 58, 65, bf21)
+
+Name(ii71, 0xabcd1234)
+Name(bi01, Buffer() {0xa4,0xa5,0xa6,0xa7,0xb8,0xb9,0xba,0xbb,0xbc})
+
+// Expected exceptions:
+//
+// 47 - AE_AML_OPERAND_TYPE
+// See notes to m4b1 and m4b3
+//
+Method(m4be,, Serialized)
+{
+ Name(ts, "m4be")
+
+ Name(bbf1, Buffer(20) {})
+ CreateField(bbf1, 11, 31, bf02)
+ CreateField(bbf1, 58, 65, bf03)
+
+ // Local Named Object
+ Method(m000, 1, Serialized)
+ {
+ Name(bbf1, Buffer(20) {})
+ CreateField(bbf1, 11, 31, bf02)
+ CreateField(bbf1, 58, 65, bf03)
+
+ Store(ii71, bf02)
+ Store(bi01, bf03)
+
+ // Like Integer behaviour
+
+ if (y083) {
+ Store (DerefOf(bf02), Local1)
+ CH06(arg0, 0, 47)
+ }
+
+ Store (Index(bf02, 0), Local1)
+ CH06(arg0, 1, 47)
+
+ // Like Buffer behaviour
+
+ if (y083) {
+ Store (DerefOf(bf03), Local1)
+ CH06(arg0, 2, 47)
+ }
+
+ Store (Index(bf03, 0), Local1)
+ if (y900) {
+ CH03(ts, z106, 0, 0, 0)
+ } else {
+ CH04(ts, 0, 85, z106, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+ }
+
+ // Global Named Object
+ Method(m001, 1)
+ {
+ Store(ii71, bf20)
+ Store(bi01, bf21)
+
+ // Like Integer behaviour
+
+ if (y083) {
+ Store (DerefOf(bf20), Local1)
+ CH06(arg0, 3, 47)
+ }
+
+ Store (Index(bf20, 0), Local1)
+ CH06(arg0, 4, 47)
+
+ // Like Buffer behaviour
+
+ if (y083) {
+ Store (DerefOf(bf21), Local1)
+ CH06(arg0, 5, 47)
+ }
+
+ Store (Index(bf21, 0), Local1)
+ if (y900) {
+ CH03(ts, z106, 1, 0, 0)
+ } else {
+ CH04(ts, 0, 85, z106, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+
+ }
+
+ // Reference to Object
+ Method(m002, 3)
+ {
+ Store(arg0, Debug)
+ Store(arg1, Debug)
+
+ Store(ObjectType(arg1), Local0)
+ if (LNotEqual(Local0, 14)) {
+ err(arg0, z106, 6, 0, 0, Local0, 14)
+ return (1)
+ }
+
+ Store (DerefOf(arg1), Local1)
+ CH03(ts, z106, 2, 0, 0)
+
+ Store (DerefOf(DerefOf(arg1)), Local1)
+ CH06(arg0, 7, 47)
+
+ Store (Index(DerefOf(arg1), 0), Local1)
+
+ if (arg2) {
+ // Like Buffer behaviour
+ if (y900) {
+ CH03(ts, z106, 3, 0, 0)
+ } else {
+ CH04(ts, 0, 85, z106, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+ } else {
+ // Like Integer behaviour
+ CH06(arg0, 8, 47)
+ }
+
+ Store (Match(DerefOf(arg1), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, 9, 47)
+
+ return (0)
+ }
+
+ // Reference to Object as Result of Method invocation
+ Method(m003, 1, Serialized)
+ {
+ Name(bbf1, Buffer(20) {})
+ CreateField(bbf1, 11, 31, bf02)
+ CreateField(bbf1, 58, 65, bf03)
+
+ Name(i000, 0) // Label to check m000 invocations
+
+ Method(m000, 2)
+ {
+ Store(arg0, i000)
+ if (LEqual(arg1, 0)) {
+ Store(Refof(bf20), Local0)
+ } elseif (LEqual(arg1, 1)) {
+ Store(Refof(bf21), Local0)
+ } elseif (LEqual(arg1, 2)) {
+ Store(Refof(bf02), Local0)
+ } elseif (LEqual(arg1, 3)) {
+ Store(Refof(bf03), Local0)
+ }
+ Return (Local0)
+ }
+
+ Method(CH00, 2)
+ {
+ if (LNotEqual(i000, arg1)) {
+ err(arg0, z106, 10, 0, 0, i000, arg1)
+ }
+ }
+
+ Name(lpN0, 4)
+ Name(lpC0, 0)
+
+ Store(ii71, bf20)
+ Store(bi01, bf21)
+ Store(ii71, bf02)
+ Store(bi01, bf03)
+
+ While (lpN0) {
+ Multiply(3, lpC0, Local0)
+
+ Store(0, i000)
+
+ Store (DerefOf(m000(1, lpC0)), Local1)
+ CH03(ts, z106, Add(4, lpC0), 0, 0)
+ CH00(arg0, 1)
+
+
+ Store (DerefOf(DerefOf(m000(2, lpC0))), Local1)
+ CH06(arg0, Add(11, Local0), 47)
+ CH00(arg0, 2)
+
+ Store (Index(DerefOf(m000(3, lpC0)), 0), Local1)
+ if (Mod(lpC0, 2)) {
+ // Like Buffer behaviour
+ if (y900) {
+ CH03(ts, z106, Add(8, lpC0), 0, 0)
+ } else {
+ CH04(ts, 0, 85, z106, 0x123, 0, 0) // AE_INDEX_TO_NOT_ATTACHED
+ }
+ } else {
+ // Like Integer behaviour
+ CH06(arg0, Add(12, Local0), 47)
+ }
+ CH00(arg0, 3)
+
+ Store (Match(DerefOf(m000(4, lpC0)), MTR, 0, MTR, 0, 0), Local1)
+ CH06(arg0, Add(13, Local0), 47)
+ CH00(arg0, 4)
+
+ Decrement(lpN0)
+ Increment(lpC0)
+ }
+ }
+
+ CH03(ts, z106, 12, 0, 0)
+
+ // Local Named Object
+ m000(ts)
+
+ // Global Named Object
+ m001(ts)
+
+ // Reference to Local Named Object
+
+ Store(ii71, bf02)
+ Store(bi01, bf03)
+
+ m002(Concatenate(ts, "-m002-RefLocNameI"), RefOf(bf02), 0)
+
+ Store(RefOf(bf02), Local0)
+ m002(Concatenate(ts, "-m002-RefLocName2I"), Local0, 0)
+
+ CondRefOf(bf02, Local0)
+ m002(Concatenate(ts, "-m002-CondRefLocNameI"), Local0, 0)
+
+ m002(Concatenate(ts, "-m002-RefLocNameB"), RefOf(bf03), 1)
+
+ Store(RefOf(bf03), Local0)
+ m002(Concatenate(ts, "-m002-RefLocName2B"), Local0, 1)
+
+ CondRefOf(bf03, Local0)
+ m002(Concatenate(ts, "-m002-CondRefLocNameB"), Local0, 1)
+
+ Store(ii71, bf20)
+ Store(bi01, bf21)
+
+ m002(Concatenate(ts, "-m002-RefGlobNameI"), RefOf(bf20), 0)
+
+ Store(RefOf(bf20), Local0)
+ m002(Concatenate(ts, "-m002-RefGlobName2I"), Local0, 0)
+
+ CondRefOf(bf20, Local0)
+ m002(Concatenate(ts, "-m002-CondRefGlobNameI"), Local0, 0)
+
+ m002(Concatenate(ts, "-m002-RefGlobNameB"), RefOf(bf21), 1)
+
+ Store(RefOf(bf21), Local0)
+ m002(Concatenate(ts, "-m002-RefGlobName2B"), Local0, 1)
+
+ CondRefOf(bf21, Local0)
+ m002(Concatenate(ts, "-m002-CondRefGlobNameB"), Local0, 1)
+
+ // Reference to Object as Result of Method invocation
+ m003(ts)
+}
diff --git a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_operand2.asl b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_operand2.asl index 433591a4d..1a8e13022 100644 --- a/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_operand2.asl +++ b/tests/aslts/src/runtime/collections/exceptions/exc_operand/exc_operand2/exc_operand2.asl @@ -1,94 +1,94 @@ -/* - * Some or all of this work - Copyright (c) 2006 - 2014, Intel Corp. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * Neither the name of Intel Corporation nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * Exceptions caused by inappropriate type of operands - */ - -Name(z107, 107) - -// Run-method -Method(EOP2) -{ - SRMT("m4b0") - m4b0(0) - - SRMT("m4b1") - m4b1(0x76543210) - - SRMT("m4b2") - m4b2("2") - - SRMT("m4b3") - m4b3(Buffer(){0x62}) - - SRMT("m4b4") - m4b4(Package(){0x62}) - - SRMT("m4b5") - m4b5() - - SRMT("m4b6") - if (y120) { - m4b6() - } else { - BLCK() - } - - SRMT("m4b7") - m4b7() - - SRMT("m4b8") - m4b8() - - SRMT("m4b9") - m4b9() - - SRMT("m4ba") - if (y362) { - m4ba() - } else { - BLCK() - } - - SRMT("m4bb") - m4bb() - - SRMT("m4bc") - m4bc() - - SRMT("m4bd") - if (y120) { - m4bd() - } else { - BLCK() - } - - SRMT("m4be") - m4be() -} +/*
+ * Some or all of this work - Copyright (c) 2006 - 2015, Intel Corp.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of Intel Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Exceptions caused by inappropriate type of operands
+ */
+
+Name(z107, 107)
+
+// Run-method
+Method(EOP2)
+{
+ SRMT("m4b0")
+ m4b0(0)
+
+ SRMT("m4b1")
+ m4b1(0x76543210)
+
+ SRMT("m4b2")
+ m4b2("2")
+
+ SRMT("m4b3")
+ m4b3(Buffer(){0x62})
+
+ SRMT("m4b4")
+ m4b4(Package(){0x62})
+
+ SRMT("m4b5")
+ m4b5()
+
+ SRMT("m4b6")
+ if (y120) {
+ m4b6()
+ } else {
+ BLCK()
+ }
+
+ SRMT("m4b7")
+ m4b7()
+
+ SRMT("m4b8")
+ m4b8()
+
+ SRMT("m4b9")
+ m4b9()
+
+ SRMT("m4ba")
+ if (y362) {
+ m4ba()
+ } else {
+ BLCK()
+ }
+
+ SRMT("m4bb")
+ m4bb()
+
+ SRMT("m4bc")
+ m4bc()
+
+ SRMT("m4bd")
+ if (y120) {
+ m4bd()
+ } else {
+ BLCK()
+ }
+
+ SRMT("m4be")
+ m4be()
+}
|