Lines 100-136
void acpi_ex_enter_interpreter(void)
Link Here
|
100 |
|
100 |
|
101 |
/******************************************************************************* |
101 |
/******************************************************************************* |
102 |
* |
102 |
* |
103 |
* FUNCTION: acpi_ex_reacquire_interpreter |
|
|
104 |
* |
105 |
* PARAMETERS: None |
106 |
* |
107 |
* RETURN: None |
108 |
* |
109 |
* DESCRIPTION: Reacquire the interpreter execution region from within the |
110 |
* interpreter code. Failure to enter the interpreter region is a |
111 |
* fatal system error. Used in conjunction with |
112 |
* relinquish_interpreter |
113 |
* |
114 |
******************************************************************************/ |
115 |
|
116 |
void acpi_ex_reacquire_interpreter(void) |
117 |
{ |
118 |
ACPI_FUNCTION_TRACE(ex_reacquire_interpreter); |
119 |
|
120 |
/* |
121 |
* If the global serialized flag is set, do not release the interpreter, |
122 |
* since it was not actually released by acpi_ex_relinquish_interpreter. |
123 |
* This forces the interpreter to be single threaded. |
124 |
*/ |
125 |
if (!acpi_gbl_all_methods_serialized) { |
126 |
acpi_ex_enter_interpreter(); |
127 |
} |
128 |
|
129 |
return_VOID; |
130 |
} |
131 |
|
132 |
/******************************************************************************* |
133 |
* |
134 |
* FUNCTION: acpi_ex_exit_interpreter |
103 |
* FUNCTION: acpi_ex_exit_interpreter |
135 |
* |
104 |
* |
136 |
* PARAMETERS: None |
105 |
* PARAMETERS: None |
Lines 160-203
void acpi_ex_exit_interpreter(void)
Link Here
|
160 |
|
129 |
|
161 |
/******************************************************************************* |
130 |
/******************************************************************************* |
162 |
* |
131 |
* |
163 |
* FUNCTION: acpi_ex_relinquish_interpreter |
|
|
164 |
* |
165 |
* PARAMETERS: None |
166 |
* |
167 |
* RETURN: None |
168 |
* |
169 |
* DESCRIPTION: Exit the interpreter execution region, from within the |
170 |
* interpreter - before attempting an operation that will possibly |
171 |
* block the running thread. |
172 |
* |
173 |
* Cases where the interpreter is unlocked internally |
174 |
* 1) Method to be blocked on a Sleep() AML opcode |
175 |
* 2) Method to be blocked on an Acquire() AML opcode |
176 |
* 3) Method to be blocked on a Wait() AML opcode |
177 |
* 4) Method to be blocked to acquire the global lock |
178 |
* 5) Method to be blocked waiting to execute a serialized control method |
179 |
* that is currently executing |
180 |
* 6) About to invoke a user-installed opregion handler |
181 |
* |
182 |
******************************************************************************/ |
183 |
|
184 |
void acpi_ex_relinquish_interpreter(void) |
185 |
{ |
186 |
ACPI_FUNCTION_TRACE(ex_relinquish_interpreter); |
187 |
|
188 |
/* |
189 |
* If the global serialized flag is set, do not release the interpreter. |
190 |
* This forces the interpreter to be single threaded. |
191 |
*/ |
192 |
if (!acpi_gbl_all_methods_serialized) { |
193 |
acpi_ex_exit_interpreter(); |
194 |
} |
195 |
|
196 |
return_VOID; |
197 |
} |
198 |
|
199 |
/******************************************************************************* |
200 |
* |
201 |
* FUNCTION: acpi_ex_truncate_for32bit_table |
132 |
* FUNCTION: acpi_ex_truncate_for32bit_table |
202 |
* |
133 |
* |
203 |
* PARAMETERS: obj_desc - Object to be truncated |
134 |
* PARAMETERS: obj_desc - Object to be truncated |