dbmethod.c (249112) | dbmethod.c (249663) |
---|---|
1/******************************************************************************* 2 * 3 * Module Name: dbmethod - Debug commands for control methods 4 * 5 ******************************************************************************/ 6 7/* 8 * Copyright (C) 2000 - 2013, Intel Corp. --- 35 unchanged lines hidden (view full) --- 44 45#include <contrib/dev/acpica/include/acpi.h> 46#include <contrib/dev/acpica/include/accommon.h> 47#include <contrib/dev/acpica/include/acdispat.h> 48#include <contrib/dev/acpica/include/acnamesp.h> 49#include <contrib/dev/acpica/include/acdebug.h> 50#include <contrib/dev/acpica/include/acdisasm.h> 51#include <contrib/dev/acpica/include/acparser.h> | 1/******************************************************************************* 2 * 3 * Module Name: dbmethod - Debug commands for control methods 4 * 5 ******************************************************************************/ 6 7/* 8 * Copyright (C) 2000 - 2013, Intel Corp. --- 35 unchanged lines hidden (view full) --- 44 45#include <contrib/dev/acpica/include/acpi.h> 46#include <contrib/dev/acpica/include/accommon.h> 47#include <contrib/dev/acpica/include/acdispat.h> 48#include <contrib/dev/acpica/include/acnamesp.h> 49#include <contrib/dev/acpica/include/acdebug.h> 50#include <contrib/dev/acpica/include/acdisasm.h> 51#include <contrib/dev/acpica/include/acparser.h> |
52#include <contrib/dev/acpica/include/acpredef.h> |
|
52 53 54#ifdef ACPI_DEBUGGER 55 56#define _COMPONENT ACPI_CA_DEBUGGER 57 ACPI_MODULE_NAME ("dbmethod") 58 59 --- 372 unchanged lines hidden (view full) --- 432 433static ACPI_STATUS 434AcpiDbWalkForExecute ( 435 ACPI_HANDLE ObjHandle, 436 UINT32 NestingLevel, 437 void *Context, 438 void **ReturnValue) 439{ | 53 54 55#ifdef ACPI_DEBUGGER 56 57#define _COMPONENT ACPI_CA_DEBUGGER 58 ACPI_MODULE_NAME ("dbmethod") 59 60 --- 372 unchanged lines hidden (view full) --- 433 434static ACPI_STATUS 435AcpiDbWalkForExecute ( 436 ACPI_HANDLE ObjHandle, 437 UINT32 NestingLevel, 438 void *Context, 439 void **ReturnValue) 440{ |
440 ACPI_NAMESPACE_NODE *Node = (ACPI_NAMESPACE_NODE *) ObjHandle; 441 ACPI_DB_EXECUTE_WALK *Info = (ACPI_DB_EXECUTE_WALK *) Context; 442 ACPI_BUFFER ReturnObj; 443 ACPI_STATUS Status; 444 char *Pathname; 445 UINT32 i; 446 ACPI_DEVICE_INFO *ObjInfo; 447 ACPI_OBJECT_LIST ParamObjects; 448 ACPI_OBJECT Params[ACPI_METHOD_NUM_ARGS]; 449 const ACPI_PREDEFINED_INFO *Predefined; | 441 ACPI_NAMESPACE_NODE *Node = (ACPI_NAMESPACE_NODE *) ObjHandle; 442 ACPI_DB_EXECUTE_WALK *Info = (ACPI_DB_EXECUTE_WALK *) Context; 443 char *Pathname; 444 const ACPI_PREDEFINED_INFO *Predefined; 445 ACPI_DEVICE_INFO *ObjInfo; 446 ACPI_OBJECT_LIST ParamObjects; 447 ACPI_OBJECT Params[ACPI_METHOD_NUM_ARGS]; 448 ACPI_OBJECT *ThisParam; 449 ACPI_BUFFER ReturnObj; 450 ACPI_STATUS Status; 451 UINT16 ArgTypeList; 452 UINT8 ArgCount; 453 UINT8 ArgType; 454 UINT32 i; |
450 451 | 455 456 |
457 /* The name must be a predefined ACPI name */ 458 |
|
452 Predefined = AcpiUtMatchPredefinedMethod (Node->Name.Ascii); 453 if (!Predefined) 454 { 455 return (AE_OK); 456 } 457 458 if (Node->Type == ACPI_TYPE_LOCAL_SCOPE) 459 { --- 9 unchanged lines hidden (view full) --- 469 /* Get the object info for number of method parameters */ 470 471 Status = AcpiGetObjectInfo (ObjHandle, &ObjInfo); 472 if (ACPI_FAILURE (Status)) 473 { 474 return (Status); 475 } 476 | 459 Predefined = AcpiUtMatchPredefinedMethod (Node->Name.Ascii); 460 if (!Predefined) 461 { 462 return (AE_OK); 463 } 464 465 if (Node->Type == ACPI_TYPE_LOCAL_SCOPE) 466 { --- 9 unchanged lines hidden (view full) --- 476 /* Get the object info for number of method parameters */ 477 478 Status = AcpiGetObjectInfo (ObjHandle, &ObjInfo); 479 if (ACPI_FAILURE (Status)) 480 { 481 return (Status); 482 } 483 |
484 ParamObjects.Count = 0; |
|
477 ParamObjects.Pointer = NULL; | 485 ParamObjects.Pointer = NULL; |
478 ParamObjects.Count = 0; | |
479 480 if (ObjInfo->Type == ACPI_TYPE_METHOD) 481 { | 486 487 if (ObjInfo->Type == ACPI_TYPE_METHOD) 488 { |
482 /* Setup default parameters */ | 489 /* Setup default parameters (with proper types) */ |
483 | 490 |
484 for (i = 0; i < ObjInfo->ParamCount; i++) | 491 ArgTypeList = Predefined->Info.ArgumentList; 492 ArgCount = METHOD_GET_ARG_COUNT (ArgTypeList); 493 494 /* 495 * Setup the ACPI-required number of arguments, regardless of what 496 * the actual method defines. If there is a difference, then the 497 * method is wrong and a warning will be issued during execution. 498 */ 499 ThisParam = Params; 500 for (i = 0; i < ArgCount; i++) |
485 { | 501 { |
486 Params[i].Type = ACPI_TYPE_INTEGER; 487 Params[i].Integer.Value = 1; | 502 ArgType = METHOD_GET_NEXT_TYPE (ArgTypeList); 503 ThisParam->Type = ArgType; 504 505 switch (ArgType) 506 { 507 case ACPI_TYPE_INTEGER: 508 ThisParam->Integer.Value = 1; 509 break; 510 511 case ACPI_TYPE_STRING: 512 ThisParam->String.Pointer = "This is the default argument string"; 513 ThisParam->String.Length = ACPI_STRLEN (ThisParam->String.Pointer); 514 break; 515 516 case ACPI_TYPE_BUFFER: 517 ThisParam->Buffer.Pointer = (UINT8 *) Params; /* just a garbage buffer */ 518 ThisParam->Buffer.Length = 48; 519 break; 520 521 case ACPI_TYPE_PACKAGE: 522 ThisParam->Package.Elements = NULL; 523 ThisParam->Package.Count = 0; 524 break; 525 526 default: 527 AcpiOsPrintf ("%s: Unsupported argument type: %u\n", 528 Pathname, ArgType); 529 break; 530 } 531 532 ThisParam++; |
488 } 489 | 533 } 534 |
490 ParamObjects.Pointer = Params; 491 ParamObjects.Count = ObjInfo->ParamCount; | 535 ParamObjects.Count = ArgCount; 536 ParamObjects.Pointer = Params; |
492 } 493 494 ACPI_FREE (ObjInfo); 495 ReturnObj.Pointer = NULL; 496 ReturnObj.Length = ACPI_ALLOCATE_BUFFER; 497 498 /* Do the actual method execution */ 499 --- 62 unchanged lines hidden --- | 537 } 538 539 ACPI_FREE (ObjInfo); 540 ReturnObj.Pointer = NULL; 541 ReturnObj.Length = ACPI_ALLOCATE_BUFFER; 542 543 /* Do the actual method execution */ 544 --- 62 unchanged lines hidden --- |