aboutsummaryrefslogtreecommitdiff
path: root/sys/contrib/dev/acpica/Subsystem/Debugger
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/dev/acpica/Subsystem/Debugger')
-rw-r--r--sys/contrib/dev/acpica/Subsystem/Debugger/dbcmds.c1070
-rw-r--r--sys/contrib/dev/acpica/Subsystem/Debugger/dbdisasm.c823
-rw-r--r--sys/contrib/dev/acpica/Subsystem/Debugger/dbdisply.c931
-rw-r--r--sys/contrib/dev/acpica/Subsystem/Debugger/dbexec.c487
-rw-r--r--sys/contrib/dev/acpica/Subsystem/Debugger/dbfileio.c492
-rw-r--r--sys/contrib/dev/acpica/Subsystem/Debugger/dbhistry.c301
-rw-r--r--sys/contrib/dev/acpica/Subsystem/Debugger/dbinput.c989
-rw-r--r--sys/contrib/dev/acpica/Subsystem/Debugger/dbstats.c548
-rw-r--r--sys/contrib/dev/acpica/Subsystem/Debugger/dbutils.c465
-rw-r--r--sys/contrib/dev/acpica/Subsystem/Debugger/dbxface.c432
10 files changed, 0 insertions, 6538 deletions
diff --git a/sys/contrib/dev/acpica/Subsystem/Debugger/dbcmds.c b/sys/contrib/dev/acpica/Subsystem/Debugger/dbcmds.c
deleted file mode 100644
index b48e7ea30ba4..000000000000
--- a/sys/contrib/dev/acpica/Subsystem/Debugger/dbcmds.c
+++ /dev/null
@@ -1,1070 +0,0 @@
-/*******************************************************************************
- *
- * Module Name: dbcmds - debug commands and output routines
- * $Revision: 46 $
- *
- ******************************************************************************/
-
-/******************************************************************************
- *
- * 1. Copyright Notice
- *
- * Some or all of this work - Copyright (c) 1999, 2000, 2001, Intel Corp.
- * All rights reserved.
- *
- * 2. License
- *
- * 2.1. This is your license from Intel Corp. under its intellectual property
- * rights. You may have additional license terms from the party that provided
- * you this software, covering your right to use that party's intellectual
- * property rights.
- *
- * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
- * copy of the source code appearing in this file ("Covered Code") an
- * irrevocable, perpetual, worldwide license under Intel's copyrights in the
- * base code distributed originally by Intel ("Original Intel Code") to copy,
- * make derivatives, distribute, use and display any portion of the Covered
- * Code in any form, with the right to sublicense such rights; and
- *
- * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
- * license (with the right to sublicense), under only those claims of Intel
- * patents that are infringed by the Original Intel Code, to make, use, sell,
- * offer to sell, and import the Covered Code and derivative works thereof
- * solely to the minimum extent necessary to exercise the above copyright
- * license, and in no event shall the patent license extend to any additions
- * to or modifications of the Original Intel Code. No other license or right
- * is granted directly or by implication, estoppel or otherwise;
- *
- * The above copyright and patent license is granted only if the following
- * conditions are met:
- *
- * 3. Conditions
- *
- * 3.1. Redistribution of Source with Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification with rights to further distribute source must include
- * the above Copyright Notice, the above License, this list of Conditions,
- * and the following Disclaimer and Export Compliance provision. In addition,
- * Licensee must cause all Covered Code to which Licensee contributes to
- * contain a file documenting the changes Licensee made to create that Covered
- * Code and the date of any change. Licensee must include in that file the
- * documentation of any changes made by any predecessor Licensee. Licensee
- * must include a prominent statement that the modification is derived,
- * directly or indirectly, from Original Intel Code.
- *
- * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification without rights to further distribute source must
- * include the following Disclaimer and Export Compliance provision in the
- * documentation and/or other materials provided with distribution. In
- * addition, Licensee may not authorize further sublicense of source of any
- * portion of the Covered Code, and must include terms to the effect that the
- * license from Licensee to its licensee is limited to the intellectual
- * property embodied in the software Licensee provides to its licensee, and
- * not to intellectual property embodied in modifications its licensee may
- * make.
- *
- * 3.3. Redistribution of Executable. Redistribution in executable form of any
- * substantial portion of the Covered Code or modification must reproduce the
- * above Copyright Notice, and the following Disclaimer and Export Compliance
- * provision in the documentation and/or other materials provided with the
- * distribution.
- *
- * 3.4. Intel retains all right, title, and interest in and to the Original
- * Intel Code.
- *
- * 3.5. Neither the name Intel nor any other trademark owned or controlled by
- * Intel shall be used in advertising or otherwise to promote the sale, use or
- * other dealings in products derived from or relating to the Covered Code
- * without prior written authorization from Intel.
- *
- * 4. Disclaimer and Export Compliance
- *
- * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
- * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
- * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
- * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
- * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
- * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
- * PARTICULAR PURPOSE.
- *
- * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
- * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
- * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
- * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
- * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
- * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
- * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
- * LIMITED REMEDY.
- *
- * 4.3. Licensee shall not export, either directly or indirectly, any of this
- * software or system incorporating such software without first obtaining any
- * required license or other approval from the U. S. Department of Commerce or
- * any other agency or department of the United States Government. In the
- * event Licensee exports any such software from the United States or
- * re-exports any such software from a foreign destination, Licensee shall
- * ensure that the distribution and export/re-export of the software is in
- * compliance with all laws, regulations, orders, or other restrictions of the
- * U.S. Export Administration Regulations. Licensee agrees that neither it nor
- * any of its subsidiaries will export/re-export any technical data, process,
- * software, or service, directly or indirectly, to any country for which the
- * United States government or any agency thereof requires an export license,
- * other governmental approval, or letter of assurance, without first obtaining
- * such license, approval or letter.
- *
- *****************************************************************************/
-
-
-#include "acpi.h"
-#include "acparser.h"
-#include "acdispat.h"
-#include "amlcode.h"
-#include "acnamesp.h"
-#include "acparser.h"
-#include "acevents.h"
-#include "acinterp.h"
-#include "acdebug.h"
-#include "actables.h"
-
-#ifdef ENABLE_DEBUGGER
-
-#define _COMPONENT DEBUGGER
- MODULE_NAME ("dbcmds")
-
-
-/*
- * Arguments for the Objects command
- * These object types map directly to the ACPI_TYPES
- */
-
-ARGUMENT_INFO AcpiDbObjectTypes [] =
-{
- {"ANY"},
- {"NUMBERS"},
- {"STRINGS"},
- {"BUFFERS"},
- {"PACKAGES"},
- {"FIELDS"},
- {"DEVICES"},
- {"EVENTS"},
- {"METHODS"},
- {"MUTEXES"},
- {"REGIONS"},
- {"POWERRESOURCES"},
- {"PROCESSORS"},
- {"THERMALZONES"},
- {"BUFFERFIELDS"},
- {"DDBHANDLES"},
- {NULL} /* Must be null terminated */
-};
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbWalkForReferences
- *
- * PARAMETERS: Callback from WalkNamespace
- *
- * RETURN: Status
- *
- * DESCRIPTION: Check if this namespace object refers to the target object
- * that is passed in as the context value.
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiDbWalkForReferences (
- ACPI_HANDLE ObjHandle,
- UINT32 NestingLevel,
- void *Context,
- void **ReturnValue)
-{
- ACPI_OPERAND_OBJECT *ObjDesc = (ACPI_OPERAND_OBJECT *) Context;
- ACPI_NAMESPACE_NODE *Node = (ACPI_NAMESPACE_NODE *) ObjHandle;
-
-
- /* Check for match against the namespace node itself */
-
- if (Node == (void *) ObjDesc)
- {
- AcpiOsPrintf ("Object is a Node [%4.4s]\n", &Node->Name);
- }
-
- /* Check for match against the object attached to the node */
-
- if (Node->Object == ObjDesc)
- {
- AcpiOsPrintf ("Reference at Node->Object %p [%4.4s]\n", Node, &Node->Name);
- }
-
- /* Check first child for a match */
- /* TBD: [Investigate] probably now obsolete with new datastructure */
-
- if (Node->Child == (void *) ObjDesc)
- {
- AcpiOsPrintf ("Reference at Node->Child %p [%4.4s]\n", Node, &Node->Name);
- }
-
- return (AE_OK);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbFindReferences
- *
- * PARAMETERS: ObjectArg - String with hex value of the object
- *
- * RETURN: None
- *
- * DESCRIPTION: Search namespace for all references to the input object
- *
- ******************************************************************************/
-
-void
-AcpiDbFindReferences (
- NATIVE_CHAR *ObjectArg)
-{
- ACPI_OPERAND_OBJECT *ObjDesc;
-
-
- /* Convert string to object pointer */
-
- ObjDesc = (ACPI_OPERAND_OBJECT *) STRTOUL (ObjectArg, NULL, 16);
-
- /* Search all nodes in namespace */
-
- AcpiWalkNamespace (ACPI_TYPE_ANY, ACPI_ROOT_OBJECT, ACPI_UINT32_MAX,
- AcpiDbWalkForReferences, (void *) ObjDesc, NULL);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDisplayTableInfo
- *
- * PARAMETERS: TableArg - String with name of table to be displayed
- *
- * RETURN: None
- *
- * DESCRIPTION: Display information about loaded tables. Current
- * implementation displays all loaded tables.
- *
- ******************************************************************************/
-
-void
-AcpiDbDisplayTableInfo (
- NATIVE_CHAR *TableArg)
-{
- UINT32 i;
-
-
- for (i = 0; i < NUM_ACPI_TABLES; i++)
- {
- if (AcpiGbl_AcpiTables[i].Pointer)
- {
- AcpiOsPrintf ("%s at %p length %X\n", AcpiGbl_AcpiTableData[i].Name,
- AcpiGbl_AcpiTables[i].Pointer, AcpiGbl_AcpiTables[i].Length);
- }
- }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbUnloadAcpiTable
- *
- * PARAMETERS: TableArg - Name of the table to be unloaded
- * InstanceArg - Which instance of the table to unload (if
- * there are multiple tables of the same type)
- *
- * RETURN: Nonde
- *
- * DESCRIPTION: Unload an ACPI table.
- * Instance is not implemented
- *
- ******************************************************************************/
-
-void
-AcpiDbUnloadAcpiTable (
- NATIVE_CHAR *TableArg,
- NATIVE_CHAR *InstanceArg)
-{
- UINT32 i;
- ACPI_STATUS Status;
-
-
- /* Search all tables for the target type */
-
- for (i = 0; i < NUM_ACPI_TABLES; i++)
- {
- if (!STRNCMP (TableArg, AcpiGbl_AcpiTableData[i].Signature, AcpiGbl_AcpiTableData[i].SigLength))
- {
- /* Found the table, unload it */
-
- Status = AcpiUnloadTable (i);
- if (ACPI_SUCCESS (Status))
- {
- AcpiOsPrintf ("[%s] unloaded and uninstalled\n", TableArg);
- }
- else
- {
- AcpiOsPrintf ("%s, while unloading [%s]\n", AcpiCmFormatException (Status), TableArg);
- }
-
- return;
- }
- }
-
- AcpiOsPrintf ("Unknown table type [%s]\n", TableArg);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbSetMethodBreakpoint
- *
- * PARAMETERS: Location - AML offset of breakpoint
- * WalkState - Current walk info
- * Op - Current Op (from parse walk)
- *
- * RETURN: None
- *
- * DESCRIPTION: Set a breakpoint in a control method at the specified
- * AML offset
- *
- ******************************************************************************/
-
-void
-AcpiDbSetMethodBreakpoint (
- NATIVE_CHAR *Location,
- ACPI_WALK_STATE *WalkState,
- ACPI_PARSE_OBJECT *Op)
-{
- UINT32 Address;
-
-
- if (!Op)
- {
- AcpiOsPrintf ("There is no method currently executing\n");
- return;
- }
-
- /* Get and verify the breakpoint address */
-
- Address = STRTOUL (Location, NULL, 16);
- if (Address <= Op->AmlOffset)
- {
- AcpiOsPrintf ("Breakpoint %X is beyond current address %X\n", Address, Op->AmlOffset);
- }
-
- /* Save breakpoint in current walk */
-
- WalkState->MethodBreakpoint = Address;
- AcpiOsPrintf ("Breakpoint set at AML offset %X\n", Address);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbSetMethodCallBreakpoint
- *
- * PARAMETERS: Op - Current Op (from parse walk)
- *
- * RETURN: None
- *
- * DESCRIPTION: Set a breakpoint in a control method at the specified
- * AML offset
- *
- ******************************************************************************/
-
-void
-AcpiDbSetMethodCallBreakpoint (
- ACPI_PARSE_OBJECT *Op)
-{
-
-
- if (!Op)
- {
- AcpiOsPrintf ("There is no method currently executing\n");
- return;
- }
-
-
- AcpiGbl_StepToNextCall = TRUE;
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDisassembleAml
- *
- * PARAMETERS: Statements - Number of statements to disassemble
- * Op - Current Op (from parse walk)
- *
- * RETURN: None
- *
- * DESCRIPTION: Display disassembled AML (ASL) starting from Op for the number
- * of statements specified.
- *
- ******************************************************************************/
-
-void
-AcpiDbDisassembleAml (
- NATIVE_CHAR *Statements,
- ACPI_PARSE_OBJECT *Op)
-{
- UINT32 NumStatements = 8;
-
-
- if (!Op)
- {
- AcpiOsPrintf ("There is no method currently executing\n");
- return;
- }
-
- if (Statements)
- {
- NumStatements = STRTOUL (Statements, NULL, 0);
- }
-
-
- AcpiDbDisplayOp (NULL, Op, NumStatements);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDumpNamespace
- *
- * PARAMETERS: StartArg - Node to begin namespace dump
- * DepthArg - Maximum tree depth to be dumped
- *
- * RETURN: None
- *
- * DESCRIPTION: Dump entire namespace or a subtree. Each node is displayed
- * with type and other information.
- *
- ******************************************************************************/
-
-void
-AcpiDbDumpNamespace (
- NATIVE_CHAR *StartArg,
- NATIVE_CHAR *DepthArg)
-{
- ACPI_HANDLE SubtreeEntry = AcpiGbl_RootNode;
- UINT32 MaxDepth = ACPI_UINT32_MAX;
-
-
- /* No argument given, just start at the root and dump entire namespace */
-
- if (StartArg)
- {
- /* Check if numeric argument, must be a Node */
-
- if ((StartArg[0] >= 0x30) && (StartArg[0] <= 0x39))
- {
- SubtreeEntry = (ACPI_HANDLE) STRTOUL (StartArg, NULL, 16);
- if (!AcpiOsReadable (SubtreeEntry, sizeof (ACPI_NAMESPACE_NODE)))
- {
- AcpiOsPrintf ("Address %p is invalid in this address space\n", SubtreeEntry);
- return;
- }
-
- if (!VALID_DESCRIPTOR_TYPE ((SubtreeEntry), ACPI_DESC_TYPE_NAMED))
- {
- AcpiOsPrintf ("Address %p is not a valid Named object\n", SubtreeEntry);
- return;
- }
- }
-
- /* Alpha argument */
-
- else
- {
- /* The parameter is a name string that must be resolved to a Named obj*/
-
- SubtreeEntry = AcpiDbLocalNsLookup (StartArg);
- if (!SubtreeEntry)
- {
- SubtreeEntry = AcpiGbl_RootNode;
- }
- }
-
- /* Now we can check for the depth argument */
-
- if (DepthArg)
- {
- MaxDepth = STRTOUL (DepthArg, NULL, 0);
- }
- }
-
-
- AcpiDbSetOutputDestination (DB_DUPLICATE_OUTPUT);
- AcpiOsPrintf ("ACPI Namespace (from %p subtree):\n", SubtreeEntry);
-
- /* Display the subtree */
-
- AcpiDbSetOutputDestination (DB_REDIRECTABLE_OUTPUT);
- AcpiNsDumpObjects (ACPI_TYPE_ANY, MaxDepth, ACPI_UINT32_MAX, SubtreeEntry);
- AcpiDbSetOutputDestination (DB_CONSOLE_OUTPUT);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDumpNamespaceByOwner
- *
- * PARAMETERS: OwnerArg - Owner ID whose nodes will be displayed
- * DepthArg - Maximum tree depth to be dumped
- *
- * RETURN: None
- *
- * DESCRIPTION: Dump elements of the namespace that are owned by the OwnerId.
- *
- ******************************************************************************/
-
-void
-AcpiDbDumpNamespaceByOwner (
- NATIVE_CHAR *OwnerArg,
- NATIVE_CHAR *DepthArg)
-{
- ACPI_HANDLE SubtreeEntry = AcpiGbl_RootNode;
- UINT32 MaxDepth = ACPI_UINT32_MAX;
- UINT16 OwnerId;
-
-
- OwnerId = (UINT16) STRTOUL (OwnerArg, NULL, 0);
-
-
- /* Now we can check for the depth argument */
-
- if (DepthArg)
- {
- MaxDepth = STRTOUL (DepthArg, NULL, 0);
- }
-
-
- AcpiDbSetOutputDestination (DB_DUPLICATE_OUTPUT);
- AcpiOsPrintf ("ACPI Namespace by owner %X:\n", OwnerId);
-
- /* Display the subtree */
-
- AcpiDbSetOutputDestination (DB_REDIRECTABLE_OUTPUT);
- AcpiNsDumpObjects (ACPI_TYPE_ANY, MaxDepth, OwnerId, SubtreeEntry);
- AcpiDbSetOutputDestination (DB_CONSOLE_OUTPUT);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbSendNotify
- *
- * PARAMETERS: Name - Name of ACPI object to send the notify to
- * Value - Value of the notify to send.
- *
- * RETURN: None
- *
- * DESCRIPTION: Send an ACPI notification. The value specified is sent to the
- * named object as an ACPI notify.
- *
- ******************************************************************************/
-
-void
-AcpiDbSendNotify (
- NATIVE_CHAR *Name,
- UINT32 Value)
-{
- ACPI_NAMESPACE_NODE *Node;
-
-
- /* Translate name to an Named object */
-
- Node = AcpiDbLocalNsLookup (Name);
- if (!Node)
- {
- return;
- }
-
- /* Decode Named object type */
-
- switch (Node->Type)
- {
- case ACPI_TYPE_DEVICE:
- case ACPI_TYPE_THERMAL:
-
- /* Send the notify */
-
- AcpiEvNotifyDispatch (Node, Value);
- break;
-
- default:
- AcpiOsPrintf ("Named object is not a device or a thermal object\n");
- break;
- }
-
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbSetMethodData
- *
- * PARAMETERS: TypeArg - L for local, A for argument
- * IndexArg - which one
- * ValueArg - Value to set.
- *
- * RETURN: None
- *
- * DESCRIPTION: Set a local or argument for the running control method.
- * NOTE: only object supported is Number.
- *
- ******************************************************************************/
-
-void
-AcpiDbSetMethodData (
- NATIVE_CHAR *TypeArg,
- NATIVE_CHAR *IndexArg,
- NATIVE_CHAR *ValueArg)
-{
- NATIVE_CHAR Type;
- UINT32 Index;
- UINT32 Value;
- ACPI_WALK_STATE *WalkState;
- ACPI_OPERAND_OBJECT *ObjDesc;
-
-
- /* Validate TypeArg */
-
- STRUPR (TypeArg);
- Type = TypeArg[0];
- if ((Type != 'L') &&
- (Type != 'A'))
- {
- AcpiOsPrintf ("Invalid SET operand: %s\n", TypeArg);
- return;
- }
-
- /* Get the index and value */
-
- Index = STRTOUL (IndexArg, NULL, 16);
- Value = STRTOUL (ValueArg, NULL, 16);
-
- WalkState = AcpiDsGetCurrentWalkState (AcpiGbl_CurrentWalkList);
- if (!WalkState)
- {
- AcpiOsPrintf ("There is no method currently executing\n");
- return;
- }
-
-
- /* Create and initialize the new object */
-
- ObjDesc = AcpiCmCreateInternalObject (ACPI_TYPE_INTEGER);
- if (!ObjDesc)
- {
- AcpiOsPrintf ("Could not create an internal object\n");
- return;
- }
-
- ObjDesc->Integer.Value = Value;
-
-
- /* Store the new object into the target */
-
- switch (Type)
- {
- case 'A':
-
- /* Set a method argument */
-
- if (Index > MTH_NUM_ARGS)
- {
- AcpiOsPrintf ("Arg%d - Invalid argument name\n", Index);
- return;
- }
-
- AcpiDsMethodDataSetValue (MTH_TYPE_ARG, Index, ObjDesc, WalkState);
- ObjDesc = WalkState->Arguments[Index].Object;
-
- AcpiOsPrintf ("Arg%d: ", Index);
- AcpiDbDisplayInternalObject (ObjDesc, WalkState);
- break;
-
- case 'L':
-
- /* Set a method local */
-
- if (Index > MTH_NUM_LOCALS)
- {
- AcpiOsPrintf ("Local%d - Invalid local variable name\n", Index);
- return;
- }
-
- AcpiDsMethodDataSetValue (MTH_TYPE_LOCAL, Index, ObjDesc, WalkState);
- ObjDesc = WalkState->LocalVariables[Index].Object;
-
- AcpiOsPrintf ("Local%d: ", Index);
- AcpiDbDisplayInternalObject (ObjDesc, WalkState);
- break;
-
- default:
- break;
- }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbWalkForSpecificObjects
- *
- * PARAMETERS: Callback from WalkNamespace
- *
- * RETURN: Status
- *
- * DESCRIPTION: Display short info about objects in the namespace
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiDbWalkForSpecificObjects (
- ACPI_HANDLE ObjHandle,
- UINT32 NestingLevel,
- void *Context,
- void **ReturnValue)
-{
- ACPI_OPERAND_OBJECT *ObjDesc;
- ACPI_STATUS Status;
- UINT32 BufSize;
- NATIVE_CHAR Buffer[64];
-
-
- ObjDesc = ((ACPI_NAMESPACE_NODE *)ObjHandle)->Object;
- BufSize = sizeof (Buffer) / sizeof (*Buffer);
-
- /* Get and display the full pathname to this object */
-
- Status = AcpiNsHandleToPathname (ObjHandle, &BufSize, Buffer);
-
- if (ACPI_FAILURE (Status))
- {
- AcpiOsPrintf ("Could Not get pathname for object %p\n", ObjHandle);
- return (AE_OK);
- }
-
- AcpiOsPrintf ("%32s", Buffer);
-
-
- /* Display short information about the object */
-
- if (ObjDesc)
- {
- switch (ObjDesc->Common.Type)
- {
- case ACPI_TYPE_METHOD:
- AcpiOsPrintf (" #Args %d Concurrency %X", ObjDesc->Method.ParamCount, ObjDesc->Method.Concurrency);
- break;
-
- case ACPI_TYPE_INTEGER:
- AcpiOsPrintf (" Value %X", ObjDesc->Integer.Value);
- break;
-
- case ACPI_TYPE_STRING:
- AcpiOsPrintf (" \"%s\"", ObjDesc->String.Pointer);
- break;
-
- case ACPI_TYPE_REGION:
- AcpiOsPrintf (" SpaceId %X Address %X Length %X", ObjDesc->Region.SpaceId, ObjDesc->Region.Address, ObjDesc->Region.Length);
- break;
-
- case ACPI_TYPE_PACKAGE:
- AcpiOsPrintf (" #Elements %X", ObjDesc->Package.Count);
- break;
-
- case ACPI_TYPE_BUFFER:
- AcpiOsPrintf (" Length %X", ObjDesc->Buffer.Length);
- break;
- }
- }
-
- AcpiOsPrintf ("\n");
- return (AE_OK);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDisplayObjects
- *
- * PARAMETERS: ObjTypeArg - Type of object to display
- * DisplayCountArg - Max depth to display
- *
- * RETURN: None
- *
- * DESCRIPTION: Display objects in the namespace of the requested type
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiDbDisplayObjects (
- NATIVE_CHAR *ObjTypeArg,
- NATIVE_CHAR *DisplayCountArg)
-{
- UINT32 DisplayCount;
- OBJECT_TYPE_INTERNAL Type;
-
-
- /* Get the object type */
-
- STRUPR (ObjTypeArg);
- Type = AcpiDbMatchArgument (ObjTypeArg, AcpiDbObjectTypes);
- if (Type == ACPI_TYPE_NOT_FOUND)
- {
- AcpiOsPrintf ("Invalid or unsupported argument\n");
- return (AE_OK);
- }
-
- /* Get the display depth */
-
- if (DisplayCountArg)
- {
- DisplayCount = STRTOUL (DisplayCountArg, NULL, 0);
- }
-
- else
- {
- DisplayCount = ACPI_UINT32_MAX;
- }
-
- AcpiDbSetOutputDestination (DB_DUPLICATE_OUTPUT);
- AcpiOsPrintf ("Objects of type [%s] defined in the current ACPI Namespace: \n", AcpiCmGetTypeName (Type));
-
- AcpiDbSetOutputDestination (DB_REDIRECTABLE_OUTPUT);
-
- /* Walk the namespace from the root */
-
- AcpiWalkNamespace (Type, ACPI_ROOT_OBJECT, ACPI_UINT32_MAX,
- AcpiDbWalkForSpecificObjects, (void *) &Type, NULL);
-
- AcpiDbSetOutputDestination (DB_CONSOLE_OUTPUT);
- return (AE_OK);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbWalkAndMatchName
- *
- * PARAMETERS: Callback from WalkNamespace
- *
- * RETURN: Status
- *
- * DESCRIPTION: Find a particular name/names within the namespace. Wildcards
- * are supported -- '?' matches any character.
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiDbWalkAndMatchName (
- ACPI_HANDLE ObjHandle,
- UINT32 NestingLevel,
- void *Context,
- void **ReturnValue)
-{
- ACPI_OPERAND_OBJECT *ObjDesc;
- ACPI_STATUS Status;
- NATIVE_CHAR *RequestedName = (NATIVE_CHAR *) Context;
- UINT32 i;
- UINT32 BufSize;
- NATIVE_CHAR Buffer[96];
-
-
- ObjDesc = ((ACPI_NAMESPACE_NODE *)ObjHandle)->Object;
-
-
- /* Check for a name match */
-
- for (i = 0; i < 4; i++)
- {
- /* Wildcard support */
-
- if ((RequestedName[i] != '?') &&
- (RequestedName[i] != ((NATIVE_CHAR *) (&((ACPI_NAMESPACE_NODE *) ObjHandle)->Name))[i]))
- {
- /* No match, just exit */
-
- return (AE_OK);
- }
- }
-
-
- /* Get the full pathname to this object */
-
- BufSize = sizeof (Buffer) / sizeof (*Buffer);
-
- Status = AcpiNsHandleToPathname (ObjHandle, &BufSize, Buffer);
- if (ACPI_FAILURE (Status))
- {
- AcpiOsPrintf ("Could Not get pathname for object %p\n", ObjHandle);
- }
-
- else
- {
- AcpiOsPrintf ("%32s (%p) - %s\n", Buffer, ObjHandle,
- AcpiCmGetTypeName (((ACPI_NAMESPACE_NODE *) ObjHandle)->Type));
- }
-
- return (AE_OK);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbFindNameInNamespace
- *
- * PARAMETERS: NameArg - The 4-character ACPI name to find.
- * wildcards are supported.
- *
- * RETURN: None
- *
- * DESCRIPTION: Search the namespace for a given name (with wildcards)
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiDbFindNameInNamespace (
- NATIVE_CHAR *NameArg)
-{
-
- if (STRLEN (NameArg) > 4)
- {
- AcpiOsPrintf ("Name must be no longer than 4 characters\n");
- return (AE_OK);
- }
-
- /* Walk the namespace from the root */
-
- AcpiWalkNamespace (ACPI_TYPE_ANY, ACPI_ROOT_OBJECT, ACPI_UINT32_MAX,
- AcpiDbWalkAndMatchName, NameArg, NULL);
-
- AcpiDbSetOutputDestination (DB_CONSOLE_OUTPUT);
- return (AE_OK);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbSetScope
- *
- * PARAMETERS: Name - New scope path
- *
- * RETURN: Status
- *
- * DESCRIPTION: Set the "current scope" as maintained by this utility.
- * The scope is used as a prefix to ACPI paths.
- *
- ******************************************************************************/
-
-void
-AcpiDbSetScope (
- NATIVE_CHAR *Name)
-{
-
- if (!Name || Name[0] == 0)
- {
- AcpiOsPrintf ("Current scope: %s\n", ScopeBuf);
- return;
- }
-
- AcpiDbPrepNamestring (Name);
-
- /* TBD: [Future] Validate scope here */
-
- if (Name[0] == '\\')
- {
- STRCPY (ScopeBuf, Name);
- STRCAT (ScopeBuf, "\\");
- }
-
- else
- {
- STRCAT (ScopeBuf, Name);
- STRCAT (ScopeBuf, "\\");
- }
-
- AcpiOsPrintf ("New scope: %s\n", ScopeBuf);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDisplayResources
- *
- * PARAMETERS: ObjectArg - String with hex value of the object
- *
- * RETURN: None
- *
- * DESCRIPTION:
- *
- ******************************************************************************/
-
-void
-AcpiDbDisplayResources (
- NATIVE_CHAR *ObjectArg)
-{
- ACPI_OPERAND_OBJECT *ObjDesc;
- ACPI_STATUS Status;
- ACPI_BUFFER ReturnObj;
- PCI_ROUTING_TABLE *Prt;
- UINT32 i;
-
-
- AcpiDbSetOutputDestination (DB_REDIRECTABLE_OUTPUT);
-
- /* Convert string to object pointer */
-
- ObjDesc = (ACPI_OPERAND_OBJECT *) STRTOUL (ObjectArg, NULL, 16);
-
- /* Prepare for a return object of arbitrary size */
-
- ReturnObj.Pointer = Buffer;
- ReturnObj.Length = BUFFER_SIZE;
-
- Status = AcpiEvaluateObject (ObjDesc, "_PRT", NULL, &ReturnObj);
- if (ACPI_FAILURE (Status))
- {
- AcpiOsPrintf ("Could not obtain _PRT: %s\n", AcpiCmFormatException (Status));
- goto Cleanup;
- }
-
- ReturnObj.Pointer = Buffer;
- ReturnObj.Length = BUFFER_SIZE;
-
- Status = AcpiGetIrqRoutingTable (ObjDesc, &ReturnObj);
- if (ACPI_FAILURE (Status))
- {
- AcpiOsPrintf ("GetIrqRoutingTable failed: %s\n", AcpiCmFormatException (Status));
- goto Cleanup;
- }
-
- Prt = (PCI_ROUTING_TABLE *) Buffer;
- i = 0;
- while ((char *) Prt < (Buffer + ReturnObj.Length))
- {
- AcpiOsPrintf ("Prt[%d] Src=%s: Addr=%X\n", i, Prt->Source, Prt->Address);
- i++;
- Prt = (PCI_ROUTING_TABLE *) (((char *) Prt) + Prt->Length);
- }
-
-Cleanup:
-
- AcpiDbSetOutputDestination (DB_CONSOLE_OUTPUT);
- return;
-
-}
-
-
-
-
-
-#endif /* ENABLE_DEBUGGER */
diff --git a/sys/contrib/dev/acpica/Subsystem/Debugger/dbdisasm.c b/sys/contrib/dev/acpica/Subsystem/Debugger/dbdisasm.c
deleted file mode 100644
index 8d3f7db67791..000000000000
--- a/sys/contrib/dev/acpica/Subsystem/Debugger/dbdisasm.c
+++ /dev/null
@@ -1,823 +0,0 @@
-/*******************************************************************************
- *
- * Module Name: dbdisasm - parser op tree display routines
- * $Revision: 37 $
- *
- ******************************************************************************/
-
-/******************************************************************************
- *
- * 1. Copyright Notice
- *
- * Some or all of this work - Copyright (c) 1999, 2000, 2001, Intel Corp.
- * All rights reserved.
- *
- * 2. License
- *
- * 2.1. This is your license from Intel Corp. under its intellectual property
- * rights. You may have additional license terms from the party that provided
- * you this software, covering your right to use that party's intellectual
- * property rights.
- *
- * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
- * copy of the source code appearing in this file ("Covered Code") an
- * irrevocable, perpetual, worldwide license under Intel's copyrights in the
- * base code distributed originally by Intel ("Original Intel Code") to copy,
- * make derivatives, distribute, use and display any portion of the Covered
- * Code in any form, with the right to sublicense such rights; and
- *
- * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
- * license (with the right to sublicense), under only those claims of Intel
- * patents that are infringed by the Original Intel Code, to make, use, sell,
- * offer to sell, and import the Covered Code and derivative works thereof
- * solely to the minimum extent necessary to exercise the above copyright
- * license, and in no event shall the patent license extend to any additions
- * to or modifications of the Original Intel Code. No other license or right
- * is granted directly or by implication, estoppel or otherwise;
- *
- * The above copyright and patent license is granted only if the following
- * conditions are met:
- *
- * 3. Conditions
- *
- * 3.1. Redistribution of Source with Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification with rights to further distribute source must include
- * the above Copyright Notice, the above License, this list of Conditions,
- * and the following Disclaimer and Export Compliance provision. In addition,
- * Licensee must cause all Covered Code to which Licensee contributes to
- * contain a file documenting the changes Licensee made to create that Covered
- * Code and the date of any change. Licensee must include in that file the
- * documentation of any changes made by any predecessor Licensee. Licensee
- * must include a prominent statement that the modification is derived,
- * directly or indirectly, from Original Intel Code.
- *
- * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification without rights to further distribute source must
- * include the following Disclaimer and Export Compliance provision in the
- * documentation and/or other materials provided with distribution. In
- * addition, Licensee may not authorize further sublicense of source of any
- * portion of the Covered Code, and must include terms to the effect that the
- * license from Licensee to its licensee is limited to the intellectual
- * property embodied in the software Licensee provides to its licensee, and
- * not to intellectual property embodied in modifications its licensee may
- * make.
- *
- * 3.3. Redistribution of Executable. Redistribution in executable form of any
- * substantial portion of the Covered Code or modification must reproduce the
- * above Copyright Notice, and the following Disclaimer and Export Compliance
- * provision in the documentation and/or other materials provided with the
- * distribution.
- *
- * 3.4. Intel retains all right, title, and interest in and to the Original
- * Intel Code.
- *
- * 3.5. Neither the name Intel nor any other trademark owned or controlled by
- * Intel shall be used in advertising or otherwise to promote the sale, use or
- * other dealings in products derived from or relating to the Covered Code
- * without prior written authorization from Intel.
- *
- * 4. Disclaimer and Export Compliance
- *
- * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
- * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
- * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
- * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
- * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
- * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
- * PARTICULAR PURPOSE.
- *
- * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
- * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
- * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
- * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
- * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
- * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
- * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
- * LIMITED REMEDY.
- *
- * 4.3. Licensee shall not export, either directly or indirectly, any of this
- * software or system incorporating such software without first obtaining any
- * required license or other approval from the U. S. Department of Commerce or
- * any other agency or department of the United States Government. In the
- * event Licensee exports any such software from the United States or
- * re-exports any such software from a foreign destination, Licensee shall
- * ensure that the distribution and export/re-export of the software is in
- * compliance with all laws, regulations, orders, or other restrictions of the
- * U.S. Export Administration Regulations. Licensee agrees that neither it nor
- * any of its subsidiaries will export/re-export any technical data, process,
- * software, or service, directly or indirectly, to any country for which the
- * United States government or any agency thereof requires an export license,
- * other governmental approval, or letter of assurance, without first obtaining
- * such license, approval or letter.
- *
- *****************************************************************************/
-
-
-#include "acpi.h"
-#include "acparser.h"
-#include "amlcode.h"
-#include "acnamesp.h"
-#include "acdebug.h"
-
-
-#ifdef ENABLE_DEBUGGER
-
-#define _COMPONENT DEBUGGER
- MODULE_NAME ("dbdisasm")
-
-
-#define MAX_SHOW_ENTRY 128
-#define BLOCK_PAREN 1
-#define BLOCK_BRACE 2
-#define DB_NO_OP_INFO " [%2.2d] "
-#define DB_FULL_OP_INFO "%5.5X #%4.4X [%2.2d] "
-
-
-NATIVE_CHAR *INDENT_STRING = "....";
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbBlockType
- *
- * PARAMETERS: Op - Object to be examined
- *
- * RETURN: Status
- *
- * DESCRIPTION: Type of block for this op (parens or braces)
- *
- ******************************************************************************/
-
-UINT32
-AcpiDbBlockType (
- ACPI_PARSE_OBJECT *Op)
-{
-
- switch (Op->Opcode)
- {
- case AML_METHOD_OP:
- return (BLOCK_BRACE);
- break;
-
- default:
- break;
- }
-
- return (BLOCK_PAREN);
-
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiPsDisplayObjectPathname
- *
- * PARAMETERS: Op - Object whose pathname is to be obtained
- *
- * RETURN: Status
- *
- * DESCRIPTION: Diplay the pathname associated with a named object. Two
- * versions. One searches the parse tree (for parser-only
- * applications suchas AcpiDump), and the other searches the
- * ACPI namespace (the parse tree is probably deleted)
- *
- ******************************************************************************/
-
-#ifdef PARSER_ONLY
-
-ACPI_STATUS
-AcpiPsDisplayObjectPathname (
- ACPI_PARSE_OBJECT *Op)
-{
- ACPI_PARSE_OBJECT *TargetOp;
-
-
- /* Search parent tree up to the root if necessary */
-
- TargetOp = AcpiPsFind (Op, Op->Value.Name, 0, 0);
- if (!TargetOp)
- {
- /*
- * Didn't find the name in the parse tree. This may be
- * a problem, or it may simply be one of the predefined names
- * (such as _OS_). Rather than worry about looking up all
- * the predefined names, just display the name as given
- */
-
- AcpiOsPrintf (" **** Path not found in parse tree");
- }
-
- else
- {
- /* The target was found, print the name and complete path */
-
- AcpiOsPrintf (" (Path ");
- AcpiDbDisplayPath (TargetOp);
- AcpiOsPrintf (")");
- }
-
- return (AE_OK);
-}
-
-#else
-
-ACPI_STATUS
-AcpiPsDisplayObjectPathname (
- ACPI_PARSE_OBJECT *Op)
-{
- ACPI_STATUS Status;
- ACPI_NAMESPACE_NODE *Node;
- NATIVE_CHAR Buffer[MAX_SHOW_ENTRY];
- UINT32 BufferSize = MAX_SHOW_ENTRY;
-
-
- AcpiOsPrintf (" (Path ");
-
- /* Just get the Node out of the Op object */
-
- Node = Op->Node;
- if (!Node)
- {
- /*
- * No Named obj, so we can't get the pathname since the object
- * is not in the namespace. This can happen during single
- * stepping where a dynamic named object is *about* to be created.
- */
- return (AE_OK);
- }
-
- /* Convert NamedDesc/handle to a full pathname */
-
- Status = AcpiNsHandleToPathname (Node, &BufferSize, Buffer);
- if (ACPI_FAILURE (Status))
- {
- AcpiOsPrintf ("****Could not get pathname****)");
- return (Status);
- }
-
- AcpiOsPrintf ("%s)", Buffer);
- return (AE_OK);
-}
-
-#endif
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDisplayOp
- *
- * PARAMETERS: Origin - Starting object
- * NumOpcodes - Max number of opcodes to be displayed
- *
- * RETURN: None
- *
- * DESCRIPTION: Display parser object and its children
- *
- ******************************************************************************/
-
-void
-AcpiDbDisplayOp (
- ACPI_WALK_STATE *WalkState,
- ACPI_PARSE_OBJECT *Origin,
- UINT32 NumOpcodes)
-{
- ACPI_PARSE_OBJECT *Op = Origin;
- ACPI_PARSE_OBJECT *arg;
- ACPI_PARSE_OBJECT *depth;
- UINT32 DepthCount = 0;
- UINT32 LastDepth = 0;
- UINT32 i;
- UINT32 j;
-
-
- if (Op)
- {
- while (Op)
- {
- /* indentation */
-
- DepthCount = 0;
- if (!opt_verbose)
- {
- DepthCount++;
- }
-
- /* Determine the nesting depth of this argument */
-
- for (depth = Op->Parent; depth; depth = depth->Parent)
- {
- arg = AcpiPsGetArg (depth, 0);
- while (arg && arg != Origin)
- {
- arg = arg->Next;
- }
-
- if (arg)
- {
- break;
- }
-
- DepthCount++;
- }
-
-
- /* Open a new block if we are nested further than last time */
-
- if (DepthCount > LastDepth)
- {
- VERBOSE_PRINT ((DB_NO_OP_INFO, LastDepth));
- for (i = 0; i < LastDepth; i++)
- {
- AcpiOsPrintf (INDENT_STRING);
- }
-
- if (AcpiDbBlockType (Op) == BLOCK_PAREN)
- AcpiOsPrintf ("(\n");
- else
- AcpiOsPrintf ("{\n");
- }
-
- /* Close a block if we are nested less than last time */
-
- else if (DepthCount < LastDepth)
- {
- for (j = 0; j < (LastDepth - DepthCount); j++)
- {
- VERBOSE_PRINT ((DB_NO_OP_INFO, LastDepth - j));
- for (i = 0; i < (LastDepth - j - 1); i++)
- {
- AcpiOsPrintf (INDENT_STRING);
- }
-
- if (AcpiDbBlockType (Op) == BLOCK_PAREN)
- AcpiOsPrintf (")\n");
- else
- AcpiOsPrintf ("}\n");
- }
- }
-
- /* In verbose mode, print the AML offset, opcode and depth count */
-
- VERBOSE_PRINT ((DB_FULL_OP_INFO, (unsigned) Op->AmlOffset, Op->Opcode, DepthCount));
-
-
- /* Indent the output according to the depth count */
-
- for (i = 0; i < DepthCount; i++)
- {
- AcpiOsPrintf (INDENT_STRING);
- }
-
-
- /* Now print the opcode */
-
- AcpiDbDisplayOpcode (WalkState, Op);
-
- /* Resolve a name reference */
-
- if ((Op->Opcode == AML_NAMEPATH_OP && Op->Value.Name) &&
- (Op->Parent) &&
- (opt_verbose))
- {
- AcpiPsDisplayObjectPathname (Op);
- }
-
- AcpiOsPrintf ("\n");
-
- /* Get the next node in the tree */
-
- Op = AcpiPsGetDepthNext (Origin, Op);
- LastDepth = DepthCount;
-
- NumOpcodes--;
- if (!NumOpcodes)
- {
- Op = NULL;
- }
- }
-
- /* Close the last block(s) */
-
- DepthCount = LastDepth -1;
- for (i = 0; i < LastDepth; i++)
- {
- VERBOSE_PRINT ((DB_NO_OP_INFO, LastDepth - i));
- for (j = 0; j < DepthCount; j++)
- {
- AcpiOsPrintf (INDENT_STRING);
- }
- AcpiOsPrintf ("}\n");
- DepthCount--;
- }
-
- }
-
- else
- {
- AcpiDbDisplayOpcode (WalkState, Op);
- }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDisplayNamestring
- *
- * PARAMETERS: Name - ACPI Name string to store
- *
- * RETURN: None
- *
- * DESCRIPTION: Display namestring. Handles prefix characters
- *
- ******************************************************************************/
-
-void
-AcpiDbDisplayNamestring (
- NATIVE_CHAR *Name)
-{
- UINT32 SegCount;
- BOOLEAN DoDot = FALSE;
-
-
- if (!Name)
- {
- AcpiOsPrintf ("<NULL NAME PTR>");
- return;
- }
-
- if (AcpiPsIsPrefixChar (GET8 (Name)))
- {
- /* append prefix character */
-
- AcpiOsPrintf ("%1c", GET8 (Name));
- Name++;
- }
-
- switch (GET8 (Name))
- {
- case AML_DUAL_NAME_PREFIX:
- SegCount = 2;
- Name++;
- break;
-
- case AML_MULTI_NAME_PREFIX_OP:
- SegCount = (UINT32) GET8 (Name + 1);
- Name += 2;
- break;
-
- default:
- SegCount = 1;
- break;
- }
-
- while (SegCount--)
- {
- /* append Name segment */
-
- if (DoDot)
- {
- /* append dot */
-
- AcpiOsPrintf (".");
- }
-
- AcpiOsPrintf ("%4.4s", Name);
- DoDot = TRUE;
-
- Name += 4;
- }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDisplayPath
- *
- * PARAMETERS: Op - Named Op whose path is to be constructed
- *
- * RETURN: None
- *
- * DESCRIPTION: Walk backwards from current scope and display the name
- * of each previous level of scope up to the root scope
- * (like "pwd" does with file systems)
- *
- ******************************************************************************/
-
-void
-AcpiDbDisplayPath (
- ACPI_PARSE_OBJECT *Op)
-{
- ACPI_PARSE_OBJECT *Prev;
- ACPI_PARSE_OBJECT *Search;
- UINT32 Name;
- BOOLEAN DoDot = FALSE;
- ACPI_PARSE_OBJECT *NamePath;
-
-
- /* We are only interested in named objects */
-
- if (!AcpiPsIsNodeOp (Op->Opcode))
- {
- return;
- }
-
-
- if (AcpiPsIsCreateFieldOp (Op->Opcode))
- {
- /* Field creation - check for a fully qualified namepath */
-
- if (Op->Opcode == AML_CREATE_FIELD_OP)
- {
- NamePath = AcpiPsGetArg (Op, 3);
- }
- else
- {
- NamePath = AcpiPsGetArg (Op, 2);
- }
-
- if ((NamePath) &&
- (NamePath->Value.String) &&
- (NamePath->Value.String[0] == '\\'))
- {
- AcpiDbDisplayNamestring (NamePath->Value.String);
- return;
- }
- }
-
- Prev = NULL; /* Start with Root Node */
-
- while (Prev != Op)
- {
- /* Search upwards in the tree to find scope with "prev" as its parent */
-
- Search = Op;
- for (; ;)
- {
- if (Search->Parent == Prev)
- {
- break;
- }
-
- /* Go up one level */
-
- Search = Search->Parent;
- }
-
- if (Prev && !AcpiPsIsFieldOp (Search->Opcode))
- {
- /* below root scope, append scope name */
-
- if (DoDot)
- {
- /* append dot */
-
- AcpiOsPrintf (".");
- }
-
- if (AcpiPsIsCreateFieldOp (Search->Opcode))
- {
- if (Op->Opcode == AML_CREATE_FIELD_OP)
- {
- NamePath = AcpiPsGetArg (Op, 3);
- }
- else
- {
- NamePath = AcpiPsGetArg (Op, 2);
- }
-
- if ((NamePath) &&
- (NamePath->Value.String))
- {
- AcpiOsPrintf ("%4.4s", NamePath->Value.String);
- }
- }
-
- else
- {
- Name = AcpiPsGetName (Search);
- AcpiOsPrintf ("%4.4s", &Name);
- }
-
- DoDot = TRUE;
- }
-
- Prev = Search;
- }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDisplayOpcode
- *
- * PARAMETERS: Op - Op that is to be printed
- *
- * RETURN: Status
- *
- * DESCRIPTION: Store printed op in a Buffer and return its length
- * (or -1 if out of space)
- *
- * NOTE: Terse mode prints out ASL-like code. Verbose mode adds more info.
- *
- ******************************************************************************/
-
-void
-AcpiDbDisplayOpcode (
- ACPI_WALK_STATE *WalkState,
- ACPI_PARSE_OBJECT *Op)
-{
- UINT8 *ByteData;
- UINT32 ByteCount;
- UINT32 i;
- ACPI_OPCODE_INFO *Opc = NULL;
- UINT32 Name;
-
-
- if (!Op)
- {
- AcpiOsPrintf ("<NULL OP PTR>");
- }
-
-
- /* op and arguments */
-
- switch (Op->Opcode)
- {
-
- case AML_BYTE_OP:
-
- if (opt_verbose)
- {
- AcpiOsPrintf ("(UINT8) 0x%2.2X", Op->Value.Integer & ACPI_UINT8_MAX);
- }
-
- else
- {
- AcpiOsPrintf ("0x%2.2X", Op->Value.Integer & ACPI_UINT8_MAX);
- }
-
- break;
-
-
- case AML_WORD_OP:
-
- if (opt_verbose)
- {
- AcpiOsPrintf ("(UINT16) 0x%4.4X", Op->Value.Integer & ACPI_UINT16_MAX);
- }
-
- else
- {
- AcpiOsPrintf ("0x%4.4X", Op->Value.Integer & ACPI_UINT16_MAX);
- }
-
- break;
-
-
- case AML_DWORD_OP:
-
- if (opt_verbose)
- {
- AcpiOsPrintf ("(UINT32) 0x%8.8X", Op->Value.Integer);
- }
-
- else
- {
- AcpiOsPrintf ("0x%8.8X", Op->Value.Integer);
- }
-
- break;
-
-
- case AML_STRING_OP:
-
- if (Op->Value.String)
- {
- AcpiOsPrintf ("\"%s\"", Op->Value.String);
- }
-
- else
- {
- AcpiOsPrintf ("<\"NULL STRING PTR\">");
- }
-
- break;
-
-
- case AML_STATICSTRING_OP:
-
- if (Op->Value.String)
- {
- AcpiOsPrintf ("\"%s\"", Op->Value.String);
- }
-
- else
- {
- AcpiOsPrintf ("\"<NULL STATIC STRING PTR>\"");
- }
-
- break;
-
-
- case AML_NAMEPATH_OP:
-
- AcpiDbDisplayNamestring (Op->Value.Name);
- break;
-
-
- case AML_NAMEDFIELD_OP:
-
- AcpiOsPrintf ("NamedField (Length 0x%8.8X) ", Op->Value.Integer);
- break;
-
-
- case AML_RESERVEDFIELD_OP:
-
- AcpiOsPrintf ("ReservedField (Length 0x%8.8X) ", Op->Value.Integer);
- break;
-
-
- case AML_ACCESSFIELD_OP:
-
- AcpiOsPrintf ("AccessField (Length 0x%8.8X) ", Op->Value.Integer);
- break;
-
-
- case AML_BYTELIST_OP:
-
- if (opt_verbose)
- {
- AcpiOsPrintf ("ByteList (Length 0x%8.8X) ", Op->Value.Integer);
- }
-
- else
- {
- AcpiOsPrintf ("0x%2.2X", Op->Value.Integer);
-
- ByteCount = Op->Value.Integer;
- ByteData = ((ACPI_PARSE2_OBJECT *) Op)->Data;
-
- for (i = 0; i < ByteCount; i++)
- {
- AcpiOsPrintf (", 0x%2.2X", ByteData[i]);
- }
- }
-
- break;
-
-
- default:
-
- /* Just get the opcode name and print it */
-
- Opc = AcpiPsGetOpcodeInfo (Op->Opcode);
- AcpiOsPrintf ("%s", Opc->Name);
-
-
-#ifndef PARSER_ONLY
- if ((Op->Opcode == AML_RETURN_VALUE_OP) &&
- (WalkState->Results) &&
- (WalkState->Results->Results.NumResults))
- {
- AcpiDbDecodeInternalObject (WalkState->Results->Results.ObjDesc [WalkState->Results->Results.NumResults-1]);
- }
-#endif
-
- break;
- }
-
-
- if (!Opc)
- {
- /* If there is another element in the list, add a comma */
-
- if (Op->Next)
- {
- AcpiOsPrintf (",");
- }
- }
-
-
- /*
- * If this is a named opcode, print the associated name value
- */
-
- if (Op && AcpiPsIsNamedOp (Op->Opcode))
- {
- Name = AcpiPsGetName (Op);
- AcpiOsPrintf (" %4.4s", &Name);
-
- if (opt_verbose)
- {
- AcpiOsPrintf (" (Path \\");
- AcpiDbDisplayPath (Op);
- AcpiOsPrintf (")");
- }
- }
-}
-
-
-#endif /* ENABLE_DEBUGGER */
-
diff --git a/sys/contrib/dev/acpica/Subsystem/Debugger/dbdisply.c b/sys/contrib/dev/acpica/Subsystem/Debugger/dbdisply.c
deleted file mode 100644
index 3be6f933e11a..000000000000
--- a/sys/contrib/dev/acpica/Subsystem/Debugger/dbdisply.c
+++ /dev/null
@@ -1,931 +0,0 @@
-/*******************************************************************************
- *
- * Module Name: dbdisply - debug display commands
- * $Revision: 41 $
- *
- ******************************************************************************/
-
-/******************************************************************************
- *
- * 1. Copyright Notice
- *
- * Some or all of this work - Copyright (c) 1999, 2000, 2001, Intel Corp.
- * All rights reserved.
- *
- * 2. License
- *
- * 2.1. This is your license from Intel Corp. under its intellectual property
- * rights. You may have additional license terms from the party that provided
- * you this software, covering your right to use that party's intellectual
- * property rights.
- *
- * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
- * copy of the source code appearing in this file ("Covered Code") an
- * irrevocable, perpetual, worldwide license under Intel's copyrights in the
- * base code distributed originally by Intel ("Original Intel Code") to copy,
- * make derivatives, distribute, use and display any portion of the Covered
- * Code in any form, with the right to sublicense such rights; and
- *
- * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
- * license (with the right to sublicense), under only those claims of Intel
- * patents that are infringed by the Original Intel Code, to make, use, sell,
- * offer to sell, and import the Covered Code and derivative works thereof
- * solely to the minimum extent necessary to exercise the above copyright
- * license, and in no event shall the patent license extend to any additions
- * to or modifications of the Original Intel Code. No other license or right
- * is granted directly or by implication, estoppel or otherwise;
- *
- * The above copyright and patent license is granted only if the following
- * conditions are met:
- *
- * 3. Conditions
- *
- * 3.1. Redistribution of Source with Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification with rights to further distribute source must include
- * the above Copyright Notice, the above License, this list of Conditions,
- * and the following Disclaimer and Export Compliance provision. In addition,
- * Licensee must cause all Covered Code to which Licensee contributes to
- * contain a file documenting the changes Licensee made to create that Covered
- * Code and the date of any change. Licensee must include in that file the
- * documentation of any changes made by any predecessor Licensee. Licensee
- * must include a prominent statement that the modification is derived,
- * directly or indirectly, from Original Intel Code.
- *
- * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification without rights to further distribute source must
- * include the following Disclaimer and Export Compliance provision in the
- * documentation and/or other materials provided with distribution. In
- * addition, Licensee may not authorize further sublicense of source of any
- * portion of the Covered Code, and must include terms to the effect that the
- * license from Licensee to its licensee is limited to the intellectual
- * property embodied in the software Licensee provides to its licensee, and
- * not to intellectual property embodied in modifications its licensee may
- * make.
- *
- * 3.3. Redistribution of Executable. Redistribution in executable form of any
- * substantial portion of the Covered Code or modification must reproduce the
- * above Copyright Notice, and the following Disclaimer and Export Compliance
- * provision in the documentation and/or other materials provided with the
- * distribution.
- *
- * 3.4. Intel retains all right, title, and interest in and to the Original
- * Intel Code.
- *
- * 3.5. Neither the name Intel nor any other trademark owned or controlled by
- * Intel shall be used in advertising or otherwise to promote the sale, use or
- * other dealings in products derived from or relating to the Covered Code
- * without prior written authorization from Intel.
- *
- * 4. Disclaimer and Export Compliance
- *
- * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
- * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
- * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
- * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
- * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
- * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
- * PARTICULAR PURPOSE.
- *
- * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
- * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
- * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
- * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
- * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
- * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
- * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
- * LIMITED REMEDY.
- *
- * 4.3. Licensee shall not export, either directly or indirectly, any of this
- * software or system incorporating such software without first obtaining any
- * required license or other approval from the U. S. Department of Commerce or
- * any other agency or department of the United States Government. In the
- * event Licensee exports any such software from the United States or
- * re-exports any such software from a foreign destination, Licensee shall
- * ensure that the distribution and export/re-export of the software is in
- * compliance with all laws, regulations, orders, or other restrictions of the
- * U.S. Export Administration Regulations. Licensee agrees that neither it nor
- * any of its subsidiaries will export/re-export any technical data, process,
- * software, or service, directly or indirectly, to any country for which the
- * United States government or any agency thereof requires an export license,
- * other governmental approval, or letter of assurance, without first obtaining
- * such license, approval or letter.
- *
- *****************************************************************************/
-
-
-#include "acpi.h"
-#include "acparser.h"
-#include "amlcode.h"
-#include "acdispat.h"
-#include "acnamesp.h"
-#include "acparser.h"
-#include "acevents.h"
-#include "acinterp.h"
-#include "acdebug.h"
-
-
-#ifdef ENABLE_DEBUGGER
-
-
-#define _COMPONENT DEBUGGER
- MODULE_NAME ("dbdisply")
-
-
-/******************************************************************************
- *
- * FUNCTION: AcpiDbGetPointer
- *
- * PARAMETERS: Target - Pointer to string to be converted
- *
- * RETURN: Converted pointer
- *
- * DESCRIPTION: Convert an ascii pointer value to a real value
- *
- *****************************************************************************/
-
-void *
-AcpiDbGetPointer (
- void *Target)
-{
- void *ObjPtr;
-
-
-#ifdef _IA16
-#include <stdio.h>
-
- /* Have to handle 16-bit pointers of the form segment:offset */
-
- if (!sscanf (Target, "%p", &ObjPtr))
- {
- AcpiOsPrintf ("Invalid pointer: %s\n", Target);
- return (NULL);
- }
-
-#else
-
- /* Simple flat pointer */
-
- ObjPtr = (void *) STRTOUL (Target, NULL, 16);
-
-#endif
-
- return (ObjPtr);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDumpParserDescriptor
- *
- * PARAMETERS: Op - A parser Op descriptor
- *
- * RETURN: None
- *
- * DESCRIPTION: Display a formatted parser object
- *
- ******************************************************************************/
-
-void
-AcpiDbDumpParserDescriptor (
- ACPI_PARSE_OBJECT *Op)
-{
- ACPI_OPCODE_INFO *Info;
-
-
- Info = AcpiPsGetOpcodeInfo (Op->Opcode);
-
- AcpiOsPrintf ("Parser Op Descriptor:\n");
- AcpiOsPrintf ("%20.20s : %4.4X\n", "Opcode", Op->Opcode);
-
- DEBUG_ONLY_MEMBERS (AcpiOsPrintf ("%20.20s : %s\n", "Opcode Name", Info->Name));
-
- AcpiOsPrintf ("%20.20s : %p\n", "Value/ArgList", Op->Value);
- AcpiOsPrintf ("%20.20s : %p\n", "Parent", Op->Parent);
- AcpiOsPrintf ("%20.20s : %p\n", "NextOp", Op->Next);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDecodeAndDisplayObject
- *
- * PARAMETERS: Target - String with object to be displayed. Names
- * and hex pointers are supported.
- * OutputType - Byte, Word, Dword, or Qword (B|W|D|Q)
- *
- * RETURN: None
- *
- * DESCRIPTION: Display a formatted ACPI object
- *
- ******************************************************************************/
-
-void
-AcpiDbDecodeAndDisplayObject (
- NATIVE_CHAR *Target,
- NATIVE_CHAR *OutputType)
-{
- void *ObjPtr;
- ACPI_NAMESPACE_NODE *Node;
- UINT32 Display = DB_BYTE_DISPLAY;
- NATIVE_CHAR Buffer[80];
- ACPI_BUFFER RetBuf;
- ACPI_STATUS Status;
- UINT32 Size;
-
-
- if (!Target)
- {
- return;
- }
-
- /* Decode the output type */
-
- if (OutputType)
- {
- STRUPR (OutputType);
- if (OutputType[0] == 'W')
- {
- Display = DB_WORD_DISPLAY;
- }
- else if (OutputType[0] == 'D')
- {
- Display = DB_DWORD_DISPLAY;
- }
- else if (OutputType[0] == 'Q')
- {
- Display = DB_QWORD_DISPLAY;
- }
- }
-
-
- RetBuf.Length = sizeof (Buffer);
- RetBuf.Pointer = Buffer;
-
- /* Differentiate between a number and a name */
-
- if ((Target[0] >= 0x30) && (Target[0] <= 0x39))
- {
- ObjPtr = AcpiDbGetPointer (Target);
- if (!AcpiOsReadable (ObjPtr, 16))
- {
- AcpiOsPrintf ("Address %p is invalid in this address space\n", ObjPtr);
- return;
- }
-
- /* Decode the object type */
-
- if (VALID_DESCRIPTOR_TYPE ((ObjPtr), ACPI_DESC_TYPE_NAMED))
- {
- /* This is a Node */
-
- if (!AcpiOsReadable (ObjPtr, sizeof (ACPI_NAMESPACE_NODE)))
- {
- AcpiOsPrintf ("Cannot read entire Named object at address %p\n", ObjPtr);
- return;
- }
-
- Node = ObjPtr;
- goto DumpNte;
- }
-
- else if (VALID_DESCRIPTOR_TYPE ((ObjPtr), ACPI_DESC_TYPE_INTERNAL))
- {
- /* This is an ACPI OBJECT */
-
- if (!AcpiOsReadable (ObjPtr, sizeof (ACPI_OPERAND_OBJECT)))
- {
- AcpiOsPrintf ("Cannot read entire ACPI object at address %p\n", ObjPtr);
- return;
- }
-
- AcpiCmDumpBuffer (ObjPtr, sizeof (ACPI_OPERAND_OBJECT), Display, ACPI_UINT32_MAX);
- AcpiAmlDumpObjectDescriptor (ObjPtr, 1);
- }
-
- else if (VALID_DESCRIPTOR_TYPE ((ObjPtr), ACPI_DESC_TYPE_PARSER))
- {
- /* This is an Parser Op object */
-
- if (!AcpiOsReadable (ObjPtr, sizeof (ACPI_PARSE_OBJECT)))
- {
- AcpiOsPrintf ("Cannot read entire Parser object at address %p\n", ObjPtr);
- return;
- }
-
-
- AcpiCmDumpBuffer (ObjPtr, sizeof (ACPI_PARSE_OBJECT), Display, ACPI_UINT32_MAX);
- AcpiDbDumpParserDescriptor ((ACPI_PARSE_OBJECT *) ObjPtr);
- }
-
- else
- {
- Size = 16;
- if (AcpiOsReadable (ObjPtr, 64))
- {
- Size = 64;
- }
-
- /* Just dump some memory */
-
- AcpiCmDumpBuffer (ObjPtr, Size, Display, ACPI_UINT32_MAX);
- }
-
- return;
- }
-
-
- /* The parameter is a name string that must be resolved to a Named obj */
-
- Node = AcpiDbLocalNsLookup (Target);
- if (!Node)
- {
- return;
- }
-
-
-DumpNte:
- /* Now dump the Named obj */
-
- Status = AcpiGetName (Node, ACPI_FULL_PATHNAME, &RetBuf);
- if (ACPI_FAILURE (Status))
- {
- AcpiOsPrintf ("Could not convert name to pathname\n");
- }
-
- else
- {
- AcpiOsPrintf ("Object Pathname: %s\n", RetBuf.Pointer);
- }
-
- if (!AcpiOsReadable (Node, sizeof (ACPI_NAMESPACE_NODE)))
- {
- AcpiOsPrintf ("Invalid Named object at address %p\n", Node);
- return;
- }
-
- AcpiCmDumpBuffer ((void *) Node, sizeof (ACPI_NAMESPACE_NODE), Display, ACPI_UINT32_MAX);
- AcpiAmlDumpNode (Node, 1);
-
- if (Node->Object)
- {
- AcpiOsPrintf ("\nAttached Object (%p):\n", Node->Object);
- if (!AcpiOsReadable (Node->Object, sizeof (ACPI_OPERAND_OBJECT)))
- {
- AcpiOsPrintf ("Invalid internal ACPI Object at address %p\n", Node->Object);
- return;
- }
-
- AcpiCmDumpBuffer (Node->Object, sizeof (ACPI_OPERAND_OBJECT), Display, ACPI_UINT32_MAX);
- AcpiAmlDumpObjectDescriptor (Node->Object, 1);
- }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDecodeInternalObject
- *
- * PARAMETERS: ObjDesc - Object to be displayed
- *
- * RETURN: None
- *
- * DESCRIPTION: Short display of an internal object. Numbers and Strings.
- *
- ******************************************************************************/
-
-void
-AcpiDbDecodeInternalObject (
- ACPI_OPERAND_OBJECT *ObjDesc)
-{
- UINT32 i;
-
-
- if (!ObjDesc)
- {
- return;
- }
-
- AcpiOsPrintf (" %s", AcpiCmGetTypeName (ObjDesc->Common.Type));
-
- switch (ObjDesc->Common.Type)
- {
- case ACPI_TYPE_INTEGER:
- AcpiOsPrintf (" %.8X", ObjDesc->Integer.Value);
- break;
-
- case ACPI_TYPE_STRING:
- AcpiOsPrintf ("(%d) \"%.16s\"...",
- ObjDesc->String.Length, ObjDesc->String.Pointer);
- break;
-
- case ACPI_TYPE_BUFFER:
- AcpiOsPrintf ("(%d)", ObjDesc->Buffer.Length);
- for (i = 0; (i < 8) && (i < ObjDesc->Buffer.Length); i++)
- {
- AcpiOsPrintf (" %2.2X", ObjDesc->Buffer.Pointer[i]);
- }
- break;
- }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDisplayInternalObject
- *
- * PARAMETERS: ObjDesc - Object to be displayed
- * WalkState - Current walk state
- *
- * RETURN: None
- *
- * DESCRIPTION: Short display of an internal object
- *
- ******************************************************************************/
-
-void
-AcpiDbDisplayInternalObject (
- ACPI_OPERAND_OBJECT *ObjDesc,
- ACPI_WALK_STATE *WalkState)
-{
- UINT8 Type;
-
-
- AcpiOsPrintf ("%p ", ObjDesc);
-
- if (!ObjDesc)
- {
- AcpiOsPrintf ("<NullObj>\n");
- return;
- }
-
-
- /* Decode the object type */
-
- else if (VALID_DESCRIPTOR_TYPE (ObjDesc, ACPI_DESC_TYPE_PARSER))
- {
- AcpiOsPrintf ("<Parser> ");
- }
-
- else if (VALID_DESCRIPTOR_TYPE (ObjDesc, ACPI_DESC_TYPE_NAMED))
- {
- AcpiOsPrintf ("<Node> Name %4.4s Type-%s",
- &((ACPI_NAMESPACE_NODE *)ObjDesc)->Name,
- AcpiCmGetTypeName (((ACPI_NAMESPACE_NODE *) ObjDesc)->Type));
- if (((ACPI_NAMESPACE_NODE *) ObjDesc)->Flags & ANOBJ_METHOD_ARG)
- {
- AcpiOsPrintf (" [Method Arg]");
- }
- if (((ACPI_NAMESPACE_NODE *) ObjDesc)->Flags & ANOBJ_METHOD_LOCAL)
- {
- AcpiOsPrintf (" [Method Local]");
- }
- }
-
- else if (VALID_DESCRIPTOR_TYPE (ObjDesc, ACPI_DESC_TYPE_INTERNAL))
- {
- AcpiOsPrintf ("<Obj> ");
- Type = ObjDesc->Common.Type;
- if (Type > INTERNAL_TYPE_MAX)
- {
- AcpiOsPrintf (" Type %x [Invalid Type]", Type);
- return;
- }
-
- /* Decode the ACPI object type */
-
- switch (ObjDesc->Common.Type)
- {
- case INTERNAL_TYPE_REFERENCE:
- switch (ObjDesc->Reference.OpCode)
- {
- case AML_ZERO_OP:
- AcpiOsPrintf ("[Const] Number %.8X", 0);
- break;
-
- case AML_ONES_OP:
- AcpiOsPrintf ("[Const] Number %.8X", ACPI_UINT32_MAX);
- break;
-
- case AML_ONE_OP:
- AcpiOsPrintf ("[Const] Number %.8X", 1);
- break;
-
- case AML_LOCAL_OP:
- AcpiOsPrintf ("[Local%d] ", ObjDesc->Reference.Offset);
- if (WalkState)
- {
- ObjDesc = WalkState->LocalVariables[ObjDesc->Reference.Offset].Object;
- AcpiDbDecodeInternalObject (ObjDesc);
- }
- break;
-
- case AML_ARG_OP:
- AcpiOsPrintf ("[Arg%d] ", ObjDesc->Reference.Offset);
- if (WalkState)
- {
- ObjDesc = WalkState->Arguments[ObjDesc->Reference.Offset].Object;
- AcpiDbDecodeInternalObject (ObjDesc);
- }
- break;
-
- case AML_DEBUG_OP:
- AcpiOsPrintf ("[Debug] ");
- break;
-
- case AML_INDEX_OP:
- AcpiOsPrintf ("[Index] ");
- AcpiDbDecodeInternalObject (ObjDesc->Reference.Object);
- break;
-
- default:
- break;
-
- }
- break;
-
- default:
- AcpiOsPrintf (" ");
- AcpiDbDecodeInternalObject (ObjDesc);
- break;
- }
- }
-
- else
- {
- AcpiOsPrintf ("<Not a valid ACPI Object Descriptor> ");
- }
-
- AcpiOsPrintf ("\n");
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDisplayMethodInfo
- *
- * PARAMETERS: StartOp - Root of the control method parse tree
- *
- * RETURN: None
- *
- * DESCRIPTION: Display information about the current method
- *
- ******************************************************************************/
-
-void
-AcpiDbDisplayMethodInfo (
- ACPI_PARSE_OBJECT *StartOp)
-{
- ACPI_WALK_STATE *WalkState;
- ACPI_OPERAND_OBJECT *ObjDesc;
- ACPI_NAMESPACE_NODE *Node;
- ACPI_PARSE_OBJECT *RootOp;
- ACPI_PARSE_OBJECT *Op;
- ACPI_OPCODE_INFO *OpInfo;
- UINT32 NumOps = 0;
- UINT32 NumOperands = 0;
- UINT32 NumOperators = 0;
- UINT32 NumRemainingOps = 0;
- UINT32 NumRemainingOperands = 0;
- UINT32 NumRemainingOperators = 0;
- UINT32 NumArgs;
- UINT32 Concurrency;
- BOOLEAN CountRemaining = FALSE;
-
-
- WalkState = AcpiDsGetCurrentWalkState (AcpiGbl_CurrentWalkList);
- if (!WalkState)
- {
- AcpiOsPrintf ("There is no method currently executing\n");
- return;
- }
-
- ObjDesc = WalkState->MethodDesc;
- Node = WalkState->MethodNode;
-
- NumArgs = ObjDesc->Method.ParamCount;
- Concurrency = ObjDesc->Method.Concurrency;
-
- AcpiOsPrintf ("Currently executing control method is [%4.4s]\n", &Node->Name);
- AcpiOsPrintf ("%X arguments, max concurrency = %X\n", NumArgs, Concurrency);
-
-
- RootOp = StartOp;
- while (RootOp->Parent)
- {
- RootOp = RootOp->Parent;
- }
-
- Op = RootOp;
-
- while (Op)
- {
- if (Op == StartOp)
- {
- CountRemaining = TRUE;
- }
-
- NumOps++;
- if (CountRemaining)
- {
- NumRemainingOps++;
- }
-
- OpInfo = AcpiPsGetOpcodeInfo (Op->Opcode);
- if (ACPI_GET_OP_TYPE (OpInfo) != ACPI_OP_TYPE_OPCODE)
- {
- /* Bad opcode or ASCII character */
-
- continue;
- }
-
-
- /* Decode the opcode */
-
- switch (ACPI_GET_OP_CLASS (OpInfo))
- {
- case OPTYPE_CONSTANT: /* argument type only */
- case OPTYPE_LITERAL: /* argument type only */
- case OPTYPE_DATA_TERM: /* argument type only */
- case OPTYPE_LOCAL_VARIABLE: /* argument type only */
- case OPTYPE_METHOD_ARGUMENT: /* argument type only */
- if (CountRemaining)
- {
- NumRemainingOperands++;
- }
-
- NumOperands++;
- break;
-
- default:
- if (CountRemaining)
- {
- NumRemainingOperators++;
- }
-
- NumOperators++;
- break;
- }
-
-
- Op = AcpiPsGetDepthNext (StartOp, Op);
- }
-
- AcpiOsPrintf ("Method contains: %X AML Opcodes - %X Operators, %X Operands\n",
- NumOps, NumOperators, NumOperands);
-
- AcpiOsPrintf ("Remaining to execute: %X AML Opcodes - %X Operators, %X Operands\n",
- NumRemainingOps, NumRemainingOperators, NumRemainingOperands);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDisplayLocals
- *
- * PARAMETERS: None
- *
- * RETURN: None
- *
- * DESCRIPTION: Display all locals for the currently running control method
- *
- ******************************************************************************/
-
-void
-AcpiDbDisplayLocals (void)
-{
- UINT32 i;
- ACPI_WALK_STATE *WalkState;
- ACPI_OPERAND_OBJECT *ObjDesc;
- ACPI_NAMESPACE_NODE *Node;
-
-
- WalkState = AcpiDsGetCurrentWalkState (AcpiGbl_CurrentWalkList);
- if (!WalkState)
- {
- AcpiOsPrintf ("There is no method currently executing\n");
- return;
- }
-
- ObjDesc = WalkState->MethodDesc;
- Node = WalkState->MethodNode;
-
-
- AcpiOsPrintf ("Local Variables for method [%4.4s]:\n", &Node->Name);
-
- for (i = 0; i < MTH_NUM_LOCALS; i++)
- {
- ObjDesc = WalkState->LocalVariables[i].Object;
- AcpiOsPrintf ("Local%d: ", i);
- AcpiDbDisplayInternalObject (ObjDesc, WalkState);
- }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDisplayArguments
- *
- * PARAMETERS: None
- *
- * RETURN: None
- *
- * DESCRIPTION: Display all arguments for the currently running control method
- *
- ******************************************************************************/
-
-void
-AcpiDbDisplayArguments (void)
-{
- UINT32 i;
- ACPI_WALK_STATE *WalkState;
- ACPI_OPERAND_OBJECT *ObjDesc;
- UINT32 NumArgs;
- UINT32 Concurrency;
- ACPI_NAMESPACE_NODE *Node;
-
-
- WalkState = AcpiDsGetCurrentWalkState (AcpiGbl_CurrentWalkList);
- if (!WalkState)
- {
- AcpiOsPrintf ("There is no method currently executing\n");
- return;
- }
-
- ObjDesc = WalkState->MethodDesc;
- Node = WalkState->MethodNode;
-
- NumArgs = ObjDesc->Method.ParamCount;
- Concurrency = ObjDesc->Method.Concurrency;
-
- AcpiOsPrintf ("Method [%4.4s] has %X arguments, max concurrency = %X\n", &Node->Name, NumArgs, Concurrency);
-
- for (i = 0; i < NumArgs; i++)
- {
- ObjDesc = WalkState->Arguments[i].Object;
- AcpiOsPrintf ("Arg%d: ", i);
- AcpiDbDisplayInternalObject (ObjDesc, WalkState);
- }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDisplayResults
- *
- * PARAMETERS: None
- *
- * RETURN: None
- *
- * DESCRIPTION: Display current contents of a method result stack
- *
- ******************************************************************************/
-
-void
-AcpiDbDisplayResults (void)
-{
- UINT32 i;
- ACPI_WALK_STATE *WalkState;
- ACPI_OPERAND_OBJECT *ObjDesc;
- UINT32 NumResults = 0;
- ACPI_NAMESPACE_NODE *Node;
-
-
- WalkState = AcpiDsGetCurrentWalkState (AcpiGbl_CurrentWalkList);
- if (!WalkState)
- {
- AcpiOsPrintf ("There is no method currently executing\n");
- return;
- }
-
- ObjDesc = WalkState->MethodDesc;
- Node = WalkState->MethodNode;
-
- if (WalkState->Results)
- {
- NumResults = WalkState->Results->Results.NumResults;
- }
-
- AcpiOsPrintf ("Method [%4.4s] has %X stacked result objects\n", &Node->Name, NumResults);
-
- for (i = 0; i < NumResults; i++)
- {
- ObjDesc = WalkState->Results->Results.ObjDesc[i];
- AcpiOsPrintf ("Result%d: ", i);
- AcpiDbDisplayInternalObject (ObjDesc, WalkState);
- }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDisplayCallingTree
- *
- * PARAMETERS: None
- *
- * RETURN: None
- *
- * DESCRIPTION: Display current calling tree of nested control methods
- *
- ******************************************************************************/
-
-void
-AcpiDbDisplayCallingTree (void)
-{
- UINT32 i;
- ACPI_WALK_STATE *WalkState;
- ACPI_OPERAND_OBJECT *ObjDesc;
- ACPI_NAMESPACE_NODE *Node;
-
-
- WalkState = AcpiDsGetCurrentWalkState (AcpiGbl_CurrentWalkList);
- if (!WalkState)
- {
- AcpiOsPrintf ("There is no method currently executing\n");
- return;
- }
-
- ObjDesc = WalkState->MethodDesc;
- Node = WalkState->MethodNode;
-
- AcpiOsPrintf ("Current Control Method Call Tree\n");
-
- for (i = 0; WalkState; i++)
- {
- ObjDesc = WalkState->MethodDesc;
- Node = WalkState->MethodNode;
-
- AcpiOsPrintf (" [%4.4s]\n", &Node->Name);
-
- WalkState = WalkState->Next;
- }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDisplayResultObject
- *
- * PARAMETERS: ObjDesc - Object to be displayed
- * WalkState - Current walk state
- *
- * RETURN: None
- *
- * DESCRIPTION: Display the result of an AML opcode
- *
- ******************************************************************************/
-
-void
-AcpiDbDisplayResultObject (
- ACPI_OPERAND_OBJECT *ObjDesc,
- ACPI_WALK_STATE *WalkState)
-{
-
- /* TBD: [Future] We don't always want to display the result.
- * For now, only display if single stepping
- * however, this output is very useful in other contexts also
- */
-
- if (!AcpiGbl_CmSingleStep)
- {
- return;
- }
-
- AcpiOsPrintf ("ResultObj: ");
- AcpiDbDisplayInternalObject (ObjDesc, WalkState);
- AcpiOsPrintf ("\n");
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDisplayArgumentObject
- *
- * PARAMETERS: ObjDesc - Object to be displayed
- * WalkState - Current walk state
- *
- * RETURN: None
- *
- * DESCRIPTION: Display the result of an AML opcode
- *
- ******************************************************************************/
-
-void
-AcpiDbDisplayArgumentObject (
- ACPI_OPERAND_OBJECT *ObjDesc,
- ACPI_WALK_STATE *WalkState)
-{
-
-
- if (!AcpiGbl_CmSingleStep)
- {
- return;
- }
-
- AcpiOsPrintf ("ArgObj: ");
- AcpiDbDisplayInternalObject (ObjDesc, WalkState);
-}
-
-#endif /* ENABLE_DEBUGGER */
-
diff --git a/sys/contrib/dev/acpica/Subsystem/Debugger/dbexec.c b/sys/contrib/dev/acpica/Subsystem/Debugger/dbexec.c
deleted file mode 100644
index 846909225f96..000000000000
--- a/sys/contrib/dev/acpica/Subsystem/Debugger/dbexec.c
+++ /dev/null
@@ -1,487 +0,0 @@
-/*******************************************************************************
- *
- * Module Name: dbexec - debugger control method execution
- * $Revision: 21 $
- *
- ******************************************************************************/
-
-/******************************************************************************
- *
- * 1. Copyright Notice
- *
- * Some or all of this work - Copyright (c) 1999, 2000, 2001, Intel Corp.
- * All rights reserved.
- *
- * 2. License
- *
- * 2.1. This is your license from Intel Corp. under its intellectual property
- * rights. You may have additional license terms from the party that provided
- * you this software, covering your right to use that party's intellectual
- * property rights.
- *
- * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
- * copy of the source code appearing in this file ("Covered Code") an
- * irrevocable, perpetual, worldwide license under Intel's copyrights in the
- * base code distributed originally by Intel ("Original Intel Code") to copy,
- * make derivatives, distribute, use and display any portion of the Covered
- * Code in any form, with the right to sublicense such rights; and
- *
- * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
- * license (with the right to sublicense), under only those claims of Intel
- * patents that are infringed by the Original Intel Code, to make, use, sell,
- * offer to sell, and import the Covered Code and derivative works thereof
- * solely to the minimum extent necessary to exercise the above copyright
- * license, and in no event shall the patent license extend to any additions
- * to or modifications of the Original Intel Code. No other license or right
- * is granted directly or by implication, estoppel or otherwise;
- *
- * The above copyright and patent license is granted only if the following
- * conditions are met:
- *
- * 3. Conditions
- *
- * 3.1. Redistribution of Source with Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification with rights to further distribute source must include
- * the above Copyright Notice, the above License, this list of Conditions,
- * and the following Disclaimer and Export Compliance provision. In addition,
- * Licensee must cause all Covered Code to which Licensee contributes to
- * contain a file documenting the changes Licensee made to create that Covered
- * Code and the date of any change. Licensee must include in that file the
- * documentation of any changes made by any predecessor Licensee. Licensee
- * must include a prominent statement that the modification is derived,
- * directly or indirectly, from Original Intel Code.
- *
- * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification without rights to further distribute source must
- * include the following Disclaimer and Export Compliance provision in the
- * documentation and/or other materials provided with distribution. In
- * addition, Licensee may not authorize further sublicense of source of any
- * portion of the Covered Code, and must include terms to the effect that the
- * license from Licensee to its licensee is limited to the intellectual
- * property embodied in the software Licensee provides to its licensee, and
- * not to intellectual property embodied in modifications its licensee may
- * make.
- *
- * 3.3. Redistribution of Executable. Redistribution in executable form of any
- * substantial portion of the Covered Code or modification must reproduce the
- * above Copyright Notice, and the following Disclaimer and Export Compliance
- * provision in the documentation and/or other materials provided with the
- * distribution.
- *
- * 3.4. Intel retains all right, title, and interest in and to the Original
- * Intel Code.
- *
- * 3.5. Neither the name Intel nor any other trademark owned or controlled by
- * Intel shall be used in advertising or otherwise to promote the sale, use or
- * other dealings in products derived from or relating to the Covered Code
- * without prior written authorization from Intel.
- *
- * 4. Disclaimer and Export Compliance
- *
- * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
- * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
- * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
- * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
- * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
- * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
- * PARTICULAR PURPOSE.
- *
- * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
- * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
- * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
- * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
- * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
- * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
- * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
- * LIMITED REMEDY.
- *
- * 4.3. Licensee shall not export, either directly or indirectly, any of this
- * software or system incorporating such software without first obtaining any
- * required license or other approval from the U. S. Department of Commerce or
- * any other agency or department of the United States Government. In the
- * event Licensee exports any such software from the United States or
- * re-exports any such software from a foreign destination, Licensee shall
- * ensure that the distribution and export/re-export of the software is in
- * compliance with all laws, regulations, orders, or other restrictions of the
- * U.S. Export Administration Regulations. Licensee agrees that neither it nor
- * any of its subsidiaries will export/re-export any technical data, process,
- * software, or service, directly or indirectly, to any country for which the
- * United States government or any agency thereof requires an export license,
- * other governmental approval, or letter of assurance, without first obtaining
- * such license, approval or letter.
- *
- *****************************************************************************/
-
-
-#include "acpi.h"
-#include "acparser.h"
-#include "acdispat.h"
-#include "amlcode.h"
-#include "acnamesp.h"
-#include "acparser.h"
-#include "acevents.h"
-#include "acinterp.h"
-#include "acdebug.h"
-#include "actables.h"
-
-#ifdef ENABLE_DEBUGGER
-
-#define _COMPONENT DEBUGGER
- MODULE_NAME ("dbexec")
-
-
-typedef struct dbmethodinfo
-{
- ACPI_HANDLE ThreadGate;
- NATIVE_CHAR *Name;
- NATIVE_CHAR **Args;
- UINT32 Flags;
- UINT32 NumLoops;
- NATIVE_CHAR Pathname[128];
-
-} DB_METHOD_INFO;
-
-
-DB_METHOD_INFO Info;
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbExecuteMethod
- *
- * PARAMETERS: Info - Valid info segment
- * ReturnObj - Where to put return object
- *
- * RETURN: Status
- *
- * DESCRIPTION: Execute a control method.
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiDbExecuteMethod (
- DB_METHOD_INFO *Info,
- ACPI_BUFFER *ReturnObj)
-{
- ACPI_STATUS Status;
- ACPI_OBJECT_LIST ParamObjects;
- ACPI_OBJECT Params[MTH_NUM_ARGS];
- UINT32 i;
-
-
- if (OutputToFile && !AcpiDbgLevel)
- {
- AcpiOsPrintf ("Warning: debug output is not enabled!\n");
- }
-
- /* Are there arguments to the method? */
-
- if (Info->Args && Info->Args[0])
- {
- for (i = 0; Info->Args[i] && i < MTH_NUM_ARGS; i++)
- {
- Params[i].Type = ACPI_TYPE_INTEGER;
- Params[i].Integer.Value = STRTOUL (Info->Args[i], NULL, 16);
- }
-
- ParamObjects.Pointer = Params;
- ParamObjects.Count = i;
- }
-
- else
- {
- /* Setup default parameters */
-
- Params[0].Type = ACPI_TYPE_INTEGER;
- Params[0].Integer.Value = 0x01020304;
-
- Params[1].Type = ACPI_TYPE_STRING;
- Params[1].String.Length = 12;
- Params[1].String.Pointer = "AML Debugger";
-
- ParamObjects.Pointer = Params;
- ParamObjects.Count = 2;
- }
-
- /* Prepare for a return object of arbitrary size */
-
- ReturnObj->Pointer = Buffer;
- ReturnObj->Length = BUFFER_SIZE;
-
-
- /* Do the actual method execution */
-
- Status = AcpiEvaluateObject (NULL, Info->Pathname, &ParamObjects, ReturnObj);
-
- AcpiGbl_CmSingleStep = FALSE;
- AcpiGbl_MethodExecuting = FALSE;
-
- return (Status);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbExecuteSetup
- *
- * PARAMETERS: Info - Valid method info
- *
- * RETURN: Status
- *
- * DESCRIPTION: Setup info segment prior to method execution
- *
- ******************************************************************************/
-
-void
-AcpiDbExecuteSetup (
- DB_METHOD_INFO *Info)
-{
-
- /* Catenate the current scope to the supplied name */
-
- Info->Pathname[0] = 0;
- if ((Info->Name[0] != '\\') &&
- (Info->Name[0] != '/'))
- {
- STRCAT (Info->Pathname, ScopeBuf);
- }
-
- STRCAT (Info->Pathname, Info->Name);
- AcpiDbPrepNamestring (Info->Pathname);
-
- AcpiDbSetOutputDestination (DB_DUPLICATE_OUTPUT);
- AcpiOsPrintf ("Executing %s\n", Info->Pathname);
-
- if (Info->Flags & EX_SINGLE_STEP)
- {
- AcpiGbl_CmSingleStep = TRUE;
- AcpiDbSetOutputDestination (DB_CONSOLE_OUTPUT);
- }
-
- else
- {
- /* No single step, allow redirection to a file */
-
- AcpiDbSetOutputDestination (DB_REDIRECTABLE_OUTPUT);
- }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbExecute
- *
- * PARAMETERS: Name - Name of method to execute
- * Args - Parameters to the method
- * Flags - single step/no single step
- *
- * RETURN: Status
- *
- * DESCRIPTION: Execute a control method. Name is relative to the current
- * scope.
- *
- ******************************************************************************/
-
-void
-AcpiDbExecute (
- NATIVE_CHAR *Name,
- NATIVE_CHAR **Args,
- UINT32 Flags)
-{
- ACPI_STATUS Status;
- ACPI_BUFFER ReturnObj;
-
-
-#ifdef ACPI_DEBUG
- UINT32 PreviousAllocations;
- UINT32 PreviousSize;
- UINT32 Allocations;
- UINT32 Size;
-
-
- /* Memory allocation tracking */
-
- PreviousAllocations = AcpiGbl_CurrentAllocCount;
- PreviousSize = AcpiGbl_CurrentAllocSize;
-#endif
-
- Info.Name = Name;
- Info.Args = Args;
- Info.Flags = Flags;
-
- AcpiDbExecuteSetup (&Info);
- Status = AcpiDbExecuteMethod (&Info, &ReturnObj);
-
-
-#ifdef ACPI_DEBUG
-
- /* Memory allocation tracking */
-
- Allocations = AcpiGbl_CurrentAllocCount - PreviousAllocations;
- Size = AcpiGbl_CurrentAllocSize - PreviousSize;
-
- AcpiDbSetOutputDestination (DB_DUPLICATE_OUTPUT);
-
- if (Allocations > 0)
- {
- AcpiOsPrintf ("Outstanding: %ld allocations of total size %ld after execution\n",
- Allocations, Size);
- }
-#endif
-
- if (ACPI_FAILURE (Status))
- {
- AcpiOsPrintf ("Execution of %s failed with status %s\n", Info.Pathname, AcpiCmFormatException (Status));
- }
-
- else
- {
- /* Display a return object, if any */
-
- if (ReturnObj.Length)
- {
- AcpiOsPrintf ("Execution of %s returned object %p\n", Info.Pathname, ReturnObj.Pointer);
- AcpiDbDumpObject (ReturnObj.Pointer, 1);
- }
- }
-
- AcpiDbSetOutputDestination (DB_CONSOLE_OUTPUT);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbMethodThread
- *
- * PARAMETERS: Context - Execution info segment
- *
- * RETURN: None
- *
- * DESCRIPTION: Debugger execute thread. Waits for a command line, then
- * simply dispatches it.
- *
- ******************************************************************************/
-
-void
-AcpiDbMethodThread (
- void *Context)
-{
- ACPI_STATUS Status;
- DB_METHOD_INFO *Info = Context;
- UINT32 i;
- ACPI_BUFFER ReturnObj;
-
-
- for (i = 0; i < Info->NumLoops; i++)
- {
- Status = AcpiDbExecuteMethod (Info, &ReturnObj);
- if (ACPI_SUCCESS (Status))
- {
- if (ReturnObj.Length)
- {
- AcpiOsPrintf ("Execution of %s returned object %p\n", Info->Pathname, ReturnObj.Pointer);
- AcpiDbDumpObject (ReturnObj.Pointer, 1);
- }
- }
- }
-
-
- /* Signal our completion */
-
- AcpiOsSignalSemaphore (Info->ThreadGate, 1);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbCreateExecutionThreads
- *
- * PARAMETERS: NumThreadsArg - Number of threads to create
- * NumLoopsArg - Loop count for the thread(s)
- * MethodNameArg - Control method to execute
- *
- * RETURN: None
- *
- * DESCRIPTION: Create threads to execute method(s)
- *
- ******************************************************************************/
-
-void
-AcpiDbCreateExecutionThreads (
- NATIVE_CHAR *NumThreadsArg,
- NATIVE_CHAR *NumLoopsArg,
- NATIVE_CHAR *MethodNameArg)
-{
- ACPI_STATUS Status;
- UINT32 NumThreads;
- UINT32 NumLoops;
- UINT32 i;
- ACPI_HANDLE ThreadGate;
-
-
- /* Get the arguments */
-
- NumThreads = STRTOUL (NumThreadsArg, NULL, 0);
- NumLoops = STRTOUL (NumLoopsArg, NULL, 0);
-
- if (!NumThreads || !NumLoops)
- {
- AcpiOsPrintf ("Bad argument: Threads %X, Loops %X\n", NumThreads, NumLoops);
- return;
- }
-
-
- /* Create the synchronization semaphore */
-
- Status = AcpiOsCreateSemaphore (1, 0, &ThreadGate);
- if (ACPI_FAILURE (Status))
- {
- AcpiOsPrintf ("Could not create semaphore, %s\n", AcpiCmFormatException (Status));
- return;
- }
-
- /* Setup the context to be passed to each thread */
-
- Info.Name = MethodNameArg;
- Info.Args = NULL;
- Info.Flags = 0;
- Info.NumLoops = NumLoops;
- Info.ThreadGate = ThreadGate;
-
- AcpiDbExecuteSetup (&Info);
-
-
- /* Create the threads */
-
- AcpiOsPrintf ("Creating %X threads to execute %X times each\n", NumThreads, NumLoops);
-
- for (i = 0; i < (NumThreads); i++)
- {
- AcpiOsQueueForExecution (OSD_PRIORITY_MED, AcpiDbMethodThread, &Info);
- }
-
-
- /* Wait for all threads to complete */
-
- i = NumThreads;
- while (i) /* Brain damage for OSD implementations that only support wait of 1 unit */
- {
- Status = AcpiOsWaitSemaphore (ThreadGate, 1, WAIT_FOREVER);
- i--;
- }
-
- /* Cleanup and exit */
-
- AcpiOsDeleteSemaphore (ThreadGate);
-
- AcpiDbSetOutputDestination (DB_DUPLICATE_OUTPUT);
- AcpiOsPrintf ("All threads (%X) have completed\n", NumThreads);
- AcpiDbSetOutputDestination (DB_CONSOLE_OUTPUT);
-}
-
-
-#endif /* ENABLE_DEBUGGER */
-
-
diff --git a/sys/contrib/dev/acpica/Subsystem/Debugger/dbfileio.c b/sys/contrib/dev/acpica/Subsystem/Debugger/dbfileio.c
deleted file mode 100644
index e5478396858e..000000000000
--- a/sys/contrib/dev/acpica/Subsystem/Debugger/dbfileio.c
+++ /dev/null
@@ -1,492 +0,0 @@
-/*******************************************************************************
- *
- * Module Name: dbfileio - Debugger file I/O commands. These can't usually
- * be used when running the debugger in Ring 0 (Kernel mode)
- * $Revision: 38 $
- *
- ******************************************************************************/
-
-/******************************************************************************
- *
- * 1. Copyright Notice
- *
- * Some or all of this work - Copyright (c) 1999, 2000, 2001, Intel Corp.
- * All rights reserved.
- *
- * 2. License
- *
- * 2.1. This is your license from Intel Corp. under its intellectual property
- * rights. You may have additional license terms from the party that provided
- * you this software, covering your right to use that party's intellectual
- * property rights.
- *
- * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
- * copy of the source code appearing in this file ("Covered Code") an
- * irrevocable, perpetual, worldwide license under Intel's copyrights in the
- * base code distributed originally by Intel ("Original Intel Code") to copy,
- * make derivatives, distribute, use and display any portion of the Covered
- * Code in any form, with the right to sublicense such rights; and
- *
- * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
- * license (with the right to sublicense), under only those claims of Intel
- * patents that are infringed by the Original Intel Code, to make, use, sell,
- * offer to sell, and import the Covered Code and derivative works thereof
- * solely to the minimum extent necessary to exercise the above copyright
- * license, and in no event shall the patent license extend to any additions
- * to or modifications of the Original Intel Code. No other license or right
- * is granted directly or by implication, estoppel or otherwise;
- *
- * The above copyright and patent license is granted only if the following
- * conditions are met:
- *
- * 3. Conditions
- *
- * 3.1. Redistribution of Source with Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification with rights to further distribute source must include
- * the above Copyright Notice, the above License, this list of Conditions,
- * and the following Disclaimer and Export Compliance provision. In addition,
- * Licensee must cause all Covered Code to which Licensee contributes to
- * contain a file documenting the changes Licensee made to create that Covered
- * Code and the date of any change. Licensee must include in that file the
- * documentation of any changes made by any predecessor Licensee. Licensee
- * must include a prominent statement that the modification is derived,
- * directly or indirectly, from Original Intel Code.
- *
- * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification without rights to further distribute source must
- * include the following Disclaimer and Export Compliance provision in the
- * documentation and/or other materials provided with distribution. In
- * addition, Licensee may not authorize further sublicense of source of any
- * portion of the Covered Code, and must include terms to the effect that the
- * license from Licensee to its licensee is limited to the intellectual
- * property embodied in the software Licensee provides to its licensee, and
- * not to intellectual property embodied in modifications its licensee may
- * make.
- *
- * 3.3. Redistribution of Executable. Redistribution in executable form of any
- * substantial portion of the Covered Code or modification must reproduce the
- * above Copyright Notice, and the following Disclaimer and Export Compliance
- * provision in the documentation and/or other materials provided with the
- * distribution.
- *
- * 3.4. Intel retains all right, title, and interest in and to the Original
- * Intel Code.
- *
- * 3.5. Neither the name Intel nor any other trademark owned or controlled by
- * Intel shall be used in advertising or otherwise to promote the sale, use or
- * other dealings in products derived from or relating to the Covered Code
- * without prior written authorization from Intel.
- *
- * 4. Disclaimer and Export Compliance
- *
- * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
- * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
- * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
- * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
- * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
- * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
- * PARTICULAR PURPOSE.
- *
- * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
- * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
- * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
- * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
- * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
- * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
- * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
- * LIMITED REMEDY.
- *
- * 4.3. Licensee shall not export, either directly or indirectly, any of this
- * software or system incorporating such software without first obtaining any
- * required license or other approval from the U. S. Department of Commerce or
- * any other agency or department of the United States Government. In the
- * event Licensee exports any such software from the United States or
- * re-exports any such software from a foreign destination, Licensee shall
- * ensure that the distribution and export/re-export of the software is in
- * compliance with all laws, regulations, orders, or other restrictions of the
- * U.S. Export Administration Regulations. Licensee agrees that neither it nor
- * any of its subsidiaries will export/re-export any technical data, process,
- * software, or service, directly or indirectly, to any country for which the
- * United States government or any agency thereof requires an export license,
- * other governmental approval, or letter of assurance, without first obtaining
- * such license, approval or letter.
- *
- *****************************************************************************/
-
-
-#include "acpi.h"
-#include "acdebug.h"
-#include "acnamesp.h"
-#include "acparser.h"
-#include "acevents.h"
-#include "actables.h"
-
-#ifdef ENABLE_DEBUGGER
-
-#define _COMPONENT DEBUGGER
- MODULE_NAME ("dbfileio")
-
-
-ACPI_PARSE_OBJECT *root;
-
-#ifdef ACPI_APPLICATION
-#include <stdio.h>
-FILE *DebugFile = NULL;
-#endif
-
-
-/*
- * NOTE: this is here for lack of a better place. It is used in all
- * flavors of the debugger, need LCD file
- */
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbMatchArgument
- *
- * PARAMETERS: UserArgument - User command line
- * Arguments - Array of commands to match against
- *
- * RETURN: Index into command array or ACPI_TYPE_NOT_FOUND if not found
- *
- * DESCRIPTION: Search command array for a command match
- *
- ******************************************************************************/
-
-OBJECT_TYPE_INTERNAL
-AcpiDbMatchArgument (
- NATIVE_CHAR *UserArgument,
- ARGUMENT_INFO *Arguments)
-{
- UINT32 i;
-
-
- if (!UserArgument || UserArgument[0] == 0)
- {
- return (ACPI_TYPE_NOT_FOUND);
- }
-
- for (i = 0; Arguments[i].Name; i++)
- {
- if (STRSTR (Arguments[i].Name, UserArgument) == Arguments[i].Name)
- {
- return ((OBJECT_TYPE_INTERNAL) i);
- }
- }
-
- /* Argument not recognized */
-
- return (ACPI_TYPE_NOT_FOUND);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbCloseDebugFile
- *
- * PARAMETERS: None
- *
- * RETURN: Status
- *
- * DESCRIPTION: If open, close the current debug output file
- *
- ******************************************************************************/
-
-void
-AcpiDbCloseDebugFile (
- void)
-{
-
-#ifdef ACPI_APPLICATION
-
- if (DebugFile)
- {
- fclose (DebugFile);
- DebugFile = NULL;
- OutputToFile = FALSE;
- AcpiOsPrintf ("Debug output file %s closed\n", DebugFilename);
- }
-#endif
-
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbOpenDebugFile
- *
- * PARAMETERS: Name - Filename to open
- *
- * RETURN: Status
- *
- * DESCRIPTION: Open a file where debug output will be directed.
- *
- ******************************************************************************/
-
-void
-AcpiDbOpenDebugFile (
- NATIVE_CHAR *Name)
-{
-
-#ifdef ACPI_APPLICATION
-
- AcpiDbCloseDebugFile ();
- DebugFile = fopen (Name, "w+");
- if (DebugFile)
- {
- AcpiOsPrintf ("Debug output file %s opened\n", Name);
- STRCPY (DebugFilename, Name);
- OutputToFile = TRUE;
- }
- else
- {
- AcpiOsPrintf ("Could not open debug file %s\n", Name);
- }
-
-#endif
-}
-
-
-#ifdef ACPI_APPLICATION
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbLoadTable
- *
- * PARAMETERS: fp - File that contains table
- * TablePtr - Return value, buffer with table
- * TableLenght - Return value, length of table
- *
- * RETURN: Status
- *
- * DESCRIPTION: Load the DSDT from the file pointer
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiDbLoadTable(
- FILE *fp,
- ACPI_TABLE_HEADER **TablePtr,
- UINT32 *TableLength)
-{
- ACPI_TABLE_HEADER TableHeader;
- UINT8 *AmlPtr;
- UINT32 AmlLength;
- UINT32 Actual;
- ACPI_STATUS Status;
-
-
- /* Read the table header */
-
- if (fread (&TableHeader, 1, sizeof (TableHeader), fp) != sizeof (ACPI_TABLE_HEADER))
- {
- AcpiOsPrintf ("Couldn't read the table header\n");
- return (AE_BAD_SIGNATURE);
- }
-
-
- /* Validate the table header/length */
-
- Status = AcpiTbValidateTableHeader (&TableHeader);
- if ((ACPI_FAILURE (Status)) ||
- (TableHeader.Length > 524288)) /* 1/2 Mbyte should be enough */
- {
- AcpiOsPrintf ("Table header is invalid!\n");
- return (AE_ERROR);
- }
-
-
- /* We only support a limited number of table types */
-
- if (STRNCMP ((char *) TableHeader.Signature, DSDT_SIG, 4) &&
- STRNCMP ((char *) TableHeader.Signature, PSDT_SIG, 4) &&
- STRNCMP ((char *) TableHeader.Signature, SSDT_SIG, 4))
- {
- AcpiOsPrintf ("Table signature is invalid\n");
- DUMP_BUFFER (&TableHeader, sizeof (ACPI_TABLE_HEADER));
- return (AE_ERROR);
- }
-
- /* Allocate a buffer for the table */
-
- *TableLength = TableHeader.Length;
- *TablePtr = (ACPI_TABLE_HEADER *) AcpiCmAllocate ((size_t) *TableLength);
- if (!*TablePtr)
- {
- AcpiOsPrintf ("Could not allocate memory for the table (size=%X)\n", TableHeader.Length);
- return (AE_NO_MEMORY);
- }
-
-
- AmlPtr = (UINT8 *) *TablePtr + sizeof (TableHeader);
- AmlLength = *TableLength - sizeof (TableHeader);
-
- /* Copy the header to the buffer */
-
- MEMCPY (*TablePtr, &TableHeader, sizeof (TableHeader));
-
- /* Get the rest of the table */
-
- Actual = fread (AmlPtr, 1, (size_t) AmlLength, fp);
- if (Actual == AmlLength)
- {
- return (AE_OK);
- }
-
- if (Actual > 0)
- {
- AcpiOsPrintf ("Warning - reading table, asked for %X got %X\n", AmlLength, Actual);
- return (AE_OK);
- }
-
-
- AcpiOsPrintf ("Error - could not read the table file\n");
- AcpiCmFree (*TablePtr);
- *TablePtr = NULL;
- *TableLength = 0;
-
- return (AE_ERROR);
-}
-#endif
-
-
-/*******************************************************************************
- *
- * FUNCTION: AeLocalLoadTable
- *
- * PARAMETERS: TablePtr - pointer to a buffer containing the entire
- * table to be loaded
- *
- * RETURN: Status
- *
- * DESCRIPTION: This function is called to load a table from the caller's
- * buffer. The buffer must contain an entire ACPI Table including
- * a valid header. The header fields will be verified, and if it
- * is determined that the table is invalid, the call will fail.
- *
- * If the call fails an appropriate status will be returned.
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AeLocalLoadTable (
- ACPI_TABLE_HEADER *TablePtr)
-{
- ACPI_STATUS Status;
- ACPI_TABLE_DESC TableInfo;
-
-
- FUNCTION_TRACE ("AeLocalLoadTable");
-
- if (!TablePtr)
- {
- return_ACPI_STATUS (AE_BAD_PARAMETER);
- }
-
- /* Install the new table into the local data structures */
-
- TableInfo.Pointer = TablePtr;
-
- Status = AcpiTbInstallTable (NULL, &TableInfo);
- if (ACPI_FAILURE (Status))
- {
- /* Free table allocated by AcpiTbGetTable */
-
- AcpiTbDeleteSingleTable (&TableInfo);
- return_ACPI_STATUS (Status);
- }
-
-
-#ifndef PARSER_ONLY
- Status = AcpiNsLoadTable (TableInfo.InstalledDesc, AcpiGbl_RootNode);
- if (ACPI_FAILURE (Status))
- {
- /* Uninstall table and free the buffer */
-
- AcpiTbUninstallTable (TableInfo.InstalledDesc);
- return_ACPI_STATUS (Status);
- }
-#endif
-
- return_ACPI_STATUS (Status);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbLoadAcpiTable
- *
- * PARAMETERS: Filname - File where table is located
- *
- * RETURN: Status
- *
- * DESCRIPTION: Load an ACPI table from a file
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiDbLoadAcpiTable (
- NATIVE_CHAR *Filename)
-{
-#ifdef ACPI_APPLICATION
- FILE *fp;
- ACPI_STATUS Status;
- ACPI_TABLE_HEADER *TablePtr;
- UINT32 TableLength;
-
-
- /* Open the file */
-
- fp = fopen (Filename, "rb");
- if (!fp)
- {
- AcpiOsPrintf ("Could not open file %s\n", Filename);
- return (AE_ERROR);
- }
-
-
- /* Get the entire file */
-
- AcpiOsPrintf ("Loading Acpi table from file %s\n", Filename);
- Status = AcpiDbLoadTable (fp, &TablePtr, &TableLength);
- fclose(fp);
-
- if (ACPI_FAILURE (Status))
- {
- AcpiOsPrintf ("Couldn't get table from the file\n");
- return (Status);
- }
-
-
- /* Attempt to recognize and install the table */
- Status = AeLocalLoadTable (TablePtr);
-
- if (ACPI_FAILURE (Status))
- {
- if (Status == AE_EXIST)
- {
- AcpiOsPrintf ("Table %4.4s is already installed\n",
- &TablePtr->Signature);
- }
- else
- {
- AcpiOsPrintf ("Could not install table, %s\n",
- AcpiCmFormatException (Status));
- }
- AcpiCmFree (TablePtr);
- return (Status);
- }
-
- AcpiOsPrintf ("%4.4s at %p successfully installed and loaded\n",
- &TablePtr->Signature, TablePtr);
-
- AcpiGbl_AcpiHardwarePresent = FALSE;
-
-#endif /* ACPI_APPLICATION */
- return (AE_OK);
-}
-
-
-#endif /* ENABLE_DEBUGGER */
-
diff --git a/sys/contrib/dev/acpica/Subsystem/Debugger/dbhistry.c b/sys/contrib/dev/acpica/Subsystem/Debugger/dbhistry.c
deleted file mode 100644
index 765c3e118813..000000000000
--- a/sys/contrib/dev/acpica/Subsystem/Debugger/dbhistry.c
+++ /dev/null
@@ -1,301 +0,0 @@
-/******************************************************************************
- *
- * Module Name: dbhistry - debugger HISTORY command
- * $Revision: 17 $
- *
- *****************************************************************************/
-
-/******************************************************************************
- *
- * 1. Copyright Notice
- *
- * Some or all of this work - Copyright (c) 1999, 2000, 2001, Intel Corp.
- * All rights reserved.
- *
- * 2. License
- *
- * 2.1. This is your license from Intel Corp. under its intellectual property
- * rights. You may have additional license terms from the party that provided
- * you this software, covering your right to use that party's intellectual
- * property rights.
- *
- * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
- * copy of the source code appearing in this file ("Covered Code") an
- * irrevocable, perpetual, worldwide license under Intel's copyrights in the
- * base code distributed originally by Intel ("Original Intel Code") to copy,
- * make derivatives, distribute, use and display any portion of the Covered
- * Code in any form, with the right to sublicense such rights; and
- *
- * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
- * license (with the right to sublicense), under only those claims of Intel
- * patents that are infringed by the Original Intel Code, to make, use, sell,
- * offer to sell, and import the Covered Code and derivative works thereof
- * solely to the minimum extent necessary to exercise the above copyright
- * license, and in no event shall the patent license extend to any additions
- * to or modifications of the Original Intel Code. No other license or right
- * is granted directly or by implication, estoppel or otherwise;
- *
- * The above copyright and patent license is granted only if the following
- * conditions are met:
- *
- * 3. Conditions
- *
- * 3.1. Redistribution of Source with Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification with rights to further distribute source must include
- * the above Copyright Notice, the above License, this list of Conditions,
- * and the following Disclaimer and Export Compliance provision. In addition,
- * Licensee must cause all Covered Code to which Licensee contributes to
- * contain a file documenting the changes Licensee made to create that Covered
- * Code and the date of any change. Licensee must include in that file the
- * documentation of any changes made by any predecessor Licensee. Licensee
- * must include a prominent statement that the modification is derived,
- * directly or indirectly, from Original Intel Code.
- *
- * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification without rights to further distribute source must
- * include the following Disclaimer and Export Compliance provision in the
- * documentation and/or other materials provided with distribution. In
- * addition, Licensee may not authorize further sublicense of source of any
- * portion of the Covered Code, and must include terms to the effect that the
- * license from Licensee to its licensee is limited to the intellectual
- * property embodied in the software Licensee provides to its licensee, and
- * not to intellectual property embodied in modifications its licensee may
- * make.
- *
- * 3.3. Redistribution of Executable. Redistribution in executable form of any
- * substantial portion of the Covered Code or modification must reproduce the
- * above Copyright Notice, and the following Disclaimer and Export Compliance
- * provision in the documentation and/or other materials provided with the
- * distribution.
- *
- * 3.4. Intel retains all right, title, and interest in and to the Original
- * Intel Code.
- *
- * 3.5. Neither the name Intel nor any other trademark owned or controlled by
- * Intel shall be used in advertising or otherwise to promote the sale, use or
- * other dealings in products derived from or relating to the Covered Code
- * without prior written authorization from Intel.
- *
- * 4. Disclaimer and Export Compliance
- *
- * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
- * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
- * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
- * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
- * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
- * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
- * PARTICULAR PURPOSE.
- *
- * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
- * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
- * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
- * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
- * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
- * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
- * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
- * LIMITED REMEDY.
- *
- * 4.3. Licensee shall not export, either directly or indirectly, any of this
- * software or system incorporating such software without first obtaining any
- * required license or other approval from the U. S. Department of Commerce or
- * any other agency or department of the United States Government. In the
- * event Licensee exports any such software from the United States or
- * re-exports any such software from a foreign destination, Licensee shall
- * ensure that the distribution and export/re-export of the software is in
- * compliance with all laws, regulations, orders, or other restrictions of the
- * U.S. Export Administration Regulations. Licensee agrees that neither it nor
- * any of its subsidiaries will export/re-export any technical data, process,
- * software, or service, directly or indirectly, to any country for which the
- * United States government or any agency thereof requires an export license,
- * other governmental approval, or letter of assurance, without first obtaining
- * such license, approval or letter.
- *
- *****************************************************************************/
-
-
-#include "acpi.h"
-#include "acparser.h"
-#include "acdispat.h"
-#include "amlcode.h"
-#include "acnamesp.h"
-#include "acparser.h"
-#include "acevents.h"
-#include "acinterp.h"
-#include "acdebug.h"
-#include "actables.h"
-
-#ifdef ENABLE_DEBUGGER
-
-#define _COMPONENT DEBUGGER
- MODULE_NAME ("dbhistry")
-
-
-#define HI_NO_HISTORY 0
-#define HI_RECORD_HISTORY 1
-#define HISTORY_SIZE 20
-
-
-typedef struct HistoryInfo
-{
- NATIVE_CHAR Command[80];
- UINT32 CmdNum;
-
-} HISTORY_INFO;
-
-
-HISTORY_INFO HistoryBuffer[HISTORY_SIZE];
-UINT16 LoHistory = 0;
-UINT16 NumHistory = 0;
-UINT16 NextHistoryIndex = 0;
-UINT32 NextCmdNum = 1;
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbAddToHistory
- *
- * PARAMETERS: CommandLine - Command to add
- *
- * RETURN: None
- *
- * DESCRIPTION: Add a command line to the history buffer.
- *
- ******************************************************************************/
-
-void
-AcpiDbAddToHistory (
- NATIVE_CHAR *CommandLine)
-{
-
-
- /* Put command into the next available slot */
-
- STRCPY (HistoryBuffer[NextHistoryIndex].Command, CommandLine);
- HistoryBuffer[NextHistoryIndex].CmdNum = NextCmdNum;
-
- /* Adjust indexes */
-
- if ((NumHistory == HISTORY_SIZE) &&
- (NextHistoryIndex == LoHistory))
- {
- LoHistory++;
- if (LoHistory >= HISTORY_SIZE)
- {
- LoHistory = 0;
- }
- }
-
- NextHistoryIndex++;
- if (NextHistoryIndex >= HISTORY_SIZE)
- {
- NextHistoryIndex = 0;
- }
-
-
- NextCmdNum++;
- if (NumHistory < HISTORY_SIZE)
- {
- NumHistory++;
- }
-
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDisplayHistory
- *
- * PARAMETERS: None
- *
- * RETURN: None
- *
- * DESCRIPTION: Display the contents of the history buffer
- *
- ******************************************************************************/
-
-void
-AcpiDbDisplayHistory (void)
-{
- NATIVE_UINT i;
- UINT16 HistoryIndex;
-
-
- HistoryIndex = LoHistory;
-
- /* Dump entire history buffer */
-
- for (i = 0; i < NumHistory; i++)
- {
- AcpiOsPrintf ("%ld %s\n", HistoryBuffer[HistoryIndex].CmdNum, HistoryBuffer[HistoryIndex].Command);
-
- HistoryIndex++;
- if (HistoryIndex >= HISTORY_SIZE)
- {
- HistoryIndex = 0;
- }
- }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbGetFromHistory
- *
- * PARAMETERS: CommandNumArg - String containing the number of the
- * command to be retrieved
- *
- * RETURN: None
- *
- * DESCRIPTION: Get a command from the history buffer
- *
- ******************************************************************************/
-
-NATIVE_CHAR *
-AcpiDbGetFromHistory (
- NATIVE_CHAR *CommandNumArg)
-{
- NATIVE_UINT i;
- UINT16 HistoryIndex;
- UINT32 CmdNum;
-
-
- if (CommandNumArg == NULL)
- {
- CmdNum = NextCmdNum - 1;
- }
-
- else
- {
- CmdNum = STRTOUL (CommandNumArg, NULL, 0);
- }
-
-
- /* Search history buffer */
-
- HistoryIndex = LoHistory;
- for (i = 0; i < NumHistory; i++)
- {
- if (HistoryBuffer[HistoryIndex].CmdNum == CmdNum)
- {
- /* Found the commnad, return it */
-
- return (HistoryBuffer[HistoryIndex].Command);
- }
-
-
- HistoryIndex++;
- if (HistoryIndex >= HISTORY_SIZE)
- {
- HistoryIndex = 0;
- }
- }
-
- AcpiOsPrintf ("Invalid history number: %d\n", HistoryIndex);
- return (NULL);
-}
-
-
-#endif /* ENABLE_DEBUGGER */
-
diff --git a/sys/contrib/dev/acpica/Subsystem/Debugger/dbinput.c b/sys/contrib/dev/acpica/Subsystem/Debugger/dbinput.c
deleted file mode 100644
index 812dbfee89aa..000000000000
--- a/sys/contrib/dev/acpica/Subsystem/Debugger/dbinput.c
+++ /dev/null
@@ -1,989 +0,0 @@
-/*******************************************************************************
- *
- * Module Name: dbinput - user front-end to the AML debugger
- * $Revision: 56 $
- *
- ******************************************************************************/
-
-/******************************************************************************
- *
- * 1. Copyright Notice
- *
- * Some or all of this work - Copyright (c) 1999, 2000, 2001, Intel Corp.
- * All rights reserved.
- *
- * 2. License
- *
- * 2.1. This is your license from Intel Corp. under its intellectual property
- * rights. You may have additional license terms from the party that provided
- * you this software, covering your right to use that party's intellectual
- * property rights.
- *
- * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
- * copy of the source code appearing in this file ("Covered Code") an
- * irrevocable, perpetual, worldwide license under Intel's copyrights in the
- * base code distributed originally by Intel ("Original Intel Code") to copy,
- * make derivatives, distribute, use and display any portion of the Covered
- * Code in any form, with the right to sublicense such rights; and
- *
- * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
- * license (with the right to sublicense), under only those claims of Intel
- * patents that are infringed by the Original Intel Code, to make, use, sell,
- * offer to sell, and import the Covered Code and derivative works thereof
- * solely to the minimum extent necessary to exercise the above copyright
- * license, and in no event shall the patent license extend to any additions
- * to or modifications of the Original Intel Code. No other license or right
- * is granted directly or by implication, estoppel or otherwise;
- *
- * The above copyright and patent license is granted only if the following
- * conditions are met:
- *
- * 3. Conditions
- *
- * 3.1. Redistribution of Source with Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification with rights to further distribute source must include
- * the above Copyright Notice, the above License, this list of Conditions,
- * and the following Disclaimer and Export Compliance provision. In addition,
- * Licensee must cause all Covered Code to which Licensee contributes to
- * contain a file documenting the changes Licensee made to create that Covered
- * Code and the date of any change. Licensee must include in that file the
- * documentation of any changes made by any predecessor Licensee. Licensee
- * must include a prominent statement that the modification is derived,
- * directly or indirectly, from Original Intel Code.
- *
- * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification without rights to further distribute source must
- * include the following Disclaimer and Export Compliance provision in the
- * documentation and/or other materials provided with distribution. In
- * addition, Licensee may not authorize further sublicense of source of any
- * portion of the Covered Code, and must include terms to the effect that the
- * license from Licensee to its licensee is limited to the intellectual
- * property embodied in the software Licensee provides to its licensee, and
- * not to intellectual property embodied in modifications its licensee may
- * make.
- *
- * 3.3. Redistribution of Executable. Redistribution in executable form of any
- * substantial portion of the Covered Code or modification must reproduce the
- * above Copyright Notice, and the following Disclaimer and Export Compliance
- * provision in the documentation and/or other materials provided with the
- * distribution.
- *
- * 3.4. Intel retains all right, title, and interest in and to the Original
- * Intel Code.
- *
- * 3.5. Neither the name Intel nor any other trademark owned or controlled by
- * Intel shall be used in advertising or otherwise to promote the sale, use or
- * other dealings in products derived from or relating to the Covered Code
- * without prior written authorization from Intel.
- *
- * 4. Disclaimer and Export Compliance
- *
- * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
- * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
- * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
- * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
- * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
- * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
- * PARTICULAR PURPOSE.
- *
- * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
- * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
- * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
- * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
- * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
- * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
- * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
- * LIMITED REMEDY.
- *
- * 4.3. Licensee shall not export, either directly or indirectly, any of this
- * software or system incorporating such software without first obtaining any
- * required license or other approval from the U. S. Department of Commerce or
- * any other agency or department of the United States Government. In the
- * event Licensee exports any such software from the United States or
- * re-exports any such software from a foreign destination, Licensee shall
- * ensure that the distribution and export/re-export of the software is in
- * compliance with all laws, regulations, orders, or other restrictions of the
- * U.S. Export Administration Regulations. Licensee agrees that neither it nor
- * any of its subsidiaries will export/re-export any technical data, process,
- * software, or service, directly or indirectly, to any country for which the
- * United States government or any agency thereof requires an export license,
- * other governmental approval, or letter of assurance, without first obtaining
- * such license, approval or letter.
- *
- *****************************************************************************/
-
-
-#include "acpi.h"
-#include "acparser.h"
-#include "actables.h"
-#include "acnamesp.h"
-#include "acinterp.h"
-#include "acdebug.h"
-
-
-#ifdef ENABLE_DEBUGGER
-
-#define _COMPONENT DEBUGGER
- MODULE_NAME ("dbinput")
-
-
-/*
- * Globals that are specific to the debugger
- */
-
-NATIVE_CHAR LineBuf[80];
-NATIVE_CHAR ParsedBuf[80];
-NATIVE_CHAR ScopeBuf[40];
-NATIVE_CHAR DebugFilename[40];
-NATIVE_CHAR *Args[DB_MAX_ARGS];
-NATIVE_CHAR *Buffer;
-NATIVE_CHAR *Filename = NULL;
-BOOLEAN OutputToFile = FALSE;
-
-
-UINT32 AcpiGbl_DbDebugLevel = 0x0FFFFFFF;
-UINT32 AcpiGbl_DbConsoleDebugLevel = NORMAL_DEFAULT | TRACE_TABLES;
-UINT8 AcpiGbl_DbOutputFlags = DB_CONSOLE_OUTPUT;
-
-
-BOOLEAN opt_tables = FALSE;
-BOOLEAN opt_disasm = FALSE;
-BOOLEAN opt_stats = FALSE;
-BOOLEAN opt_parse_jit = FALSE;
-BOOLEAN opt_verbose = TRUE;
-BOOLEAN opt_ini_methods = TRUE;
-
-
-/*
- * Top-level debugger commands.
- *
- * This list of commands must match the string table below it
- */
-
-enum AcpiAmlDebuggerCommands
-{
- CMD_NOT_FOUND = 0,
- CMD_NULL,
- CMD_ALLOCATIONS,
- CMD_ARGS,
- CMD_ARGUMENTS,
- CMD_BREAKPOINT,
- CMD_CALL,
- CMD_CLOSE,
- CMD_DEBUG,
- CMD_DUMP,
- CMD_ENABLEACPI,
- CMD_EVENT,
- CMD_EXECUTE,
- CMD_EXIT,
- CMD_FIND,
- CMD_GO,
- CMD_HELP,
- CMD_HELP2,
- CMD_HISTORY,
- CMD_HISTORY_EXE,
- CMD_HISTORY_LAST,
- CMD_INFORMATION,
- CMD_INTO,
- CMD_LEVEL,
- CMD_LIST,
- CMD_LOAD,
- CMD_LOCALS,
- CMD_METHODS,
- CMD_NAMESPACE,
- CMD_NOTIFY,
- CMD_OBJECT,
- CMD_OPEN,
- CMD_OWNER,
- CMD_PREFIX,
- CMD_QUIT,
- CMD_REFERENCES,
- CMD_RESOURCES,
- CMD_RESULTS,
- CMD_SET,
- CMD_STATS,
- CMD_STOP,
- CMD_TABLES,
- CMD_TERMINATE,
- CMD_THREADS,
- CMD_TREE,
- CMD_UNLOAD
-};
-
-#define CMD_FIRST_VALID 2
-
-
-COMMAND_INFO Commands[] =
-{
- {"<NOT FOUND>", 0},
- {"<NULL>", 0},
- {"ALLOCATIONS", 0},
- {"ARGS", 0},
- {"ARGUMENTS", 0},
- {"BREAKPOINT", 1},
- {"CALL", 0},
- {"CLOSE", 0},
- {"DEBUG", 1},
- {"DUMP", 1},
- {"ENABLEACPI", 0},
- {"EVENT", 1},
- {"EXECUTE", 1},
- {"EXIT", 0},
- {"FIND", 1},
- {"GO", 0},
- {"HELP", 0},
- {"?", 0},
- {"HISTORY", 0},
- {"!", 1},
- {"!!", 0},
- {"INFORMATION", 0},
- {"INTO", 0},
- {"LEVEL", 0},
- {"LIST", 0},
- {"LOAD", 1},
- {"LOCALS", 0},
- {"METHODS", 0},
- {"NAMESPACE", 0},
- {"NOTIFY", 2},
- {"OBJECT", 1},
- {"OPEN", 1},
- {"OWNER", 1},
- {"PREFIX", 0},
- {"QUIT", 0},
- {"REFERENCES", 1},
- {"RESOURCES", 1},
- {"RESULTS", 0},
- {"SET", 3},
- {"STATS", 0},
- {"STOP", 0},
- {"TABLES", 0},
- {"TERMINATE", 0},
- {"THREADS", 3},
- {"TREE", 0},
- {"UNLOAD", 0},
- {NULL, 0}
-};
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDisplayHelp
- *
- * PARAMETERS: HelpType - Subcommand (optional)
- *
- * RETURN: None
- *
- * DESCRIPTION: Print a usage message.
- *
- ******************************************************************************/
-
-void
-AcpiDbDisplayHelp (
- NATIVE_CHAR *HelpType)
-{
-
-
- /* No parameter, just give the overview */
-
- if (!HelpType)
- {
- AcpiOsPrintf ("ACPI CA Debugger Commands\n\n");
- AcpiOsPrintf ("The following classes of commands are available. Help is available for\n");
- AcpiOsPrintf ("each class by entering \"Help <ClassName>\"\n\n");
- AcpiOsPrintf (" [GENERAL] General-Purpose Commands\n");
- AcpiOsPrintf (" [NAMESPACE] Namespace Access Commands\n");
- AcpiOsPrintf (" [METHOD] Control Method Execution Commands\n");
- AcpiOsPrintf (" [FILE] File I/O Commands\n");
- return;
-
- }
-
-
- /*
- * Parameter is the command class
- *
- * The idea here is to keep each class of commands smaller than a screenful
- */
-
- switch (HelpType[0])
- {
- case 'G':
- AcpiOsPrintf ("\nGeneral-Purpose Commands\n\n");
- AcpiOsPrintf ("Allocations Display list of current memory allocations\n");
- AcpiOsPrintf ("Dump <Address>|<Namepath>\n");
- AcpiOsPrintf (" [Byte|Word|Dword|Qword] Display ACPI objects or memory\n");
- AcpiOsPrintf ("EnableAcpi Enable ACPI (hardware) mode\n");
- AcpiOsPrintf ("Help This help screen\n");
- AcpiOsPrintf ("History Display command history buffer\n");
- AcpiOsPrintf ("Level [<DebugLevel>] [console] Get/Set debug level for file or console\n");
- AcpiOsPrintf ("Quit or Exit Exit this command\n");
- AcpiOsPrintf ("Stats [Allocations|Memory|Misc\n");
- AcpiOsPrintf (" |Objects|Tables] Display namespace and memory statistics\n");
- AcpiOsPrintf ("Tables Display info about loaded ACPI tables\n");
- AcpiOsPrintf ("Unload Unload an ACPI table\n");
- AcpiOsPrintf ("! <CommandNumber> Execute command from history buffer\n");
- AcpiOsPrintf ("!! Execute last command again\n");
- return;
-
- case 'N':
- AcpiOsPrintf ("\nNamespace Access Commands\n\n");
- AcpiOsPrintf ("Debug <Namepath> [Arguments] Single Step a control method\n");
- AcpiOsPrintf ("Event <F|G> <Value> Generate AcpiEvent (Fixed/GPE)\n");
- AcpiOsPrintf ("Execute <Namepath> [Arguments] Execute control method\n");
- AcpiOsPrintf ("Find <Name> (? is wildcard) Find ACPI name(s) with wildcards\n");
- AcpiOsPrintf ("Method Display list of loaded control methods\n");
- AcpiOsPrintf ("Namespace [<Addr>|<Path>] [Depth] Display loaded namespace tree/subtree\n");
- AcpiOsPrintf ("Notify <NamePath> <Value> Send a notification\n");
- AcpiOsPrintf ("Objects <ObjectType> Display all objects of the given type\n");
- AcpiOsPrintf ("Owner <OwnerId> [Depth] Display loaded namespace by object owner\n");
- AcpiOsPrintf ("Prefix [<NamePath>] Set or Get current execution prefix\n");
- AcpiOsPrintf ("References <Addr> Find all references to object at addr\n");
- AcpiOsPrintf ("Resources xxx Get and display resources\n");
- AcpiOsPrintf ("Terminate Delete namespace and all internal objects\n");
- AcpiOsPrintf ("Thread <Threads><Loops><NamePath> Spawn threads to execute method(s)\n");
- return;
-
- case 'M':
- AcpiOsPrintf ("\nControl Method Execution Commands\n\n");
- AcpiOsPrintf ("Arguments (or Args) Display method arguments\n");
- AcpiOsPrintf ("Breakpoint <AmlOffset> Set an AML execution breakpoint\n");
- AcpiOsPrintf ("Call Run to next control method invocation\n");
- AcpiOsPrintf ("Go Allow method to run to completion\n");
- AcpiOsPrintf ("Information Display info about the current method\n");
- AcpiOsPrintf ("Into Step into (not over) a method call\n");
- AcpiOsPrintf ("List [# of AcpiAml Opcodes] Display method ASL statements\n");
- AcpiOsPrintf ("Locals Display method local variables\n");
- AcpiOsPrintf ("Results Display method result stack\n");
- AcpiOsPrintf ("Set <A|L> <#> <Value> Set method data (Arguments/Locals)\n");
- AcpiOsPrintf ("Stop Terminate control method\n");
- AcpiOsPrintf ("Tree Display control method calling tree\n");
- AcpiOsPrintf ("<Enter> Single step next AML opcode (over calls)\n");
- return;
-
- case 'F':
- AcpiOsPrintf ("\nFile I/O Commands\n\n");
- AcpiOsPrintf ("Close Close debug output file\n");
- AcpiOsPrintf ("Open <Output Filename> Open a file for debug output\n");
- AcpiOsPrintf ("Load <Input Filename> Load ACPI table from a file\n");
- return;
-
- default:
- AcpiOsPrintf ("Unrecognized Command Class: %x\n", HelpType);
- return;
- }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbGetNextToken
- *
- * PARAMETERS: String - Command buffer
- * Next - Return value, end of next token
- *
- * RETURN: Pointer to the start of the next token.
- *
- * DESCRIPTION: Command line parsing. Get the next token on the command line
- *
- ******************************************************************************/
-
-NATIVE_CHAR *
-AcpiDbGetNextToken (
- NATIVE_CHAR *String,
- NATIVE_CHAR **Next)
-{
- NATIVE_CHAR *Start;
-
- /* At end of buffer? */
-
- if (!String || !(*String))
- {
- return (NULL);
- }
-
-
- /* Get rid of any spaces at the beginning */
-
- if (*String == ' ')
- {
- while (*String && (*String == ' '))
- {
- String++;
- }
-
- if (!(*String))
- {
- return (NULL);
- }
- }
-
- Start = String;
-
- /* Find end of token */
-
- while (*String && (*String != ' '))
- {
- String++;
- }
-
-
- if (!(*String))
- {
- *Next = NULL;
- }
-
- else
- {
- *String = 0;
- *Next = String + 1;
- }
-
- return (Start);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbGetLine
- *
- * PARAMETERS: InputBuffer - Command line buffer
- *
- * RETURN: None
- *
- * DESCRIPTION: Get the next command line from the user. Gets entire line
- * up to the next newline
- *
- ******************************************************************************/
-
-UINT32
-AcpiDbGetLine (
- NATIVE_CHAR *InputBuffer)
-{
- UINT32 i;
- UINT32 Count;
- NATIVE_CHAR *Next;
- NATIVE_CHAR *This;
-
-
- STRCPY (ParsedBuf, InputBuffer);
- STRUPR (ParsedBuf);
-
- This = ParsedBuf;
- for (i = 0; i < DB_MAX_ARGS; i++)
- {
- Args[i] = AcpiDbGetNextToken (This, &Next);
- if (!Args[i])
- {
- break;
- }
-
- This = Next;
- }
-
-
- /* Uppercase the actual command */
-
- if (Args[0])
- {
- STRUPR (Args[0]);
- }
-
- Count = i;
- if (Count)
- {
- Count--; /* Number of args only */
- }
-
- return (Count);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbMatchCommand
- *
- * PARAMETERS: UserCommand - User command line
- *
- * RETURN: Index into command array, -1 if not found
- *
- * DESCRIPTION: Search command array for a command match
- *
- ******************************************************************************/
-
-UINT32
-AcpiDbMatchCommand (
- NATIVE_CHAR *UserCommand)
-{
- UINT32 i;
-
-
- if (!UserCommand || UserCommand[0] == 0)
- {
- return (CMD_NULL);
- }
-
- for (i = CMD_FIRST_VALID; Commands[i].Name; i++)
- {
- if (STRSTR (Commands[i].Name, UserCommand) == Commands[i].Name)
- {
- return (i);
- }
- }
-
- /* Command not recognized */
-
- return (CMD_NOT_FOUND);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbCommandDispatch
- *
- * PARAMETERS: InputBuffer - Command line buffer
- * WalkState - Current walk
- * Op - Current (executing) parse op
- *
- * RETURN: Status
- *
- * DESCRIPTION: Command dispatcher. Called from two places:
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiDbCommandDispatch (
- NATIVE_CHAR *InputBuffer,
- ACPI_WALK_STATE *WalkState,
- ACPI_PARSE_OBJECT *Op)
-{
- UINT32 Temp;
- UINT32 CommandIndex;
- UINT32 ParamCount;
- NATIVE_CHAR *CommandLine;
- ACPI_STATUS Status = AE_CTRL_TRUE;
-
-
- /* If AcpiTerminate has been called, terminate this thread */
-
- if (AcpiGbl_DbTerminateThreads)
- {
- return (AE_CTRL_TERMINATE);
- }
-
- ParamCount = AcpiDbGetLine (InputBuffer);
- CommandIndex = AcpiDbMatchCommand (Args[0]);
- Temp = 0;
-
- /* Verify that we have the minimum number of params */
-
- if (ParamCount < Commands[CommandIndex].MinArgs)
- {
- AcpiOsPrintf ("%d parameters entered, [%s] requires %d parameters\n",
- ParamCount, Commands[CommandIndex].Name, Commands[CommandIndex].MinArgs);
- return (AE_CTRL_TRUE);
- }
-
- /* Decode and dispatch the command */
-
- switch (CommandIndex)
- {
- case CMD_NULL:
- if (Op)
- {
- return (AE_OK);
- }
- break;
-
- case CMD_ALLOCATIONS:
- AcpiCmDumpCurrentAllocations ((UINT32) -1, NULL);
- break;
-
- case CMD_ARGS:
- case CMD_ARGUMENTS:
- AcpiDbDisplayArguments ();
- break;
-
- case CMD_BREAKPOINT:
- AcpiDbSetMethodBreakpoint (Args[1], WalkState, Op);
- break;
-
- case CMD_CALL:
- AcpiDbSetMethodCallBreakpoint (Op);
- Status = AE_OK;
- break;
-
- case CMD_CLOSE:
- AcpiDbCloseDebugFile ();
- break;
-
- case CMD_DEBUG:
- AcpiDbExecute (Args[1], &Args[2], EX_SINGLE_STEP);
- break;
-
- case CMD_DUMP:
- AcpiDbDecodeAndDisplayObject (Args[1], Args[2]);
- break;
-
- case CMD_ENABLEACPI:
- Status = AcpiEnable();
- if (ACPI_FAILURE(Status))
- {
- AcpiOsPrintf("AcpiEnable failed (Status=%X)\n", Status);
- return (Status);
- }
- break;
-
- case CMD_EVENT:
- AcpiOsPrintf ("Event command not implemented\n");
- break;
-
- case CMD_EXECUTE:
- AcpiDbExecute (Args[1], &Args[2], EX_NO_SINGLE_STEP);
- break;
-
- case CMD_FIND:
- AcpiDbFindNameInNamespace (Args[1]);
- break;
-
- case CMD_GO:
- AcpiGbl_CmSingleStep = FALSE;
- return (AE_OK);
-
- case CMD_HELP:
- case CMD_HELP2:
- AcpiDbDisplayHelp (Args[1]);
- break;
-
- case CMD_HISTORY:
- AcpiDbDisplayHistory ();
- break;
-
- case CMD_HISTORY_EXE:
- CommandLine = AcpiDbGetFromHistory (Args[1]);
- if (!CommandLine)
- {
- return (AE_CTRL_TRUE);
- }
-
- Status = AcpiDbCommandDispatch (CommandLine, WalkState, Op);
- if (ACPI_SUCCESS (Status))
- Status = AE_CTRL_TRUE;
- return (Status);
- break;
-
- case CMD_HISTORY_LAST:
- CommandLine = AcpiDbGetFromHistory (NULL);
- if (!CommandLine)
- {
- return (AE_CTRL_TRUE);
- }
-
- Status = AcpiDbCommandDispatch (CommandLine, WalkState, Op);
- if (ACPI_SUCCESS (Status))
- Status = AE_CTRL_TRUE;
- return (Status);
-
- case CMD_INFORMATION:
- AcpiDbDisplayMethodInfo (Op);
- break;
-
- case CMD_INTO:
- if (Op)
- {
- AcpiGbl_CmSingleStep = TRUE;
-
-/* TBD: Must get current walk state */
- /* AcpiGbl_MethodBreakpoint = 0; */
- return (AE_OK);
- }
- break;
-
- case CMD_LEVEL:
- if (ParamCount == 0)
- {
- AcpiOsPrintf ("Current debug level for file output is: %8.8lX\n", AcpiGbl_DbDebugLevel);
- AcpiOsPrintf ("Current debug level for console output is: %8.8lX\n", AcpiGbl_DbConsoleDebugLevel);
- }
- else if (ParamCount == 2)
- {
- Temp = AcpiGbl_DbConsoleDebugLevel;
- AcpiGbl_DbConsoleDebugLevel = STRTOUL (Args[1], NULL, 16);
- AcpiOsPrintf ("Debug Level for console output was %8.8lX, now %8.8lX\n", Temp, AcpiGbl_DbConsoleDebugLevel);
- }
- else
- {
- Temp = AcpiGbl_DbDebugLevel;
- AcpiGbl_DbDebugLevel = STRTOUL (Args[1], NULL, 16);
- AcpiOsPrintf ("Debug Level for file output was %8.8lX, now %8.8lX\n", Temp, AcpiGbl_DbDebugLevel);
- }
- break;
-
- case CMD_LIST:
- AcpiDbDisassembleAml (Args[1], Op);
- break;
-
- case CMD_LOAD:
- Status = AcpiDbLoadAcpiTable (Args[1]);
- if (ACPI_FAILURE (Status))
- {
- return (Status);
- }
- break;
-
- case CMD_LOCALS:
- AcpiDbDisplayLocals ();
- break;
-
- case CMD_METHODS:
- AcpiDbDisplayObjects ("METHOD", Args[1]);
- break;
-
- case CMD_NAMESPACE:
- AcpiDbDumpNamespace (Args[1], Args[2]);
- break;
-
- case CMD_NOTIFY:
- Temp = STRTOUL (Args[2], NULL, 0);
- AcpiDbSendNotify (Args[1], Temp);
- break;
-
- case CMD_OBJECT:
- AcpiDbDisplayObjects (Args[1], Args[2]);
- break;
-
- case CMD_OPEN:
- AcpiDbOpenDebugFile (Args[1]);
- break;
-
- case CMD_OWNER:
- AcpiDbDumpNamespaceByOwner (Args[1], Args[2]);
- break;
-
- case CMD_PREFIX:
- AcpiDbSetScope (Args[1]);
- break;
-
- case CMD_REFERENCES:
- AcpiDbFindReferences (Args[1]);
- break;
-
- case CMD_RESOURCES:
- AcpiDbDisplayResources (Args[1]);
- break;
-
- case CMD_RESULTS:
- AcpiDbDisplayResults ();
- break;
-
- case CMD_SET:
- AcpiDbSetMethodData (Args[1], Args[2], Args[3]);
- break;
-
- case CMD_STATS:
- AcpiDbDisplayStatistics (Args[1]);
- break;
-
- case CMD_STOP:
- return (AE_AML_ERROR);
- break;
-
- case CMD_TABLES:
- AcpiDbDisplayTableInfo (Args[1]);
- break;
-
- case CMD_TERMINATE:
- AcpiDbSetOutputDestination (DB_REDIRECTABLE_OUTPUT);
- AcpiCmSubsystemShutdown ();
-
- /* TBD: [Restructure] Need some way to re-initialize without re-creating the semaphores! */
-
- /* AcpiInitialize (NULL); */
- break;
-
- case CMD_THREADS:
- AcpiDbCreateExecutionThreads (Args[1], Args[2], Args[3]);
- break;
-
- case CMD_TREE:
- AcpiDbDisplayCallingTree ();
- break;
-
- case CMD_UNLOAD:
- AcpiDbUnloadAcpiTable (Args[1], Args[2]);
- break;
-
- case CMD_EXIT:
- case CMD_QUIT:
- if (Op)
- {
- return (AE_AML_ERROR);
- }
-
- if (!OutputToFile)
- {
- AcpiDbgLevel = DEBUG_DEFAULT;
- }
-
- /* Shutdown */
-
- /* AcpiCmSubsystemShutdown (); */
- AcpiDbCloseDebugFile ();
-
- AcpiGbl_DbTerminateThreads = TRUE;
-
- return (AE_CTRL_TERMINATE);
-
- case CMD_NOT_FOUND:
- AcpiOsPrintf ("Unknown Command\n");
- return (AE_CTRL_TRUE);
- }
-
-
- /* Add all commands that come here to the history buffer */
-
- AcpiDbAddToHistory (InputBuffer);
- return (Status);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbExecuteThread
- *
- * PARAMETERS: Context - Not used
- *
- * RETURN: None
- *
- * DESCRIPTION: Debugger execute thread. Waits for a command line, then
- * simply dispatches it.
- *
- ******************************************************************************/
-
-void
-AcpiDbExecuteThread (
- void *Context)
-{
- ACPI_STATUS Status = AE_OK;
-
-
- while (Status != AE_CTRL_TERMINATE)
- {
- AcpiGbl_MethodExecuting = FALSE;
- AcpiGbl_StepToNextCall = FALSE;
-
- AcpiCmAcquireMutex (ACPI_MTX_DEBUG_CMD_READY);
- Status = AcpiDbCommandDispatch (LineBuf, NULL, NULL);
- AcpiCmReleaseMutex (ACPI_MTX_DEBUG_CMD_COMPLETE);
- }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbSingleThread
- *
- * PARAMETERS: None
- *
- * RETURN: None
- *
- * DESCRIPTION: Debugger execute thread. Waits for a command line, then
- * simply dispatches it.
- *
- ******************************************************************************/
-
-void
-AcpiDbSingleThread (
- void)
-{
- ACPI_STATUS Status = AE_OK;
-
-
- AcpiGbl_MethodExecuting = FALSE;
- AcpiGbl_StepToNextCall = FALSE;
-
- Status = AcpiDbCommandDispatch (LineBuf, NULL, NULL);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbUserCommands
- *
- * PARAMETERS: Prompt - User prompt (depends on mode)
- * Op - Current executing parse op
- *
- * RETURN: None
- *
- * DESCRIPTION: Command line execution for the AML debugger. Commands are
- * matched and dispatched here.
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiDbUserCommands (
- NATIVE_CHAR Prompt,
- ACPI_PARSE_OBJECT *Op)
-{
- ACPI_STATUS Status = AE_OK;
-
-
- /* TBD: [Restructure] Need a separate command line buffer for step mode */
-
- while (!AcpiGbl_DbTerminateThreads)
- {
- /* Force output to console until a command is entered */
-
- AcpiDbSetOutputDestination (DB_CONSOLE_OUTPUT);
-
- /* Different prompt if method is executing */
-
- if (!AcpiGbl_MethodExecuting)
- {
- AcpiOsPrintf ("%1c ", DB_COMMAND_PROMPT);
- }
- else
- {
- AcpiOsPrintf ("%1c ", DB_EXECUTE_PROMPT);
- }
-
- /* Get the user input line */
-
- AcpiOsGetLine (LineBuf);
-
-
- /* Check for single or multithreaded debug */
-
- if (AcpiGbl_DebuggerConfiguration & DEBUGGER_MULTI_THREADED)
- {
- /*
- * Signal the debug thread that we have a command to execute,
- * and wait for the command to complete.
- */
-
- AcpiCmReleaseMutex (ACPI_MTX_DEBUG_CMD_READY);
- AcpiCmAcquireMutex (ACPI_MTX_DEBUG_CMD_COMPLETE);
- }
-
- else
- {
- /* Just call to the command line interpreter */
-
- AcpiDbSingleThread ();
- }
- }
-
-
- /*
- * Only this thread (the original thread) should actually terminate the subsystem,
- * because all the semaphores are deleted during termination
- */
- AcpiTerminate ();
-
- return (Status);
-}
-
-
-#endif /* ENABLE_DEBUGGER */
-
diff --git a/sys/contrib/dev/acpica/Subsystem/Debugger/dbstats.c b/sys/contrib/dev/acpica/Subsystem/Debugger/dbstats.c
deleted file mode 100644
index f4531eada2be..000000000000
--- a/sys/contrib/dev/acpica/Subsystem/Debugger/dbstats.c
+++ /dev/null
@@ -1,548 +0,0 @@
-/*******************************************************************************
- *
- * Module Name: dbstats - Generation and display of ACPI table statistics
- * $Revision: 37 $
- *
- ******************************************************************************/
-
-/******************************************************************************
- *
- * 1. Copyright Notice
- *
- * Some or all of this work - Copyright (c) 1999, 2000, 2001, Intel Corp.
- * All rights reserved.
- *
- * 2. License
- *
- * 2.1. This is your license from Intel Corp. under its intellectual property
- * rights. You may have additional license terms from the party that provided
- * you this software, covering your right to use that party's intellectual
- * property rights.
- *
- * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
- * copy of the source code appearing in this file ("Covered Code") an
- * irrevocable, perpetual, worldwide license under Intel's copyrights in the
- * base code distributed originally by Intel ("Original Intel Code") to copy,
- * make derivatives, distribute, use and display any portion of the Covered
- * Code in any form, with the right to sublicense such rights; and
- *
- * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
- * license (with the right to sublicense), under only those claims of Intel
- * patents that are infringed by the Original Intel Code, to make, use, sell,
- * offer to sell, and import the Covered Code and derivative works thereof
- * solely to the minimum extent necessary to exercise the above copyright
- * license, and in no event shall the patent license extend to any additions
- * to or modifications of the Original Intel Code. No other license or right
- * is granted directly or by implication, estoppel or otherwise;
- *
- * The above copyright and patent license is granted only if the following
- * conditions are met:
- *
- * 3. Conditions
- *
- * 3.1. Redistribution of Source with Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification with rights to further distribute source must include
- * the above Copyright Notice, the above License, this list of Conditions,
- * and the following Disclaimer and Export Compliance provision. In addition,
- * Licensee must cause all Covered Code to which Licensee contributes to
- * contain a file documenting the changes Licensee made to create that Covered
- * Code and the date of any change. Licensee must include in that file the
- * documentation of any changes made by any predecessor Licensee. Licensee
- * must include a prominent statement that the modification is derived,
- * directly or indirectly, from Original Intel Code.
- *
- * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification without rights to further distribute source must
- * include the following Disclaimer and Export Compliance provision in the
- * documentation and/or other materials provided with distribution. In
- * addition, Licensee may not authorize further sublicense of source of any
- * portion of the Covered Code, and must include terms to the effect that the
- * license from Licensee to its licensee is limited to the intellectual
- * property embodied in the software Licensee provides to its licensee, and
- * not to intellectual property embodied in modifications its licensee may
- * make.
- *
- * 3.3. Redistribution of Executable. Redistribution in executable form of any
- * substantial portion of the Covered Code or modification must reproduce the
- * above Copyright Notice, and the following Disclaimer and Export Compliance
- * provision in the documentation and/or other materials provided with the
- * distribution.
- *
- * 3.4. Intel retains all right, title, and interest in and to the Original
- * Intel Code.
- *
- * 3.5. Neither the name Intel nor any other trademark owned or controlled by
- * Intel shall be used in advertising or otherwise to promote the sale, use or
- * other dealings in products derived from or relating to the Covered Code
- * without prior written authorization from Intel.
- *
- * 4. Disclaimer and Export Compliance
- *
- * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
- * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
- * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
- * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
- * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
- * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
- * PARTICULAR PURPOSE.
- *
- * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
- * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
- * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
- * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
- * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
- * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
- * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
- * LIMITED REMEDY.
- *
- * 4.3. Licensee shall not export, either directly or indirectly, any of this
- * software or system incorporating such software without first obtaining any
- * required license or other approval from the U. S. Department of Commerce or
- * any other agency or department of the United States Government. In the
- * event Licensee exports any such software from the United States or
- * re-exports any such software from a foreign destination, Licensee shall
- * ensure that the distribution and export/re-export of the software is in
- * compliance with all laws, regulations, orders, or other restrictions of the
- * U.S. Export Administration Regulations. Licensee agrees that neither it nor
- * any of its subsidiaries will export/re-export any technical data, process,
- * software, or service, directly or indirectly, to any country for which the
- * United States government or any agency thereof requires an export license,
- * other governmental approval, or letter of assurance, without first obtaining
- * such license, approval or letter.
- *
- *****************************************************************************/
-
-
-#include <acpi.h>
-#include <acdebug.h>
-#include <amlcode.h>
-#include <acparser.h>
-#include <acnamesp.h>
-
-#ifdef ENABLE_DEBUGGER
-
-#define _COMPONENT DEBUGGER
- MODULE_NAME ("dbstats")
-
-/*
- * Statistics subcommands
- */
-ARGUMENT_INFO AcpiDbStatTypes [] =
-{
- {"ALLOCATIONS"},
- {"OBJECTS"},
- {"MEMORY"},
- {"MISC"},
- {"TABLES"},
- {"SIZES"},
- {NULL} /* Must be null terminated */
-};
-
-#define CMD_ALLOCATIONS 0
-#define CMD_OBJECTS 1
-#define CMD_MEMORY 2
-#define CMD_MISC 3
-#define CMD_TABLES 4
-#define CMD_SIZES 5
-
-
-/*
- * Statistic globals
- */
-UINT16 AcpiGbl_ObjTypeCount[INTERNAL_TYPE_NODE_MAX+1];
-UINT16 AcpiGbl_NodeTypeCount[INTERNAL_TYPE_NODE_MAX+1];
-UINT16 AcpiGbl_ObjTypeCountMisc;
-UINT16 AcpiGbl_NodeTypeCountMisc;
-UINT32 NumNodes;
-UINT32 NumObjects;
-
-
-UINT32 SizeOfParseTree;
-UINT32 SizeOfMethodTrees;
-UINT32 SizeOfNodeEntries;
-UINT32 SizeOfAcpiObjects;
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbEnumerateObject
- *
- * PARAMETERS: ObjDesc - Object to be counted
- *
- * RETURN: None
- *
- * DESCRIPTION: Add this object to the global counts, by object type.
- * Recursively handles subobjects and packages.
- *
- * [TBD] Restructure - remove recursion.
- *
- ******************************************************************************/
-
-void
-AcpiDbEnumerateObject (
- ACPI_OPERAND_OBJECT *ObjDesc)
-{
- UINT32 Type;
- UINT32 i;
-
-
- if (!ObjDesc)
- {
- return;
- }
-
-
- /* Enumerate this object first */
-
- NumObjects++;
-
- Type = ObjDesc->Common.Type;
- if (Type > INTERNAL_TYPE_NODE_MAX)
- {
- AcpiGbl_ObjTypeCountMisc++;
- }
- else
- {
- AcpiGbl_ObjTypeCount [Type]++;
- }
-
- /* Count the sub-objects */
-
- switch (Type)
- {
- case ACPI_TYPE_PACKAGE:
- for (i = 0; i< ObjDesc->Package.Count; i++)
- {
- AcpiDbEnumerateObject (ObjDesc->Package.Elements[i]);
- }
- break;
-
- case ACPI_TYPE_DEVICE:
- AcpiDbEnumerateObject (ObjDesc->Device.SysHandler);
- AcpiDbEnumerateObject (ObjDesc->Device.DrvHandler);
- AcpiDbEnumerateObject (ObjDesc->Device.AddrHandler);
- break;
-
- case ACPI_TYPE_REGION:
- AcpiDbEnumerateObject (ObjDesc->Region.AddrHandler);
- break;
-
- case ACPI_TYPE_POWER:
- AcpiDbEnumerateObject (ObjDesc->PowerResource.SysHandler);
- AcpiDbEnumerateObject (ObjDesc->PowerResource.DrvHandler);
- break;
-
- case ACPI_TYPE_PROCESSOR:
- AcpiDbEnumerateObject (ObjDesc->Processor.SysHandler);
- AcpiDbEnumerateObject (ObjDesc->Processor.DrvHandler);
- AcpiDbEnumerateObject (ObjDesc->Processor.AddrHandler);
- break;
-
- case ACPI_TYPE_THERMAL:
- AcpiDbEnumerateObject (ObjDesc->ThermalZone.SysHandler);
- AcpiDbEnumerateObject (ObjDesc->ThermalZone.DrvHandler);
- AcpiDbEnumerateObject (ObjDesc->ThermalZone.AddrHandler);
- break;
- }
-}
-
-
-#ifndef PARSER_ONLY
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbClassifyOneObject
- *
- * PARAMETERS: Callback for WalkNamespace
- *
- * RETURN: Status
- *
- * DESCRIPTION: Enumerate both the object descriptor (including subobjects) and
- * the parent namespace node.
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiDbClassifyOneObject (
- ACPI_HANDLE ObjHandle,
- UINT32 NestingLevel,
- void *Context,
- void **ReturnValue)
-{
- ACPI_NAMESPACE_NODE *Node;
- ACPI_OPERAND_OBJECT *ObjDesc;
- UINT32 Type;
-
-
- NumNodes++;
-
- Node = (ACPI_NAMESPACE_NODE *) ObjHandle;
- ObjDesc = ((ACPI_NAMESPACE_NODE *) ObjHandle)->Object;
-
- AcpiDbEnumerateObject (ObjDesc);
-
- Type = Node->Type;
- if (Type > INTERNAL_TYPE_INVALID)
- {
- AcpiGbl_NodeTypeCountMisc++;
- }
-
- else
- {
- AcpiGbl_NodeTypeCount [Type]++;
- }
-
- return AE_OK;
-
-
- /* TBD: These need to be counted during the initial parsing phase */
- /*
- if (AcpiPsIsNamedOp (Op->Opcode))
- {
- NumNodes++;
- }
-
- if (IsMethod)
- {
- NumMethodElements++;
- }
-
- NumGrammarElements++;
- Op = AcpiPsGetDepthNext (Root, Op);
-
- SizeOfParseTree = (NumGrammarElements - NumMethodElements) * (UINT32) sizeof (ACPI_PARSE_OBJECT);
- SizeOfMethodTrees = NumMethodElements * (UINT32) sizeof (ACPI_PARSE_OBJECT);
- SizeOfNodeEntries = NumNodes * (UINT32) sizeof (ACPI_NAMESPACE_NODE);
- SizeOfAcpiObjects = NumNodes * (UINT32) sizeof (ACPI_OPERAND_OBJECT);
-
- */
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbCountNamespaceObjects
- *
- * PARAMETERS: None
- *
- * RETURN: Status
- *
- * DESCRIPTION: Count and classify the entire namespace, including all
- * namespace nodes and attached objects.
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiDbCountNamespaceObjects (
- void)
-{
- UINT32 i;
-
-
- NumNodes = 0;
- NumObjects = 0;
-
- AcpiGbl_ObjTypeCountMisc = 0;
- for (i = 0; i < INTERNAL_TYPE_INVALID; i++)
- {
- AcpiGbl_ObjTypeCount [i] = 0;
- AcpiGbl_NodeTypeCount [i] = 0;
- }
-
- AcpiNsWalkNamespace (ACPI_TYPE_ANY, ACPI_ROOT_OBJECT, ACPI_UINT32_MAX,
- FALSE, AcpiDbClassifyOneObject, NULL, NULL);
-
- return (AE_OK);
-}
-
-#endif
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDisplayStatistics
- *
- * PARAMETERS: TypeArg - Subcommand
- *
- * RETURN: Status
- *
- * DESCRIPTION: Display various statistics
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiDbDisplayStatistics (
- NATIVE_CHAR *TypeArg)
-{
- UINT32 i;
- UINT32 Type;
-
-
- if (!AcpiGbl_DSDT)
- {
- AcpiOsPrintf ("*** Warning: There is no DSDT loaded\n");
- }
-
- if (!TypeArg)
- {
- AcpiOsPrintf ("The following subcommands are available:\n ALLOCATIONS, OBJECTS, MEMORY, MISC, SIZES, TABLES\n");
- return (AE_OK);
- }
-
- STRUPR (TypeArg);
- Type = AcpiDbMatchArgument (TypeArg, AcpiDbStatTypes);
- if (Type == (UINT32) -1)
- {
- AcpiOsPrintf ("Invalid or unsupported argument\n");
- return (AE_OK);
- }
-
-#ifndef PARSER_ONLY
-
- AcpiDbCountNamespaceObjects ();
-#endif
-
-
- switch (Type)
- {
-#ifndef PARSER_ONLY
- case CMD_ALLOCATIONS:
- AcpiCmDumpAllocationInfo ();
- break;
-#endif
-
- case CMD_TABLES:
-
- AcpiOsPrintf ("ACPI Table Information:\n\n");
- if (AcpiGbl_DSDT)
- {
- AcpiOsPrintf ("DSDT Length:................% 7ld (%X)\n", AcpiGbl_DSDT->Length, AcpiGbl_DSDT->Length);
- }
- break;
-
- case CMD_OBJECTS:
-
- AcpiOsPrintf ("\nObjects defined in the current namespace:\n\n");
-
- AcpiOsPrintf ("%16.16s % 10.10s % 10.10s\n", "ACPI_TYPE", "NODES", "OBJECTS");
-
- for (i = 0; i < INTERNAL_TYPE_NODE_MAX; i++)
- {
- AcpiOsPrintf ("%16.16s % 10ld% 10ld\n", AcpiCmGetTypeName (i),
- AcpiGbl_NodeTypeCount [i], AcpiGbl_ObjTypeCount [i]);
- }
- AcpiOsPrintf ("%16.16s % 10ld% 10ld\n", "Misc/Unknown",
- AcpiGbl_NodeTypeCountMisc, AcpiGbl_ObjTypeCountMisc);
-
- AcpiOsPrintf ("%16.16s % 10ld% 10ld\n", "TOTALS:",
- NumNodes, NumObjects);
-
-
-/*
- AcpiOsPrintf ("\n");
-
- AcpiOsPrintf ("ASL/AML Grammar Usage:\n\n");
- AcpiOsPrintf ("Elements Inside Methods:....% 7ld\n", NumMethodElements);
- AcpiOsPrintf ("Elements Outside Methods:...% 7ld\n", NumGrammarElements - NumMethodElements);
- AcpiOsPrintf ("Total Grammar Elements:.....% 7ld\n", NumGrammarElements);
-*/
- break;
-
- case CMD_MEMORY:
-
- AcpiOsPrintf ("\nDynamic Memory Estimates:\n\n");
- AcpiOsPrintf ("Parse Tree without Methods:.% 7ld\n", SizeOfParseTree);
- AcpiOsPrintf ("Control Method Parse Trees:.% 7ld (If parsed simultaneously)\n", SizeOfMethodTrees);
- AcpiOsPrintf ("Namespace Nodes:............% 7ld (%d nodes)\n", sizeof (ACPI_NAMESPACE_NODE) * NumNodes, NumNodes);
- AcpiOsPrintf ("Named Internal Objects......% 7ld\n", SizeOfAcpiObjects);
- AcpiOsPrintf ("State Cache size............% 7ld\n", AcpiGbl_GenericStateCacheDepth * sizeof (ACPI_GENERIC_STATE));
- AcpiOsPrintf ("Parse Cache size............% 7ld\n", AcpiGbl_ParseCacheDepth * sizeof (ACPI_PARSE_OBJECT));
- AcpiOsPrintf ("Object Cache size...........% 7ld\n", AcpiGbl_ObjectCacheDepth * sizeof (ACPI_OPERAND_OBJECT));
- AcpiOsPrintf ("WalkState Cache size........% 7ld\n", AcpiGbl_WalkStateCacheDepth * sizeof (ACPI_WALK_STATE));
-
- AcpiOsPrintf ("\n");
-
- AcpiOsPrintf ("Cache Statistics:\n\n");
- AcpiOsPrintf ("State Cache requests........% 7ld\n", AcpiGbl_StateCacheRequests);
- AcpiOsPrintf ("State Cache hits............% 7ld\n", AcpiGbl_StateCacheHits);
- AcpiOsPrintf ("State Cache depth...........% 7ld (%d remaining entries)\n", AcpiGbl_GenericStateCacheDepth,
- MAX_STATE_CACHE_DEPTH - AcpiGbl_GenericStateCacheDepth);
- AcpiOsPrintf ("Parse Cache requests........% 7ld\n", AcpiGbl_ParseCacheRequests);
- AcpiOsPrintf ("Parse Cache hits............% 7ld\n", AcpiGbl_ParseCacheHits);
- AcpiOsPrintf ("Parse Cache depth...........% 7ld (%d remaining entries)\n", AcpiGbl_ParseCacheDepth,
- MAX_PARSE_CACHE_DEPTH - AcpiGbl_ParseCacheDepth);
- AcpiOsPrintf ("Ext Parse Cache requests....% 7ld\n", AcpiGbl_ExtParseCacheRequests);
- AcpiOsPrintf ("Ext Parse Cache hits........% 7ld\n", AcpiGbl_ExtParseCacheHits);
- AcpiOsPrintf ("Ext Parse Cache depth.......% 7ld (%d remaining entries)\n", AcpiGbl_ExtParseCacheDepth,
- MAX_EXTPARSE_CACHE_DEPTH - AcpiGbl_ExtParseCacheDepth);
- AcpiOsPrintf ("Object Cache requests.......% 7ld\n", AcpiGbl_ObjectCacheRequests);
- AcpiOsPrintf ("Object Cache hits...........% 7ld\n", AcpiGbl_ObjectCacheHits);
- AcpiOsPrintf ("Object Cache depth..........% 7ld (%d remaining entries)\n", AcpiGbl_ObjectCacheDepth,
- MAX_OBJECT_CACHE_DEPTH - AcpiGbl_ObjectCacheDepth);
- AcpiOsPrintf ("WalkState Cache requests....% 7ld\n", AcpiGbl_WalkStateCacheRequests);
- AcpiOsPrintf ("WalkState Cache hits........% 7ld\n", AcpiGbl_WalkStateCacheHits);
- AcpiOsPrintf ("WalkState Cache depth.......% 7ld (%d remaining entries)\n", AcpiGbl_WalkStateCacheDepth,
- MAX_WALK_CACHE_DEPTH - AcpiGbl_WalkStateCacheDepth);
- break;
-
- case CMD_MISC:
-
- AcpiOsPrintf ("\nMiscellaneous Statistics:\n\n");
- AcpiOsPrintf ("Calls to AcpiPsFind:.. ........% 7ld\n", AcpiGbl_PsFindCount);
- AcpiOsPrintf ("Calls to AcpiNsLookup:..........% 7ld\n", AcpiGbl_NsLookupCount);
-
- AcpiOsPrintf ("\n");
-
- AcpiOsPrintf ("Mutex usage:\n\n");
- for (i = 0; i < NUM_MTX; i++)
- {
- AcpiOsPrintf ("%-20s: % 7ld\n", AcpiCmGetMutexName (i), AcpiGbl_AcpiMutexInfo[i].UseCount);
- }
- break;
-
-
- case CMD_SIZES:
-
- AcpiOsPrintf ("\nInternal object sizes:\n\n");
-
- AcpiOsPrintf ("Common %3d\n", sizeof (ACPI_OBJECT_COMMON));
- AcpiOsPrintf ("Number %3d\n", sizeof (ACPI_OBJECT_INTEGER));
- AcpiOsPrintf ("String %3d\n", sizeof (ACPI_OBJECT_STRING));
- AcpiOsPrintf ("Buffer %3d\n", sizeof (ACPI_OBJECT_BUFFER));
- AcpiOsPrintf ("Package %3d\n", sizeof (ACPI_OBJECT_PACKAGE));
- AcpiOsPrintf ("FieldUnit %3d\n", sizeof (ACPI_OBJECT_FIELD_UNIT));
- AcpiOsPrintf ("Device %3d\n", sizeof (ACPI_OBJECT_DEVICE));
- AcpiOsPrintf ("Event %3d\n", sizeof (ACPI_OBJECT_EVENT));
- AcpiOsPrintf ("Method %3d\n", sizeof (ACPI_OBJECT_METHOD));
- AcpiOsPrintf ("Mutex %3d\n", sizeof (ACPI_OBJECT_MUTEX));
- AcpiOsPrintf ("Region %3d\n", sizeof (ACPI_OBJECT_REGION));
- AcpiOsPrintf ("PowerResource %3d\n", sizeof (ACPI_OBJECT_POWER_RESOURCE));
- AcpiOsPrintf ("Processor %3d\n", sizeof (ACPI_OBJECT_PROCESSOR));
- AcpiOsPrintf ("ThermalZone %3d\n", sizeof (ACPI_OBJECT_THERMAL_ZONE));
- AcpiOsPrintf ("Field %3d\n", sizeof (ACPI_OBJECT_FIELD));
- AcpiOsPrintf ("BankField %3d\n", sizeof (ACPI_OBJECT_BANK_FIELD));
- AcpiOsPrintf ("IndexField %3d\n", sizeof (ACPI_OBJECT_INDEX_FIELD));
- AcpiOsPrintf ("Reference %3d\n", sizeof (ACPI_OBJECT_REFERENCE));
- AcpiOsPrintf ("NotifyHandler %3d\n", sizeof (ACPI_OBJECT_NOTIFY_HANDLER));
- AcpiOsPrintf ("AddrHandler %3d\n", sizeof (ACPI_OBJECT_ADDR_HANDLER));
- AcpiOsPrintf ("Extra %3d\n", sizeof (ACPI_OBJECT_EXTRA));
-
- AcpiOsPrintf ("\n");
-
- AcpiOsPrintf ("ParseObject %3d\n", sizeof (ACPI_PARSE_OBJECT));
- AcpiOsPrintf ("Parse2Object %3d\n", sizeof (ACPI_PARSE2_OBJECT));
- AcpiOsPrintf ("OperandObject %3d\n", sizeof (ACPI_OPERAND_OBJECT));
- AcpiOsPrintf ("NamespaceNode %3d\n", sizeof (ACPI_NAMESPACE_NODE));
-
- break;
-
- }
-
- AcpiOsPrintf ("\n");
- return (AE_OK);
-}
-
-
-#endif /* ENABLE_DEBUGGER */
diff --git a/sys/contrib/dev/acpica/Subsystem/Debugger/dbutils.c b/sys/contrib/dev/acpica/Subsystem/Debugger/dbutils.c
deleted file mode 100644
index 2c0bae7eff00..000000000000
--- a/sys/contrib/dev/acpica/Subsystem/Debugger/dbutils.c
+++ /dev/null
@@ -1,465 +0,0 @@
-/*******************************************************************************
- *
- * Module Name: dbutils - AML debugger utilities
- * $Revision: 35 $
- *
- ******************************************************************************/
-
-/******************************************************************************
- *
- * 1. Copyright Notice
- *
- * Some or all of this work - Copyright (c) 1999, 2000, 2001, Intel Corp.
- * All rights reserved.
- *
- * 2. License
- *
- * 2.1. This is your license from Intel Corp. under its intellectual property
- * rights. You may have additional license terms from the party that provided
- * you this software, covering your right to use that party's intellectual
- * property rights.
- *
- * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
- * copy of the source code appearing in this file ("Covered Code") an
- * irrevocable, perpetual, worldwide license under Intel's copyrights in the
- * base code distributed originally by Intel ("Original Intel Code") to copy,
- * make derivatives, distribute, use and display any portion of the Covered
- * Code in any form, with the right to sublicense such rights; and
- *
- * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
- * license (with the right to sublicense), under only those claims of Intel
- * patents that are infringed by the Original Intel Code, to make, use, sell,
- * offer to sell, and import the Covered Code and derivative works thereof
- * solely to the minimum extent necessary to exercise the above copyright
- * license, and in no event shall the patent license extend to any additions
- * to or modifications of the Original Intel Code. No other license or right
- * is granted directly or by implication, estoppel or otherwise;
- *
- * The above copyright and patent license is granted only if the following
- * conditions are met:
- *
- * 3. Conditions
- *
- * 3.1. Redistribution of Source with Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification with rights to further distribute source must include
- * the above Copyright Notice, the above License, this list of Conditions,
- * and the following Disclaimer and Export Compliance provision. In addition,
- * Licensee must cause all Covered Code to which Licensee contributes to
- * contain a file documenting the changes Licensee made to create that Covered
- * Code and the date of any change. Licensee must include in that file the
- * documentation of any changes made by any predecessor Licensee. Licensee
- * must include a prominent statement that the modification is derived,
- * directly or indirectly, from Original Intel Code.
- *
- * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification without rights to further distribute source must
- * include the following Disclaimer and Export Compliance provision in the
- * documentation and/or other materials provided with distribution. In
- * addition, Licensee may not authorize further sublicense of source of any
- * portion of the Covered Code, and must include terms to the effect that the
- * license from Licensee to its licensee is limited to the intellectual
- * property embodied in the software Licensee provides to its licensee, and
- * not to intellectual property embodied in modifications its licensee may
- * make.
- *
- * 3.3. Redistribution of Executable. Redistribution in executable form of any
- * substantial portion of the Covered Code or modification must reproduce the
- * above Copyright Notice, and the following Disclaimer and Export Compliance
- * provision in the documentation and/or other materials provided with the
- * distribution.
- *
- * 3.4. Intel retains all right, title, and interest in and to the Original
- * Intel Code.
- *
- * 3.5. Neither the name Intel nor any other trademark owned or controlled by
- * Intel shall be used in advertising or otherwise to promote the sale, use or
- * other dealings in products derived from or relating to the Covered Code
- * without prior written authorization from Intel.
- *
- * 4. Disclaimer and Export Compliance
- *
- * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
- * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
- * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
- * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
- * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
- * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
- * PARTICULAR PURPOSE.
- *
- * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
- * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
- * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
- * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
- * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
- * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
- * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
- * LIMITED REMEDY.
- *
- * 4.3. Licensee shall not export, either directly or indirectly, any of this
- * software or system incorporating such software without first obtaining any
- * required license or other approval from the U. S. Department of Commerce or
- * any other agency or department of the United States Government. In the
- * event Licensee exports any such software from the United States or
- * re-exports any such software from a foreign destination, Licensee shall
- * ensure that the distribution and export/re-export of the software is in
- * compliance with all laws, regulations, orders, or other restrictions of the
- * U.S. Export Administration Regulations. Licensee agrees that neither it nor
- * any of its subsidiaries will export/re-export any technical data, process,
- * software, or service, directly or indirectly, to any country for which the
- * United States government or any agency thereof requires an export license,
- * other governmental approval, or letter of assurance, without first obtaining
- * such license, approval or letter.
- *
- *****************************************************************************/
-
-
-#include "acpi.h"
-#include "acparser.h"
-#include "amlcode.h"
-#include "acnamesp.h"
-#include "acparser.h"
-#include "acevents.h"
-#include "acinterp.h"
-#include "acdebug.h"
-#include "acdispat.h"
-
-
-#ifdef ENABLE_DEBUGGER
-
-#define _COMPONENT DEBUGGER
- MODULE_NAME ("dbutils")
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbSetOutputDestination
- *
- * PARAMETERS: OutputFlags - Current flags word
- *
- * RETURN: None
- *
- * DESCRIPTION: Set the current destination for debugger output. Alos sets
- * the debug output level accordingly.
- *
- ******************************************************************************/
-
-void
-AcpiDbSetOutputDestination (
- UINT32 OutputFlags)
-{
-
- AcpiGbl_DbOutputFlags = (UINT8) OutputFlags;
-
- if (OutputFlags & DB_REDIRECTABLE_OUTPUT)
- {
- if (OutputToFile)
- {
- AcpiDbgLevel = AcpiGbl_DbDebugLevel;
- }
- }
- else
- {
- AcpiDbgLevel = AcpiGbl_DbConsoleDebugLevel;
- }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDumpBuffer
- *
- * PARAMETERS: Address - Pointer to the buffer
- *
- * RETURN: None
- *
- * DESCRIPTION: Print a portion of a buffer
- *
- ******************************************************************************/
-
-void
-AcpiDbDumpBuffer (
- UINT32 Address)
-{
-
- AcpiOsPrintf ("\nLocation %X:\n", Address);
-
- AcpiDbgLevel |= TRACE_TABLES;
- AcpiCmDumpBuffer ((UINT8 *) Address, 64, DB_BYTE_DISPLAY, ACPI_UINT32_MAX);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbDumpObject
- *
- * PARAMETERS: ObjDesc - External ACPI object to dump
- * Level - Nesting level.
- *
- * RETURN: None
- *
- * DESCRIPTION: Dump the contents of an ACPI external object
- *
- ******************************************************************************/
-
-void
-AcpiDbDumpObject (
- ACPI_OBJECT *ObjDesc,
- UINT32 Level)
-{
- UINT32 i;
-
-
- if (!ObjDesc)
- {
- AcpiOsPrintf ("[Null Object]\n");
- return;
- }
-
- for (i = 0; i < Level; i++)
- {
- AcpiOsPrintf (" ");
- }
-
- switch (ObjDesc->Type)
- {
- case ACPI_TYPE_ANY:
-
- AcpiOsPrintf ("[Object Reference] Value: %p\n", ObjDesc->Reference.Handle);
- break;
-
-
- case ACPI_TYPE_INTEGER:
- AcpiOsPrintf ("[Number] Value: %ld (%lX)\n", ObjDesc->Integer.Value, ObjDesc->Integer.Value);
- break;
-
-
- case ACPI_TYPE_STRING:
-
- AcpiOsPrintf ("[String] Value: ");
- for (i = 0; i < ObjDesc->String.Length; i++)
- {
- AcpiOsPrintf ("%c", ObjDesc->String.Pointer[i]);
- }
- AcpiOsPrintf ("\n");
- break;
-
-
- case ACPI_TYPE_BUFFER:
-
- AcpiOsPrintf ("[Buffer] Value: ");
- AcpiCmDumpBuffer ((UINT8 *) ObjDesc->Buffer.Pointer, ObjDesc->Buffer.Length, DB_DWORD_DISPLAY, _COMPONENT);
- break;
-
-
- case ACPI_TYPE_PACKAGE:
-
- AcpiOsPrintf ("[Package] Contains %d Elements: \n", ObjDesc->Package.Count);
-
- for (i = 0; i < ObjDesc->Package.Count; i++)
- {
- AcpiDbDumpObject (&ObjDesc->Package.Elements[i], Level+1);
- }
- break;
-
-
- case INTERNAL_TYPE_REFERENCE:
- AcpiOsPrintf ("[Object Reference] Value: %p\n", ObjDesc->Reference.Handle);
- break;
-
- case ACPI_TYPE_PROCESSOR:
- AcpiOsPrintf ("[Processor]\n");
- break;
-
- case ACPI_TYPE_POWER:
- AcpiOsPrintf ("[Power Resource]\n");
- break;
-
- default:
-
- AcpiOsPrintf ("[Unknown Type] %X \n", ObjDesc->Type);
- break;
- }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbPrepNamestring
- *
- * PARAMETERS: Name - String to prepare
- *
- * RETURN: None
- *
- * DESCRIPTION: Translate all forward slashes and dots to backslashes.
- *
- ******************************************************************************/
-
-void
-AcpiDbPrepNamestring (
- NATIVE_CHAR *Name)
-{
-
-
- if (!Name)
- {
- return;
- }
-
- STRUPR (Name);
-
- /* Convert a leading forward slash to a backslash */
-
- if (*Name == '/')
- {
- *Name = '\\';
- }
-
- /* Ignore a leading backslash, this is the root prefix */
-
- if (*Name == '\\')
- {
- Name++;
- }
-
- /* Convert all slash path separators to dots */
-
- while (*Name)
- {
- if ((*Name == '/') ||
- (*Name == '\\'))
- {
- *Name = '.';
- }
-
- Name++;
- }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbSecondPassParse
- *
- * PARAMETERS: Root - Root of the parse tree
- *
- * RETURN: Status
- *
- * DESCRIPTION: Second pass parse of the ACPI tables. We need to wait until
- * second pass to parse the control methods
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiDbSecondPassParse (
- ACPI_PARSE_OBJECT *Root)
-{
- ACPI_PARSE_OBJECT *Op = Root;
- ACPI_PARSE2_OBJECT *Method;
- ACPI_PARSE_OBJECT *SearchOp;
- ACPI_PARSE_OBJECT *StartOp;
- ACPI_STATUS Status = AE_OK;
- UINT32 BaseAmlOffset;
-
-
- AcpiOsPrintf ("Pass two parse ....\n");
-
- while (Op)
- {
- if (Op->Opcode == AML_METHOD_OP)
- {
- Method = (ACPI_PARSE2_OBJECT *) Op;
- Status = AcpiPsParseAml (Op, Method->Data, Method->Length, 0,
- NULL, NULL, NULL, AcpiDsLoad1BeginOp, AcpiDsLoad1EndOp);
-
-
- BaseAmlOffset = (Method->Value.Arg)->AmlOffset + 1;
- StartOp = (Method->Value.Arg)->Next;
- SearchOp = StartOp;
-
- while (SearchOp)
- {
- SearchOp->AmlOffset += BaseAmlOffset;
- SearchOp = AcpiPsGetDepthNext (StartOp, SearchOp);
- }
-
- }
-
- if (Op->Opcode == AML_REGION_OP)
- {
- /* TBD: [Investigate] this isn't quite the right thing to do! */
- /*
- *
- * Method = (ACPI_DEFERRED_OP *) Op;
- * Status = AcpiPsParseAml (Op, Method->Body, Method->BodyLength);
- */
- }
-
- if (ACPI_FAILURE (Status))
- {
- return (Status);
- }
-
- Op = AcpiPsGetDepthNext (Root, Op);
- }
-
- return (Status);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbLocalNsLookup
- *
- * PARAMETERS: Name - Name to lookup
- *
- * RETURN: Pointer to a namespace node
- *
- * DESCRIPTION: Lookup a name in the ACPI namespace
- *
- ******************************************************************************/
-
-ACPI_NAMESPACE_NODE *
-AcpiDbLocalNsLookup (
- NATIVE_CHAR *Name)
-{
- NATIVE_CHAR *InternalPath;
- ACPI_STATUS Status;
- ACPI_NAMESPACE_NODE *Node = NULL;
-
-
- AcpiDbPrepNamestring (Name);
-
- /* Build an internal namestring */
-
- Status = AcpiNsInternalizeName (Name, &InternalPath);
- if (ACPI_FAILURE (Status))
- {
- AcpiOsPrintf ("Invalid namestring: %s\n", Name);
- return (NULL);
- }
-
- /* Lookup the name */
-
- /* TBD: [Investigate] what scope do we use? */
- /* Use the root scope for the start of the search */
-
- Status = AcpiNsLookup (NULL, InternalPath, ACPI_TYPE_ANY, IMODE_EXECUTE,
- NS_NO_UPSEARCH | NS_DONT_OPEN_SCOPE, NULL, &Node);
-
- if (ACPI_FAILURE (Status))
- {
- AcpiOsPrintf ("Could not locate name: %s %s\n", Name, AcpiCmFormatException (Status));
- }
-
-
- AcpiCmFree (InternalPath);
-
- return (Node);
-}
-
-
-#endif /* ENABLE_DEBUGGER */
-
-
diff --git a/sys/contrib/dev/acpica/Subsystem/Debugger/dbxface.c b/sys/contrib/dev/acpica/Subsystem/Debugger/dbxface.c
deleted file mode 100644
index 4116655ce074..000000000000
--- a/sys/contrib/dev/acpica/Subsystem/Debugger/dbxface.c
+++ /dev/null
@@ -1,432 +0,0 @@
-/*******************************************************************************
- *
- * Module Name: dbxface - AML Debugger external interfaces
- * $Revision: 34 $
- *
- ******************************************************************************/
-
-/******************************************************************************
- *
- * 1. Copyright Notice
- *
- * Some or all of this work - Copyright (c) 1999, 2000, 2001, Intel Corp.
- * All rights reserved.
- *
- * 2. License
- *
- * 2.1. This is your license from Intel Corp. under its intellectual property
- * rights. You may have additional license terms from the party that provided
- * you this software, covering your right to use that party's intellectual
- * property rights.
- *
- * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
- * copy of the source code appearing in this file ("Covered Code") an
- * irrevocable, perpetual, worldwide license under Intel's copyrights in the
- * base code distributed originally by Intel ("Original Intel Code") to copy,
- * make derivatives, distribute, use and display any portion of the Covered
- * Code in any form, with the right to sublicense such rights; and
- *
- * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
- * license (with the right to sublicense), under only those claims of Intel
- * patents that are infringed by the Original Intel Code, to make, use, sell,
- * offer to sell, and import the Covered Code and derivative works thereof
- * solely to the minimum extent necessary to exercise the above copyright
- * license, and in no event shall the patent license extend to any additions
- * to or modifications of the Original Intel Code. No other license or right
- * is granted directly or by implication, estoppel or otherwise;
- *
- * The above copyright and patent license is granted only if the following
- * conditions are met:
- *
- * 3. Conditions
- *
- * 3.1. Redistribution of Source with Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification with rights to further distribute source must include
- * the above Copyright Notice, the above License, this list of Conditions,
- * and the following Disclaimer and Export Compliance provision. In addition,
- * Licensee must cause all Covered Code to which Licensee contributes to
- * contain a file documenting the changes Licensee made to create that Covered
- * Code and the date of any change. Licensee must include in that file the
- * documentation of any changes made by any predecessor Licensee. Licensee
- * must include a prominent statement that the modification is derived,
- * directly or indirectly, from Original Intel Code.
- *
- * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification without rights to further distribute source must
- * include the following Disclaimer and Export Compliance provision in the
- * documentation and/or other materials provided with distribution. In
- * addition, Licensee may not authorize further sublicense of source of any
- * portion of the Covered Code, and must include terms to the effect that the
- * license from Licensee to its licensee is limited to the intellectual
- * property embodied in the software Licensee provides to its licensee, and
- * not to intellectual property embodied in modifications its licensee may
- * make.
- *
- * 3.3. Redistribution of Executable. Redistribution in executable form of any
- * substantial portion of the Covered Code or modification must reproduce the
- * above Copyright Notice, and the following Disclaimer and Export Compliance
- * provision in the documentation and/or other materials provided with the
- * distribution.
- *
- * 3.4. Intel retains all right, title, and interest in and to the Original
- * Intel Code.
- *
- * 3.5. Neither the name Intel nor any other trademark owned or controlled by
- * Intel shall be used in advertising or otherwise to promote the sale, use or
- * other dealings in products derived from or relating to the Covered Code
- * without prior written authorization from Intel.
- *
- * 4. Disclaimer and Export Compliance
- *
- * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
- * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
- * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
- * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
- * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
- * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
- * PARTICULAR PURPOSE.
- *
- * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
- * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
- * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
- * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
- * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
- * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
- * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
- * LIMITED REMEDY.
- *
- * 4.3. Licensee shall not export, either directly or indirectly, any of this
- * software or system incorporating such software without first obtaining any
- * required license or other approval from the U. S. Department of Commerce or
- * any other agency or department of the United States Government. In the
- * event Licensee exports any such software from the United States or
- * re-exports any such software from a foreign destination, Licensee shall
- * ensure that the distribution and export/re-export of the software is in
- * compliance with all laws, regulations, orders, or other restrictions of the
- * U.S. Export Administration Regulations. Licensee agrees that neither it nor
- * any of its subsidiaries will export/re-export any technical data, process,
- * software, or service, directly or indirectly, to any country for which the
- * United States government or any agency thereof requires an export license,
- * other governmental approval, or letter of assurance, without first obtaining
- * such license, approval or letter.
- *
- *****************************************************************************/
-
-
-#include "acpi.h"
-#include "acparser.h"
-#include "amlcode.h"
-#include "acnamesp.h"
-#include "acparser.h"
-#include "acevents.h"
-#include "acinterp.h"
-#include "acdebug.h"
-
-
-#ifdef ENABLE_DEBUGGER
-
-#define _COMPONENT DEBUGGER
- MODULE_NAME ("dbxface")
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbSingleStep
- *
- * PARAMETERS: WalkState - Current walk
- * Op - Current executing op
- * OpType - Type of the current AML Opcode
- *
- * RETURN: Status
- *
- * DESCRIPTION: Called just before execution of an AML opcode.
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiDbSingleStep (
- ACPI_WALK_STATE *WalkState,
- ACPI_PARSE_OBJECT *Op,
- UINT8 OpType)
-{
- ACPI_PARSE_OBJECT *Next;
- ACPI_STATUS Status = AE_OK;
- UINT32 OriginalDebugLevel;
- ACPI_PARSE_OBJECT *DisplayOp;
-
-
- /* Is there a breakpoint set? */
-
- if (WalkState->MethodBreakpoint)
- {
- /* Check if the breakpoint has been reached or passed */
-
- if (WalkState->MethodBreakpoint <= Op->AmlOffset)
- {
- /* Hit the breakpoint, resume single step, reset breakpoint */
-
- AcpiOsPrintf ("***Break*** at AML offset %X\n", Op->AmlOffset);
- AcpiGbl_CmSingleStep = TRUE;
- AcpiGbl_StepToNextCall = FALSE;
- WalkState->MethodBreakpoint = 0;
- }
- }
-
-
- /*
- * Check if this is an opcode that we are interested in --
- * namely, opcodes that have arguments
- */
-
- if (Op->Opcode == AML_NAMEDFIELD_OP)
- {
- return (AE_OK);
- }
-
- switch (OpType)
- {
- case OPTYPE_UNDEFINED:
- case OPTYPE_CONSTANT: /* argument type only */
- case OPTYPE_LITERAL: /* argument type only */
- case OPTYPE_DATA_TERM: /* argument type only */
- case OPTYPE_LOCAL_VARIABLE: /* argument type only */
- case OPTYPE_METHOD_ARGUMENT: /* argument type only */
- return (AE_OK);
- break;
-
- case OPTYPE_NAMED_OBJECT:
- switch (Op->Opcode)
- {
- case AML_NAMEPATH_OP:
- return (AE_OK);
- break;
- }
- }
-
-
- /*
- * Under certain debug conditions, display this opcode and its operands
- */
-
- if ((OutputToFile) ||
- (AcpiGbl_CmSingleStep) ||
- (AcpiDbgLevel & TRACE_PARSE))
- {
- if ((OutputToFile) ||
- (AcpiDbgLevel & TRACE_PARSE))
- {
- AcpiOsPrintf ("\n[AmlDebug] Next AML Opcode to execute:\n");
- }
-
- /*
- * Display this op (and only this op - zero out the NEXT field temporarily,
- * and disable parser trace output for the duration of the display because
- * we don't want the extraneous debug output)
- */
-
- OriginalDebugLevel = AcpiDbgLevel;
- AcpiDbgLevel &= ~(TRACE_PARSE | TRACE_FUNCTIONS);
- Next = Op->Next;
- Op->Next = NULL;
-
-
- DisplayOp = Op;
- if (Op->Parent)
- {
- if ((Op->Parent->Opcode == AML_IF_OP) ||
- (Op->Parent->Opcode == AML_WHILE_OP))
- {
- DisplayOp = Op->Parent;
- }
- }
-
- /* Now we can display it */
-
- AcpiDbDisplayOp (WalkState, DisplayOp, ACPI_UINT32_MAX);
-
- if ((Op->Opcode == AML_IF_OP) ||
- (Op->Opcode == AML_WHILE_OP))
- {
- if (WalkState->ControlState->Common.Value)
- {
- AcpiOsPrintf ("Predicate was TRUE, executed block\n");
- }
- else
- {
- AcpiOsPrintf ("Predicate is FALSE, skipping block\n");
- }
- }
-
- else if (Op->Opcode == AML_ELSE_OP)
- {
- /* TBD */
- }
-
-
- /* Restore everything */
-
- Op->Next = Next;
- AcpiOsPrintf ("\n");
- AcpiDbgLevel = OriginalDebugLevel;
- }
-
-
- /* If we are not single stepping, just continue executing the method */
-
- if (!AcpiGbl_CmSingleStep)
- {
- return (AE_OK);
- }
-
-
- /*
- * If we are executing a step-to-call command,
- * Check if this is a method call.
- */
-
- if (AcpiGbl_StepToNextCall)
- {
- if (Op->Opcode != AML_METHODCALL_OP)
- {
- /* Not a method call, just keep executing */
-
- return (AE_OK);
- }
-
- /* Found a method call, stop executing */
-
- AcpiGbl_StepToNextCall = FALSE;
- }
-
-
- /*
- * If the next opcode is a method call, we will "step over" it
- * by default.
- */
-
- if (Op->Opcode == AML_METHODCALL_OP)
- {
- AcpiGbl_CmSingleStep = FALSE; /* No more single step while executing called method */
-
- /* Set the breakpoint on the call, it will stop execution as soon as we return */
-
- /* TBD: [Future] don't kill the user breakpoint! */
-
- WalkState->MethodBreakpoint = /* Op->AmlOffset + */ 1; /* Must be non-zero! */
- }
-
-
- /* TBD: [Investigate] what are the namespace locking issues here */
-
- /* AcpiCmReleaseMutex (ACPI_MTX_NAMESPACE); */
-
- /* Go into the command loop and await next user command */
-
- AcpiGbl_MethodExecuting = TRUE;
- Status = AE_CTRL_TRUE;
- while (Status == AE_CTRL_TRUE)
- {
- if (AcpiGbl_DebuggerConfiguration == DEBUGGER_MULTI_THREADED)
- {
- /* Handshake with the front-end that gets user command lines */
-
- AcpiCmReleaseMutex (ACPI_MTX_DEBUG_CMD_COMPLETE);
- AcpiCmAcquireMutex (ACPI_MTX_DEBUG_CMD_READY);
- }
-
- else
- {
- /* Single threaded, we must get a command line ourselves */
-
- /* Force output to console until a command is entered */
-
- AcpiDbSetOutputDestination (DB_CONSOLE_OUTPUT);
-
- /* Different prompt if method is executing */
-
- if (!AcpiGbl_MethodExecuting)
- {
- AcpiOsPrintf ("%1c ", DB_COMMAND_PROMPT);
- }
- else
- {
- AcpiOsPrintf ("%1c ", DB_EXECUTE_PROMPT);
- }
-
- /* Get the user input line */
-
- AcpiOsGetLine (LineBuf);
- }
-
- Status = AcpiDbCommandDispatch (LineBuf, WalkState, Op);
- }
-
- /* AcpiCmAcquireMutex (ACPI_MTX_NAMESPACE); */
-
-
- /* User commands complete, continue execution of the interrupted method */
-
- return (Status);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION: AcpiDbInitialize
- *
- * PARAMETERS: None
- *
- * RETURN: Status
- *
- * DESCRIPTION: Init and start debugger
- *
- ******************************************************************************/
-
-int
-AcpiDbInitialize (void)
-{
-
-
- /* Init globals */
-
- Buffer = AcpiOsAllocate (BUFFER_SIZE);
-
- /* Initial scope is the root */
-
- ScopeBuf [0] = '\\';
- ScopeBuf [1] = 0;
-
-
- /*
- * If configured for multi-thread support, the debug executor runs in
- * a separate thread so that the front end can be in another address
- * space, environment, or even another machine.
- */
-
- if (AcpiGbl_DebuggerConfiguration & DEBUGGER_MULTI_THREADED)
- {
- /* These were created with one unit, grab it */
-
- AcpiCmAcquireMutex (ACPI_MTX_DEBUG_CMD_COMPLETE);
- AcpiCmAcquireMutex (ACPI_MTX_DEBUG_CMD_READY);
-
- /* Create the debug execution thread to execute commands */
-
- AcpiOsQueueForExecution (0, AcpiDbExecuteThread, NULL);
- }
-
- if (!opt_verbose)
- {
- INDENT_STRING = " ";
- opt_disasm = TRUE;
- opt_stats = FALSE;
- }
-
-
- return (0);
-}
-
-
-#endif /* ENABLE_DEBUGGER */