exresolv.c (cb5629b10d64a8006622ce3a52bc887d91057d69) | exresolv.c (3371c19c294a4cb3649aa4e84606be8a1d999e61) |
---|---|
1 2/****************************************************************************** 3 * 4 * Module Name: exresolv - AML Interpreter object resolution 5 * 6 *****************************************************************************/ 7 8/* --- 135 unchanged lines hidden (view full) --- 144 u8 ref_type; 145 146 ACPI_FUNCTION_TRACE(ex_resolve_object_to_value); 147 148 stack_desc = *stack_ptr; 149 150 /* This is a union acpi_operand_object */ 151 | 1 2/****************************************************************************** 3 * 4 * Module Name: exresolv - AML Interpreter object resolution 5 * 6 *****************************************************************************/ 7 8/* --- 135 unchanged lines hidden (view full) --- 144 u8 ref_type; 145 146 ACPI_FUNCTION_TRACE(ex_resolve_object_to_value); 147 148 stack_desc = *stack_ptr; 149 150 /* This is a union acpi_operand_object */ 151 |
152 switch (ACPI_GET_OBJECT_TYPE(stack_desc)) { | 152 switch (stack_desc->common.type) { |
153 case ACPI_TYPE_LOCAL_REFERENCE: 154 155 ref_type = stack_desc->reference.class; 156 157 switch (ref_type) { 158 case ACPI_REFCLASS_LOCAL: 159 case ACPI_REFCLASS_ARG: 160 --- 131 unchanged lines hidden (view full) --- 292 293 case ACPI_TYPE_BUFFER_FIELD: 294 case ACPI_TYPE_LOCAL_REGION_FIELD: 295 case ACPI_TYPE_LOCAL_BANK_FIELD: 296 case ACPI_TYPE_LOCAL_INDEX_FIELD: 297 298 ACPI_DEBUG_PRINT((ACPI_DB_EXEC, 299 "FieldRead SourceDesc=%p Type=%X\n", | 153 case ACPI_TYPE_LOCAL_REFERENCE: 154 155 ref_type = stack_desc->reference.class; 156 157 switch (ref_type) { 158 case ACPI_REFCLASS_LOCAL: 159 case ACPI_REFCLASS_ARG: 160 --- 131 unchanged lines hidden (view full) --- 292 293 case ACPI_TYPE_BUFFER_FIELD: 294 case ACPI_TYPE_LOCAL_REGION_FIELD: 295 case ACPI_TYPE_LOCAL_BANK_FIELD: 296 case ACPI_TYPE_LOCAL_INDEX_FIELD: 297 298 ACPI_DEBUG_PRINT((ACPI_DB_EXEC, 299 "FieldRead SourceDesc=%p Type=%X\n", |
300 stack_desc, 301 ACPI_GET_OBJECT_TYPE(stack_desc))); | 300 stack_desc, stack_desc->common.type)); |
302 303 status = 304 acpi_ex_read_data_from_field(walk_state, stack_desc, 305 &obj_desc); 306 307 /* Remove a reference to the original operand, then override */ 308 309 acpi_ut_remove_reference(*stack_ptr); --- 71 unchanged lines hidden (view full) --- 381 } 382 383 /* 384 * For reference objects created via the ref_of, Index, or Load/load_table 385 * operators, we need to get to the base object (as per the ACPI 386 * specification of the object_type and size_of operators). This means 387 * traversing the list of possibly many nested references. 388 */ | 301 302 status = 303 acpi_ex_read_data_from_field(walk_state, stack_desc, 304 &obj_desc); 305 306 /* Remove a reference to the original operand, then override */ 307 308 acpi_ut_remove_reference(*stack_ptr); --- 71 unchanged lines hidden (view full) --- 380 } 381 382 /* 383 * For reference objects created via the ref_of, Index, or Load/load_table 384 * operators, we need to get to the base object (as per the ACPI 385 * specification of the object_type and size_of operators). This means 386 * traversing the list of possibly many nested references. 387 */ |
389 while (ACPI_GET_OBJECT_TYPE(obj_desc) == ACPI_TYPE_LOCAL_REFERENCE) { | 388 while (obj_desc->common.type == ACPI_TYPE_LOCAL_REFERENCE) { |
390 switch (obj_desc->reference.class) { 391 case ACPI_REFCLASS_REFOF: 392 case ACPI_REFCLASS_NAME: 393 394 /* Dereference the reference pointer */ 395 396 if (obj_desc->reference.class == ACPI_REFCLASS_REFOF) { 397 node = obj_desc->reference.object; --- 115 unchanged lines hidden (view full) --- 513 return_ACPI_STATUS(AE_AML_INTERNAL); 514 } 515 } 516 517 /* 518 * Now we are guaranteed to have an object that has not been created 519 * via the ref_of or Index operators. 520 */ | 389 switch (obj_desc->reference.class) { 390 case ACPI_REFCLASS_REFOF: 391 case ACPI_REFCLASS_NAME: 392 393 /* Dereference the reference pointer */ 394 395 if (obj_desc->reference.class == ACPI_REFCLASS_REFOF) { 396 node = obj_desc->reference.object; --- 115 unchanged lines hidden (view full) --- 512 return_ACPI_STATUS(AE_AML_INTERNAL); 513 } 514 } 515 516 /* 517 * Now we are guaranteed to have an object that has not been created 518 * via the ref_of or Index operators. 519 */ |
521 type = ACPI_GET_OBJECT_TYPE(obj_desc); | 520 type = obj_desc->common.type; |
522 523 exit: 524 /* Convert internal types to external types */ 525 526 switch (type) { 527 case ACPI_TYPE_LOCAL_REGION_FIELD: 528 case ACPI_TYPE_LOCAL_BANK_FIELD: 529 case ACPI_TYPE_LOCAL_INDEX_FIELD: --- 22 unchanged lines hidden --- | 521 522 exit: 523 /* Convert internal types to external types */ 524 525 switch (type) { 526 case ACPI_TYPE_LOCAL_REGION_FIELD: 527 case ACPI_TYPE_LOCAL_BANK_FIELD: 528 case ACPI_TYPE_LOCAL_INDEX_FIELD: --- 22 unchanged lines hidden --- |