1    /*
2     * Some or all of this work - Copyright (c) 2006 - 2021, Intel Corp.
3     * All rights reserved.
4     *
5     * Redistribution and use in source and binary forms, with or without modification,
6     * are permitted provided that the following conditions are met:
7     *
8     * Redistributions of source code must retain the above copyright notice,
9     * this list of conditions and the following disclaimer.
10     * Redistributions in binary form must reproduce the above copyright notice,
11     * this list of conditions and the following disclaimer in the documentation
12     * and/or other materials provided with the distribution.
13     * Neither the name of Intel Corporation nor the names of its contributors
14     * may be used to endorse or promote products derived from this software
15     * without specific prior written permission.
16     *
17     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18     * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19     * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20     * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
21     * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22     * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23     * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24     * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25     * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26     * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27     */
28    /*
29     * Start points of execution for multi-threading mode
30     */
31    /* Flag of slack mode (non-zero - means slack mode) */
32    Name (SLCK, 0x00)
33    /*
34     * Flag shows that the test has been run by means either
35     * of MN00 or MN01 but not immediately by MAIN.
36     * It is necessary to know in tests where the number of
37     * preceding method calls is important.
38     */
39    Name (MLVL, 0x00)
40    /*
41     * ATTENTION: in future determine the actual SLCK mode
42     * by accessing the table info or generating some exception
43     * (see F64) and remove MN00 and MN01.
44     *
45     * Method applied to initiate normal (non-slack) mode.
46     * Make sure that AcpiExec is actually in non-slack mode.
47     */
48    Method (MN00, 3, NotSerialized)
49    {
50        SLCK = 0x00
51        MLVL = 0x01
52        Local7 = MAIN (Arg0, Arg1, Arg2)
53        Return (Local7)
54    }
55
56    /*
57     * Method applied to initiate slack mode.
58     * Make sure that AcpiExec is actually in slack mode.
59     */
60    Method (MN01, 3, NotSerialized)
61    {
62        SLCK = 0x01
63        MLVL = 0x01
64        Local7 = MAIN (Arg0, Arg1, Arg2)
65        Return (Local7)
66    }
67