dswstate.c (87d8a69709d971913e6cc7210450fcb8be963667) dswstate.c (f6a22b0bc417042e83117f52ab1a03696af185ab)
1/******************************************************************************
2 *
3 * Module Name: dswstate - Dispatcher parse tree walk management routines
4 *
5 *****************************************************************************/
6
7/*
8 * Copyright (C) 2000 - 2010, Intel Corp.

--- 165 unchanged lines hidden (view full) ---

174 state = walk_state->results;
175 if (!state) {
176 ACPI_ERROR((AE_INFO, "No result stack frame during push"));
177 return (AE_AML_INTERNAL);
178 }
179
180 if (!object) {
181 ACPI_ERROR((AE_INFO,
1/******************************************************************************
2 *
3 * Module Name: dswstate - Dispatcher parse tree walk management routines
4 *
5 *****************************************************************************/
6
7/*
8 * Copyright (C) 2000 - 2010, Intel Corp.

--- 165 unchanged lines hidden (view full) ---

174 state = walk_state->results;
175 if (!state) {
176 ACPI_ERROR((AE_INFO, "No result stack frame during push"));
177 return (AE_AML_INTERNAL);
178 }
179
180 if (!object) {
181 ACPI_ERROR((AE_INFO,
182 "Null Object! Obj=%p State=%p Num=%X",
182 "Null Object! Obj=%p State=%p Num=%u",
183 object, walk_state, walk_state->result_count));
184 return (AE_BAD_PARAMETER);
185 }
186
187 /* Assign the address of object to the top free element of result stack */
188
189 index = (u32)walk_state->result_count % ACPI_RESULTS_FRAME_OBJ_NUM;
190 state->results.obj_desc[index] = object;

--- 27 unchanged lines hidden (view full) ---

218 union acpi_generic_state *state;
219
220 ACPI_FUNCTION_NAME(ds_result_stack_push);
221
222 /* Check for stack overflow */
223
224 if (((u32) walk_state->result_size + ACPI_RESULTS_FRAME_OBJ_NUM) >
225 ACPI_RESULTS_OBJ_NUM_MAX) {
183 object, walk_state, walk_state->result_count));
184 return (AE_BAD_PARAMETER);
185 }
186
187 /* Assign the address of object to the top free element of result stack */
188
189 index = (u32)walk_state->result_count % ACPI_RESULTS_FRAME_OBJ_NUM;
190 state->results.obj_desc[index] = object;

--- 27 unchanged lines hidden (view full) ---

218 union acpi_generic_state *state;
219
220 ACPI_FUNCTION_NAME(ds_result_stack_push);
221
222 /* Check for stack overflow */
223
224 if (((u32) walk_state->result_size + ACPI_RESULTS_FRAME_OBJ_NUM) >
225 ACPI_RESULTS_OBJ_NUM_MAX) {
226 ACPI_ERROR((AE_INFO, "Result stack overflow: State=%p Num=%X",
226 ACPI_ERROR((AE_INFO, "Result stack overflow: State=%p Num=%u",
227 walk_state, walk_state->result_size));
228 return (AE_STACK_OVERFLOW);
229 }
230
231 state = acpi_ut_create_generic_state();
232 if (!state) {
233 return (AE_NO_MEMORY);
234 }

--- 74 unchanged lines hidden (view full) ---

309acpi_ds_obj_stack_push(void *object, struct acpi_walk_state * walk_state)
310{
311 ACPI_FUNCTION_NAME(ds_obj_stack_push);
312
313 /* Check for stack overflow */
314
315 if (walk_state->num_operands >= ACPI_OBJ_NUM_OPERANDS) {
316 ACPI_ERROR((AE_INFO,
227 walk_state, walk_state->result_size));
228 return (AE_STACK_OVERFLOW);
229 }
230
231 state = acpi_ut_create_generic_state();
232 if (!state) {
233 return (AE_NO_MEMORY);
234 }

--- 74 unchanged lines hidden (view full) ---

309acpi_ds_obj_stack_push(void *object, struct acpi_walk_state * walk_state)
310{
311 ACPI_FUNCTION_NAME(ds_obj_stack_push);
312
313 /* Check for stack overflow */
314
315 if (walk_state->num_operands >= ACPI_OBJ_NUM_OPERANDS) {
316 ACPI_ERROR((AE_INFO,
317 "Object stack overflow! Obj=%p State=%p #Ops=%X",
317 "Object stack overflow! Obj=%p State=%p #Ops=%u",
318 object, walk_state, walk_state->num_operands));
319 return (AE_STACK_OVERFLOW);
320 }
321
322 /* Put the object onto the stack */
323
324 walk_state->operands[walk_state->operand_index] = object;
325 walk_state->num_operands++;

--- 34 unchanged lines hidden (view full) ---

360 ACPI_FUNCTION_NAME(ds_obj_stack_pop);
361
362 for (i = 0; i < pop_count; i++) {
363
364 /* Check for stack underflow */
365
366 if (walk_state->num_operands == 0) {
367 ACPI_ERROR((AE_INFO,
318 object, walk_state, walk_state->num_operands));
319 return (AE_STACK_OVERFLOW);
320 }
321
322 /* Put the object onto the stack */
323
324 walk_state->operands[walk_state->operand_index] = object;
325 walk_state->num_operands++;

--- 34 unchanged lines hidden (view full) ---

360 ACPI_FUNCTION_NAME(ds_obj_stack_pop);
361
362 for (i = 0; i < pop_count; i++) {
363
364 /* Check for stack underflow */
365
366 if (walk_state->num_operands == 0) {
367 ACPI_ERROR((AE_INFO,
368 "Object stack underflow! Count=%X State=%p #Ops=%X",
368 "Object stack underflow! Count=%X State=%p #Ops=%u",
369 pop_count, walk_state,
370 walk_state->num_operands));
371 return (AE_STACK_UNDERFLOW);
372 }
373
374 /* Just set the stack entry to null */
375
376 walk_state->num_operands--;
377 walk_state->operands[walk_state->num_operands] = NULL;
378 }
379
369 pop_count, walk_state,
370 walk_state->num_operands));
371 return (AE_STACK_UNDERFLOW);
372 }
373
374 /* Just set the stack entry to null */
375
376 walk_state->num_operands--;
377 walk_state->operands[walk_state->num_operands] = NULL;
378 }
379
380 ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "Count=%X State=%p #Ops=%X\n",
380 ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "Count=%X State=%p #Ops=%u\n",
381 pop_count, walk_state, walk_state->num_operands));
382
383 return (AE_OK);
384}
385
386/*******************************************************************************
387 *
388 * FUNCTION: acpi_ds_obj_stack_pop_and_delete

--- 365 unchanged lines hidden ---
381 pop_count, walk_state, walk_state->num_operands));
382
383 return (AE_OK);
384}
385
386/*******************************************************************************
387 *
388 * FUNCTION: acpi_ds_obj_stack_pop_and_delete

--- 365 unchanged lines hidden ---