svn commit: r211661 - in user/imp/tbemd/sys/contrib/dev/acpica: . debugger disassembler dispatcher events hardware include namespace utilities

Warner Losh imp at FreeBSD.org
Sun Aug 22 21:55:13 UTC 2010


Author: imp
Date: Sun Aug 22 21:55:12 2010
New Revision: 211661
URL: http://svn.freebsd.org/changeset/base/211661

Log:
  Merge to head @211636 -- with hand tweaks [given up] hoping for the best

Added:
  user/imp/tbemd/sys/contrib/dev/acpica/utilities/utosi.c
     - copied unchanged from r211636, head/sys/contrib/dev/acpica/utilities/utosi.c
Modified:
  user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbcmds.c
  user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbdisply.c
  user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbexec.c
  user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbfileio.c
  user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbhistry.c
  user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbinput.c
  user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbutils.c
  user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmobject.c
  user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmopcode.c
  user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmresrc.c
  user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsinit.c
  user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsmethod.c
  user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsmthdat.c
  user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsobject.c
  user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsopcode.c
  user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsutils.c
  user/imp/tbemd/sys/contrib/dev/acpica/events/evgpe.c
  user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeblk.c
  user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeinit.c
  user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeutil.c
  user/imp/tbemd/sys/contrib/dev/acpica/events/evrgnini.c
  user/imp/tbemd/sys/contrib/dev/acpica/events/evxface.c
  user/imp/tbemd/sys/contrib/dev/acpica/events/evxfevnt.c
  user/imp/tbemd/sys/contrib/dev/acpica/hardware/hwgpe.c
  user/imp/tbemd/sys/contrib/dev/acpica/hardware/hwsleep.c
  user/imp/tbemd/sys/contrib/dev/acpica/hardware/hwvalid.c
  user/imp/tbemd/sys/contrib/dev/acpica/include/acconfig.h
  user/imp/tbemd/sys/contrib/dev/acpica/include/acdebug.h
  user/imp/tbemd/sys/contrib/dev/acpica/include/acdisasm.h
  user/imp/tbemd/sys/contrib/dev/acpica/include/acevents.h
  user/imp/tbemd/sys/contrib/dev/acpica/include/acexcep.h
  user/imp/tbemd/sys/contrib/dev/acpica/include/acglobal.h
  user/imp/tbemd/sys/contrib/dev/acpica/include/achware.h
  user/imp/tbemd/sys/contrib/dev/acpica/include/aclocal.h
  user/imp/tbemd/sys/contrib/dev/acpica/include/acnamesp.h
  user/imp/tbemd/sys/contrib/dev/acpica/include/acobject.h
  user/imp/tbemd/sys/contrib/dev/acpica/include/acoutput.h
  user/imp/tbemd/sys/contrib/dev/acpica/include/acpiosxf.h
  user/imp/tbemd/sys/contrib/dev/acpica/include/acpixf.h
  user/imp/tbemd/sys/contrib/dev/acpica/include/acpredef.h
  user/imp/tbemd/sys/contrib/dev/acpica/include/acstruct.h
  user/imp/tbemd/sys/contrib/dev/acpica/include/actbl.h
  user/imp/tbemd/sys/contrib/dev/acpica/include/actbl2.h
  user/imp/tbemd/sys/contrib/dev/acpica/include/actypes.h
  user/imp/tbemd/sys/contrib/dev/acpica/include/acutils.h
  user/imp/tbemd/sys/contrib/dev/acpica/namespace/nsaccess.c
  user/imp/tbemd/sys/contrib/dev/acpica/namespace/nsalloc.c
  user/imp/tbemd/sys/contrib/dev/acpica/namespace/nsdump.c
  user/imp/tbemd/sys/contrib/dev/acpica/namespace/nsinit.c
  user/imp/tbemd/sys/contrib/dev/acpica/namespace/nsnames.c
  user/imp/tbemd/sys/contrib/dev/acpica/namespace/nsparse.c
  user/imp/tbemd/sys/contrib/dev/acpica/namespace/nsrepair.c
  user/imp/tbemd/sys/contrib/dev/acpica/namespace/nsrepair2.c
  user/imp/tbemd/sys/contrib/dev/acpica/namespace/nssearch.c
  user/imp/tbemd/sys/contrib/dev/acpica/namespace/nsutils.c
  user/imp/tbemd/sys/contrib/dev/acpica/namespace/nswalk.c
  user/imp/tbemd/sys/contrib/dev/acpica/namespace/nsxfobj.c
  user/imp/tbemd/sys/contrib/dev/acpica/osunixxf.c
  user/imp/tbemd/sys/contrib/dev/acpica/utilities/uteval.c
  user/imp/tbemd/sys/contrib/dev/acpica/utilities/utglobal.c
  user/imp/tbemd/sys/contrib/dev/acpica/utilities/utinit.c
  user/imp/tbemd/sys/contrib/dev/acpica/utilities/utmisc.c
  user/imp/tbemd/sys/contrib/dev/acpica/utilities/utmutex.c
  user/imp/tbemd/sys/contrib/dev/acpica/utilities/uttrack.c
  user/imp/tbemd/sys/contrib/dev/acpica/utilities/utxface.c

Modified: user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbcmds.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbcmds.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbcmds.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -477,7 +477,7 @@ AcpiDbCheckPredefinedNames (
     (void) AcpiWalkNamespace (ACPI_TYPE_ANY, ACPI_ROOT_OBJECT, ACPI_UINT32_MAX,
                 AcpiDbWalkForPredefinedNames, NULL, (void *) &Count, NULL);
 
-    AcpiOsPrintf ("Found %d predefined names in the namespace\n", Count);
+    AcpiOsPrintf ("Found %u predefined names in the namespace\n", Count);
 }
 
 
@@ -619,7 +619,7 @@ AcpiDbBatchExecute (
     (void) AcpiWalkNamespace (ACPI_TYPE_ANY, ACPI_ROOT_OBJECT, ACPI_UINT32_MAX,
                 AcpiDbWalkForExecute, NULL, (void *) &Info, NULL);
 
-    AcpiOsPrintf ("Executed %d predefined names in the namespace\n", Info.Count);
+    AcpiOsPrintf ("Executed %u predefined names in the namespace\n", Info.Count);
 }
 
 
@@ -678,7 +678,7 @@ AcpiDbDisplayTableInfo (
     for (i = 0; i < AcpiGbl_RootTableList.CurrentTableCount; i++)
     {
         TableDesc = &AcpiGbl_RootTableList.Tables[i];
-        AcpiOsPrintf ("%d ", i);
+        AcpiOsPrintf ("%u ", i);
 
         /* Make sure that the table is mapped */
 
@@ -1182,7 +1182,7 @@ AcpiDbSetMethodData (
 
         if (Index > ACPI_METHOD_MAX_ARG)
         {
-            AcpiOsPrintf ("Arg%d - Invalid argument name\n", Index);
+            AcpiOsPrintf ("Arg%u - Invalid argument name\n", Index);
             goto Cleanup;
         }
 
@@ -1195,7 +1195,7 @@ AcpiDbSetMethodData (
 
         ObjDesc = WalkState->Arguments[Index].Object;
 
-        AcpiOsPrintf ("Arg%d: ", Index);
+        AcpiOsPrintf ("Arg%u: ", Index);
         AcpiDmDisplayInternalObject (ObjDesc, WalkState);
         break;
 
@@ -1205,7 +1205,7 @@ AcpiDbSetMethodData (
 
         if (Index > ACPI_METHOD_MAX_LOCAL)
         {
-            AcpiOsPrintf ("Local%d - Invalid local variable name\n", Index);
+            AcpiOsPrintf ("Local%u - Invalid local variable name\n", Index);
             goto Cleanup;
         }
 
@@ -1218,7 +1218,7 @@ AcpiDbSetMethodData (
 
         ObjDesc = WalkState->LocalVariables[Index].Object;
 
-        AcpiOsPrintf ("Local%d: ", Index);
+        AcpiOsPrintf ("Local%u: ", Index);
         AcpiDmDisplayInternalObject (ObjDesc, WalkState);
         break;
 
@@ -1336,6 +1336,98 @@ AcpiDbDisplayObjects (
 
 /*******************************************************************************
  *
+ * FUNCTION:    AcpiDbDisplayInterfaces
+ *
+ * PARAMETERS:  ActionArg           - Null, "install", or "remove"
+ *              InterfaceNameArg    - Name for install/remove options
+ *
+ * RETURN:      None
+ *
+ * DESCRIPTION: Display or modify the global _OSI interface list
+ *
+ ******************************************************************************/
+
+void
+AcpiDbDisplayInterfaces (
+    char                    *ActionArg,
+    char                    *InterfaceNameArg)
+{
+    ACPI_INTERFACE_INFO     *NextInterface;
+    char                    *SubString;
+    ACPI_STATUS             Status;
+
+
+    /* If no arguments, just display current interface list */
+
+    if (!ActionArg)
+    {
+        (void) AcpiOsAcquireMutex (AcpiGbl_OsiMutex,
+                    ACPI_WAIT_FOREVER);
+
+        NextInterface = AcpiGbl_SupportedInterfaces;
+
+        while (NextInterface)
+        {
+            if (!(NextInterface->Flags & ACPI_OSI_INVALID))
+            {
+                AcpiOsPrintf ("%s\n", NextInterface->Name);
+            }
+            NextInterface = NextInterface->Next;
+        }
+
+        AcpiOsReleaseMutex (AcpiGbl_OsiMutex);
+        return;
+    }
+
+    /* If ActionArg exists, so must InterfaceNameArg */
+
+    if (!InterfaceNameArg)
+    {
+        AcpiOsPrintf ("Missing Interface Name argument\n");
+        return;
+    }
+
+    /* Uppercase the action for match below */
+
+    AcpiUtStrupr (ActionArg);
+
+    /* Install - install an interface */
+
+    SubString = ACPI_STRSTR ("INSTALL", ActionArg);
+    if (SubString)
+    {
+        Status = AcpiInstallInterface (InterfaceNameArg);
+        if (ACPI_FAILURE (Status))
+        {
+            AcpiOsPrintf ("%s, while installing \"%s\"\n",
+                AcpiFormatException (Status), InterfaceNameArg);
+        }
+        return;
+    }
+
+    /* Remove - remove an interface */
+
+    SubString = ACPI_STRSTR ("REMOVE", ActionArg);
+    if (SubString)
+    {
+        Status = AcpiRemoveInterface (InterfaceNameArg);
+        if (ACPI_FAILURE (Status))
+        {
+            AcpiOsPrintf ("%s, while removing \"%s\"\n",
+                AcpiFormatException (Status), InterfaceNameArg);
+        }
+        return;
+    }
+
+    /* Invalid ActionArg */
+
+    AcpiOsPrintf ("Invalid action argument: %s\n", ActionArg);
+    return;
+}
+
+
+/*******************************************************************************
+ *
  * FUNCTION:    AcpiDbWalkAndMatchName
  *
  * PARAMETERS:  Callback from WalkNamespace
@@ -1942,7 +2034,7 @@ AcpiDbCheckIntegrity (
     (void) AcpiWalkNamespace (ACPI_TYPE_ANY, ACPI_ROOT_OBJECT, ACPI_UINT32_MAX,
                     AcpiDbIntegrityWalk, NULL, (void *) &Info, NULL);
 
-    AcpiOsPrintf ("Verified %d namespace nodes with %d Objects\n",
+    AcpiOsPrintf ("Verified %u namespace nodes with %u Objects\n",
         Info.Nodes, Info.Objects);
 }
 

Modified: user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbdisply.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbdisply.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbdisply.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -612,7 +612,7 @@ AcpiDbDisplayResults (
     for (i = 0; i < ResultCount; i++)
     {
         ObjDesc = Frame->Results.ObjDesc[Index];
-        AcpiOsPrintf ("Result%d: ", i);
+        AcpiOsPrintf ("Result%u: ", i);
         AcpiDmDisplayInternalObject (ObjDesc, WalkState);
         if (Index == 0)
         {
@@ -722,7 +722,7 @@ AcpiDbDisplayObjectType (
     {
         for (i = 0; i < Info->CompatibleIdList.Count; i++)
         {
-            AcpiOsPrintf ("CID %d: %s\n", i,
+            AcpiOsPrintf ("CID %u: %s\n", i,
                 Info->CompatibleIdList.Ids[i].String);
         }
     }
@@ -854,7 +854,7 @@ AcpiDbDisplayGpes (
                 GpeType = "GPE Block Device";
             }
 
-            AcpiOsPrintf ("\nBlock %d - Info %p  DeviceNode %p [%s] - %s\n",
+            AcpiOsPrintf ("\nBlock %u - Info %p  DeviceNode %p [%s] - %s\n",
                 Block, GpeBlock, GpeBlock->Node, Buffer, GpeType);
 
             AcpiOsPrintf ("    Registers:    %u (%u GPEs)\n",
@@ -904,9 +904,9 @@ AcpiDbDisplayGpes (
                     }
 
                     AcpiOsPrintf (
-                        "        GPE %.2X: %p  RunRefs %2.2X   WakeRefs %2.2X Flags %2.2X (",
+                        "        GPE %.2X: %p  RunRefs %2.2X Flags %2.2X (",
                         GpeBlock->BlockBaseNumber + GpeIndex, GpeEventInfo,
-                        GpeEventInfo->RuntimeCount, GpeEventInfo->WakeupCount,
+                        GpeEventInfo->RuntimeCount,
                         GpeEventInfo->Flags);
 
                     /* Decode the flags byte */

Modified: user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbexec.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbexec.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbexec.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -602,7 +602,7 @@ AcpiDbMethodThread (
 #if 0
         if ((i % 100) == 0)
         {
-            AcpiOsPrintf ("%d executions, Thread 0x%x\n", i, AcpiOsGetThreadId ());
+            AcpiOsPrintf ("%u executions, Thread 0x%x\n", i, AcpiOsGetThreadId ());
         }
 
         if (ReturnObj.Length)

Modified: user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbfileio.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbfileio.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbfileio.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -289,7 +289,7 @@ AcpiDbCheckTextModeCorruption (
      * meaning that we cannot simply replace CR/LF pairs with LFs.
      */
     AcpiOsPrintf ("Table has been corrupted by text mode conversion\n");
-    AcpiOsPrintf ("All LFs (%d) were changed to CR/LF pairs\n", Pairs);
+    AcpiOsPrintf ("All LFs (%u) were changed to CR/LF pairs\n", Pairs);
     AcpiOsPrintf ("Table cannot be repaired!\n");
     return (AE_BAD_VALUE);
 }

Modified: user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbhistry.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbhistry.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbhistry.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -284,7 +284,7 @@ AcpiDbGetFromHistory (
         }
     }
 
-    AcpiOsPrintf ("Invalid history number: %d\n", HistoryIndex);
+    AcpiOsPrintf ("Invalid history number: %u\n", HistoryIndex);
     return (NULL);
 }
 

Modified: user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbinput.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbinput.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbinput.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -194,6 +194,7 @@ enum AcpiExDebuggerCommands
     CMD_NOTIFY,
     CMD_OBJECT,
     CMD_OPEN,
+    CMD_OSI,
     CMD_OWNER,
     CMD_PREDEFINED,
     CMD_PREFIX,
@@ -260,6 +261,7 @@ static const COMMAND_INFO       AcpiGbl_
     {"NOTIFY",       2},
     {"OBJECT",       1},
     {"OPEN",         1},
+    {"OSI",          0},
     {"OWNER",        1},
     {"PREDEFINED",   0},
     {"PREFIX",       0},
@@ -333,6 +335,7 @@ AcpiDbDisplayHelp (
         AcpiOsPrintf ("History                             Display command history buffer\n");
         AcpiOsPrintf ("Level [<DebugLevel>] [console]      Get/Set debug level for file or console\n");
         AcpiOsPrintf ("Locks                               Current status of internal mutexes\n");
+        AcpiOsPrintf ("Osi [Install|Remove <name>]         Display or modify global _OSI list\n");
         AcpiOsPrintf ("Quit or Exit                        Exit this command\n");
         AcpiOsPrintf ("Stats [Allocations|Memory|Misc\n");
         AcpiOsPrintf ("      |Objects|Sizes|Stack|Tables]  Display namespace and memory statistics\n");
@@ -455,13 +458,30 @@ AcpiDbGetNextToken (
         }
     }
 
-    Start = String;
+    if (*String == '"')
+    {
+        /* This is a quoted string, scan until closing quote */
+
+        String++;
+        Start = String;
 
-    /* Find end of token */
+        /* Find end of token */
 
-    while (*String && (*String != ' '))
+        while (*String && (*String != '"'))
+        {
+            String++;
+        }
+    }
+    else
     {
-        String++;
+        Start = String;
+
+        /* Find end of token */
+
+        while (*String && (*String != ' '))
+        {
+            String++;
+        }
     }
 
     if (!(*String))
@@ -613,7 +633,7 @@ AcpiDbCommandDispatch (
 
     if (ParamCount < AcpiGbl_DbCommands[CommandIndex].MinArgs)
     {
-        AcpiOsPrintf ("%d parameters entered, [%s] requires %d parameters\n",
+        AcpiOsPrintf ("%u parameters entered, [%s] requires %u parameters\n",
             ParamCount, AcpiGbl_DbCommands[CommandIndex].Name,
             AcpiGbl_DbCommands[CommandIndex].MinArgs);
 
@@ -820,6 +840,10 @@ AcpiDbCommandDispatch (
         AcpiDbOpenDebugFile (AcpiGbl_DbArgs[1]);
         break;
 
+    case CMD_OSI:
+        AcpiDbDisplayInterfaces (AcpiGbl_DbArgs[1], AcpiGbl_DbArgs[2]);
+        break;
+
     case CMD_OWNER:
         AcpiDbDumpNamespaceByOwner (AcpiGbl_DbArgs[1], AcpiGbl_DbArgs[2]);
         break;

Modified: user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbutils.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbutils.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/debugger/dbutils.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -291,7 +291,7 @@ AcpiDbDumpExternalObject (
 
     case ACPI_TYPE_PACKAGE:
 
-        AcpiOsPrintf ("[Package] Contains %d Elements:\n",
+        AcpiOsPrintf ("[Package] Contains %u Elements:\n",
                 ObjDesc->Package.Count);
 
         for (i = 0; i < ObjDesc->Package.Count; i++)

Modified: user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmobject.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmobject.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmobject.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -289,7 +289,7 @@ AcpiDmDecodeInternalObject (
 
     case ACPI_TYPE_STRING:
 
-        AcpiOsPrintf ("(%d) \"%.24s",
+        AcpiOsPrintf ("(%u) \"%.24s",
                 ObjDesc->String.Length, ObjDesc->String.Pointer);
 
         if (ObjDesc->String.Length > 24)
@@ -305,7 +305,7 @@ AcpiDmDecodeInternalObject (
 
     case ACPI_TYPE_BUFFER:
 
-        AcpiOsPrintf ("(%d)", ObjDesc->Buffer.Length);
+        AcpiOsPrintf ("(%u)", ObjDesc->Buffer.Length);
         for (i = 0; (i < 8) && (i < ObjDesc->Buffer.Length); i++)
         {
             AcpiOsPrintf (" %2.2X", ObjDesc->Buffer.Pointer[i]);
@@ -651,7 +651,7 @@ AcpiDmDisplayArguments (
     for (i = 0; i < ACPI_METHOD_NUM_ARGS; i++)
     {
         ObjDesc = WalkState->Arguments[i].Object;
-        AcpiOsPrintf ("    Arg%d:   ", i);
+        AcpiOsPrintf ("    Arg%u:   ", i);
         AcpiDmDisplayInternalObject (ObjDesc, WalkState);
     }
 }

Modified: user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmopcode.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmopcode.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmopcode.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -163,7 +163,7 @@ AcpiDmMethodFlags (
 
     /* 1) Method argument count */
 
-    AcpiOsPrintf (", %d, ", Args);
+    AcpiOsPrintf (", %u, ", Args);
 
     /* 2) Serialize rule */
 
@@ -178,7 +178,7 @@ AcpiDmMethodFlags (
 
     if (Flags & 0xF0)
     {
-        AcpiOsPrintf (", %d", Flags >> 4);
+        AcpiOsPrintf (", %u", Flags >> 4);
     }
 }
 
@@ -550,7 +550,7 @@ AcpiDmDisassembleOneOp (
     case AML_INT_NAMEDFIELD_OP:
 
         Length = AcpiDmDumpName (Op->Named.Name);
-        AcpiOsPrintf (",%*.s  %d", (int) (5 - Length), " ",
+        AcpiOsPrintf (",%*.s  %u", (unsigned) (5 - Length), " ",
             (UINT32) Op->Common.Value.Integer);
         AcpiDmCommaIfFieldMember (Op);
 
@@ -571,7 +571,7 @@ AcpiDmDisassembleOneOp (
         }
         else
         {
-            AcpiOsPrintf ("    ,   %d", Offset);
+            AcpiOsPrintf ("    ,   %u", Offset);
         }
 
         AcpiDmCommaIfFieldMember (Op);

Modified: user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmresrc.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmresrc.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/disassembler/dmresrc.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -290,7 +290,7 @@ AcpiDmBitList (
                 AcpiOsPrintf (",");
             }
             Previous = TRUE;
-            AcpiOsPrintf ("%d", i);
+            AcpiOsPrintf ("%u", i);
         }
 
         Mask >>= 1;

Modified: user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsinit.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsinit.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsinit.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -263,12 +263,12 @@ AcpiDsInitializeObjects (
         "**** Starting initialization of namespace objects ****\n"));
     ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INIT, "Parsing all Control Methods:"));
 
-    Info.MethodCount    = 0;
-    Info.OpRegionCount  = 0;
-    Info.ObjectCount    = 0;
-    Info.DeviceCount    = 0;
-    Info.TableIndex     = TableIndex;
-    Info.OwnerId        = OwnerId;
+    /* Set all init info to zero */
+
+    ACPI_MEMSET (&Info, 0, sizeof (ACPI_INIT_WALK_INFO));
+
+    Info.OwnerId = OwnerId;
+    Info.TableIndex = TableIndex;
 
     /* Walk entire namespace from the supplied root */
 
@@ -297,12 +297,12 @@ AcpiDsInitializeObjects (
     }
 
     ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INIT,
-        "\nTable [%4.4s](id %4.4X) - %hd Objects with %hd Devices %hd Methods %hd Regions\n",
+        "\nTable [%4.4s](id %4.4X) - %u Objects with %u Devices %u Methods %u Regions\n",
         Table->Signature, OwnerId, Info.ObjectCount,
         Info.DeviceCount, Info.MethodCount, Info.OpRegionCount));
 
     ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH,
-        "%hd Methods, %hd Regions\n", Info.MethodCount, Info.OpRegionCount));
+        "%u Methods, %u Regions\n", Info.MethodCount, Info.OpRegionCount));
 
     return_ACPI_STATUS (AE_OK);
 }

Modified: user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsmethod.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsmethod.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsmethod.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -700,7 +700,18 @@ AcpiDsTerminateControlMethod (
          */
         if (!(MethodDesc->Method.Flags & AOPOBJ_MODULE_LEVEL))
         {
-            AcpiNsDeleteNamespaceByOwner (MethodDesc->Method.OwnerId);
+            /* Delete any direct children of (created by) this method */
+
+            AcpiNsDeleteNamespaceSubtree (WalkState->MethodNode);
+
+            /*
+             * Delete any objects that were created by this method
+             * elsewhere in the namespace (if any were created).
+             */
+            if (MethodDesc->Method.Flags & AOPOBJ_MODIFIED_NAMESPACE)
+            {
+                AcpiNsDeleteNamespaceByOwner (MethodDesc->Method.OwnerId);
+            }
         }
     }
 
@@ -725,7 +736,7 @@ AcpiDsTerminateControlMethod (
          * we immediately reuse it for the next thread executing this method
          */
         ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH,
-            "*** Completed execution of one thread, %d threads remaining\n",
+            "*** Completed execution of one thread, %u threads remaining\n",
             MethodDesc->Method.ThreadCount));
     }
     else

Modified: user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsmthdat.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsmthdat.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsmthdat.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -188,8 +188,7 @@ AcpiDsMethodDataInit (
         WalkState->Arguments[i].Name.Integer |= (i << 24);
         WalkState->Arguments[i].DescriptorType = ACPI_DESC_TYPE_NAMED;
         WalkState->Arguments[i].Type = ACPI_TYPE_ANY;
-        WalkState->Arguments[i].Flags =
-            ANOBJ_END_OF_PEER_LIST | ANOBJ_METHOD_ARG;
+        WalkState->Arguments[i].Flags = ANOBJ_METHOD_ARG;
     }
 
     /* Init the method locals */
@@ -201,8 +200,7 @@ AcpiDsMethodDataInit (
         WalkState->LocalVariables[i].Name.Integer |= (i << 24);
         WalkState->LocalVariables[i].DescriptorType = ACPI_DESC_TYPE_NAMED;
         WalkState->LocalVariables[i].Type = ACPI_TYPE_ANY;
-        WalkState->LocalVariables[i].Flags =
-            ANOBJ_END_OF_PEER_LIST | ANOBJ_METHOD_LOCAL;
+        WalkState->LocalVariables[i].Flags = ANOBJ_METHOD_LOCAL;
     }
 
     return_VOID;
@@ -238,7 +236,7 @@ AcpiDsMethodDataDeleteAll (
     {
         if (WalkState->LocalVariables[Index].Object)
         {
-            ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Deleting Local%d=%p\n",
+            ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Deleting Local%u=%p\n",
                     Index, WalkState->LocalVariables[Index].Object));
 
             /* Detach object (if present) and remove a reference */
@@ -253,7 +251,7 @@ AcpiDsMethodDataDeleteAll (
     {
         if (WalkState->Arguments[Index].Object)
         {
-            ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Deleting Arg%d=%p\n",
+            ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Deleting Arg%u=%p\n",
                     Index, WalkState->Arguments[Index].Object));
 
             /* Detach object (if present) and remove a reference */
@@ -322,7 +320,7 @@ AcpiDsMethodDataInitArgs (
         Index++;
     }
 
-    ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "%d args passed to method\n", Index));
+    ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "%u args passed to method\n", Index));
     return_ACPI_STATUS (AE_OK);
 }
 
@@ -429,7 +427,7 @@ AcpiDsMethodDataSetValue (
 
 
     ACPI_DEBUG_PRINT ((ACPI_DB_EXEC,
-        "NewObj %p Type %2.2X, Refs=%d [%s]\n", Object,
+        "NewObj %p Type %2.2X, Refs=%u [%s]\n", Object,
         Type, Object->Common.ReferenceCount,
         AcpiUtGetTypeName (Object->Common.Type)));
 
@@ -667,7 +665,7 @@ AcpiDsStoreObjectToLocal (
 
 
     ACPI_FUNCTION_TRACE (DsStoreObjectToLocal);
-    ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Type=%2.2X Index=%d Obj=%p\n",
+    ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "Type=%2.2X Index=%u Obj=%p\n",
         Type, Index, ObjDesc));
 
     /* Parameter validation */

Modified: user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsobject.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsobject.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsobject.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -159,6 +159,7 @@ AcpiDsBuildInternalObject (
 {
     ACPI_OPERAND_OBJECT     *ObjDesc;
     ACPI_STATUS             Status;
+    ACPI_OBJECT_TYPE        Type;
 
 
     ACPI_FUNCTION_TRACE (DsBuildInternalObject);
@@ -241,7 +242,20 @@ AcpiDsBuildInternalObject (
                 return_ACPI_STATUS (Status);
             }
 
-            switch (Op->Common.Node->Type)
+            /*
+             * Special handling for Alias objects. We need to setup the type
+             * and the Op->Common.Node to point to the Alias target. Note,
+             * Alias has at most one level of indirection internally.
+             */
+            Type = Op->Common.Node->Type;
+            if (Type == ACPI_TYPE_LOCAL_ALIAS)
+            {
+                Type = ObjDesc->Common.Type;
+                Op->Common.Node = ACPI_CAST_PTR (ACPI_NAMESPACE_NODE,
+                    Op->Common.Node->Object);
+            }
+
+            switch (Type)
             {
             /*
              * For these types, we need the actual node, not the subobject.

Modified: user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsopcode.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsopcode.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsopcode.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -307,7 +307,7 @@ AcpiDsGetBufferFieldArguments (
 
     /* Execute the AML code for the TermArg arguments */
 
-    Status = AcpiDsExecuteArguments (Node, AcpiNsGetParentNode (Node),
+    Status = AcpiDsExecuteArguments (Node, Node->Parent,
                 ExtraDesc->Extra.AmlLength, ExtraDesc->Extra.AmlStart);
     return_ACPI_STATUS (Status);
 }
@@ -354,7 +354,7 @@ AcpiDsGetBankFieldArguments (
 
     /* Execute the AML code for the TermArg arguments */
 
-    Status = AcpiDsExecuteArguments (Node, AcpiNsGetParentNode (Node),
+    Status = AcpiDsExecuteArguments (Node, Node->Parent,
                 ExtraDesc->Extra.AmlLength, ExtraDesc->Extra.AmlStart);
     return_ACPI_STATUS (Status);
 }
@@ -505,7 +505,7 @@ AcpiDsGetRegionArguments (
 
     /* Execute the argument AML */
 
-    Status = AcpiDsExecuteArguments (Node, AcpiNsGetParentNode (Node),
+    Status = AcpiDsExecuteArguments (Node, Node->Parent,
                 ExtraDesc->Extra.AmlLength, ExtraDesc->Extra.AmlStart);
     return_ACPI_STATUS (Status);
 }

Modified: user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsutils.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsutils.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/dispatcher/dsutils.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -875,7 +875,7 @@ AcpiDsCreateOperands (
 
         Index--;
 
-        ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH, "Arg #%d (%p) done, Arg1=%p\n",
+        ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH, "Arg #%u (%p) done, Arg1=%p\n",
             Index, Arg, FirstArg));
     }
 
@@ -890,7 +890,7 @@ Cleanup:
      */
     AcpiDsObjStackPopAndDelete (ArgCount, WalkState);
 
-    ACPI_EXCEPTION ((AE_INFO, Status, "While creating Arg %d", Index));
+    ACPI_EXCEPTION ((AE_INFO, Status, "While creating Arg %u", Index));
     return_ACPI_STATUS (Status);
 }
 

Modified: user/imp/tbemd/sys/contrib/dev/acpica/events/evgpe.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/events/evgpe.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/events/evgpe.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -134,26 +134,26 @@ AcpiEvAsynchEnableGpe (
 
 /*******************************************************************************
  *
- * FUNCTION:    AcpiEvUpdateGpeEnableMasks
+ * FUNCTION:    AcpiEvUpdateGpeEnableMask
  *
  * PARAMETERS:  GpeEventInfo            - GPE to update
  *
  * RETURN:      Status
  *
- * DESCRIPTION: Updates GPE register enable masks based upon whether there are
- *              references (either wake or run) to this GPE
+ * DESCRIPTION: Updates GPE register enable mask based upon whether there are
+ *              runtime references to this GPE
  *
  ******************************************************************************/
 
 ACPI_STATUS
-AcpiEvUpdateGpeEnableMasks (
+AcpiEvUpdateGpeEnableMask (
     ACPI_GPE_EVENT_INFO     *GpeEventInfo)
 {
     ACPI_GPE_REGISTER_INFO  *GpeRegisterInfo;
-    UINT8                   RegisterBit;
+    UINT32                  RegisterBit;
 
 
-    ACPI_FUNCTION_TRACE (EvUpdateGpeEnableMasks);
+    ACPI_FUNCTION_TRACE (EvUpdateGpeEnableMask);
 
 
     GpeRegisterInfo = GpeEventInfo->RegisterInfo;
@@ -162,24 +162,17 @@ AcpiEvUpdateGpeEnableMasks (
         return_ACPI_STATUS (AE_NOT_EXIST);
     }
 
-    RegisterBit = (UINT8)
-        (1 << (GpeEventInfo->GpeNumber - GpeRegisterInfo->BaseGpeNumber));
+    RegisterBit = AcpiHwGetGpeRegisterBit (GpeEventInfo, GpeRegisterInfo);
 
-    /* Clear the wake/run bits up front */
+    /* Clear the run bit up front */
 
-    ACPI_CLEAR_BIT (GpeRegisterInfo->EnableForWake, RegisterBit);
     ACPI_CLEAR_BIT (GpeRegisterInfo->EnableForRun, RegisterBit);
 
-    /* Set the mask bits only if there are references to this GPE */
+    /* Set the mask bit only if there are references to this GPE */
 
     if (GpeEventInfo->RuntimeCount)
     {
-        ACPI_SET_BIT (GpeRegisterInfo->EnableForRun, RegisterBit);
-    }
-
-    if (GpeEventInfo->WakeupCount)
-    {
-        ACPI_SET_BIT (GpeRegisterInfo->EnableForWake, RegisterBit);
+        ACPI_SET_BIT (GpeRegisterInfo->EnableForRun, (UINT8) RegisterBit);
     }
 
     return_ACPI_STATUS (AE_OK);
@@ -194,10 +187,7 @@ AcpiEvUpdateGpeEnableMasks (
  *
  * RETURN:      Status
  *
- * DESCRIPTION: Hardware-enable a GPE. Always enables the GPE, regardless
- *              of type or number of references.
- *
- * Note: The GPE lock should be already acquired when this function is called.
+ * DESCRIPTION: Clear a GPE of stale events and enable it.
  *
  ******************************************************************************/
 
@@ -222,14 +212,6 @@ AcpiEvEnableGpe (
         return_ACPI_STATUS (AE_NO_HANDLER);
     }
 
-    /* Ensure the HW enable masks are current */
-
-    Status = AcpiEvUpdateGpeEnableMasks (GpeEventInfo);
-    if (ACPI_FAILURE (Status))
-    {
-        return_ACPI_STATUS (Status);
-    }
-
     /* Clear the GPE (of stale events) */
 
     Status = AcpiHwClearGpe (GpeEventInfo);
@@ -240,59 +222,7 @@ AcpiEvEnableGpe (
 
     /* Enable the requested GPE */
 
-    Status = AcpiHwWriteGpeEnableReg (GpeEventInfo);
-    return_ACPI_STATUS (Status);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiEvDisableGpe
- *
- * PARAMETERS:  GpeEventInfo            - GPE to disable
- *
- * RETURN:      Status
- *
- * DESCRIPTION: Hardware-disable a GPE. Always disables the requested GPE,
- *              regardless of the type or number of references.
- *
- * Note: The GPE lock should be already acquired when this function is called.
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiEvDisableGpe (
-    ACPI_GPE_EVENT_INFO     *GpeEventInfo)
-{
-    ACPI_STATUS             Status;
-
-
-    ACPI_FUNCTION_TRACE (EvDisableGpe);
-
-
-    /*
-     * Note: Always disable the GPE, even if we think that that it is already
-     * disabled. It is possible that the AML or some other code has enabled
-     * the GPE behind our back.
-     */
-
-    /* Ensure the HW enable masks are current */
-
-    Status = AcpiEvUpdateGpeEnableMasks (GpeEventInfo);
-    if (ACPI_FAILURE (Status))
-    {
-        return_ACPI_STATUS (Status);
-    }
-
-    /*
-     * Always H/W disable this GPE, even if we don't know the GPE type.
-     * Simply clear the enable bit for this particular GPE, but do not
-     * write out the current GPE enable mask since this may inadvertently
-     * enable GPEs too early. An example is a rogue GPE that has arrived
-     * during ACPICA initialization - possibly because AML or other code
-     * has enabled the GPE.
-     */
-    Status = AcpiHwLowDisableGpe (GpeEventInfo);
+    Status = AcpiHwLowSetGpe (GpeEventInfo, ACPI_GPE_ENABLE);
     return_ACPI_STATUS (Status);
 }
 
@@ -578,10 +508,6 @@ AcpiEvAsynchExecuteGpeMethod (
         return_VOID;
     }
 
-    /* Update the GPE register masks for return to enabled state */
-
-    (void) AcpiEvUpdateGpeEnableMasks (GpeEventInfo);
-
     /*
      * Take a snapshot of the GPE info for this level - we copy the info to
      * prevent a race condition with RemoveHandler/RemoveBlock.
@@ -677,9 +603,11 @@ AcpiEvAsynchEnableGpe (
         }
     }
 
-    /* Enable this GPE */
-
-    (void) AcpiHwWriteGpeEnableReg (GpeEventInfo);
+    /*
+     * Enable this GPE, conditionally. This means that the GPE will only be
+     * physically enabled if the EnableForRun bit is set in the EventInfo
+     */
+    (void) AcpiHwLowSetGpe (GpeEventInfo, ACPI_GPE_CONDITIONAL_ENABLE);
 
 Exit:
     ACPI_FREE (GpeEventInfo);
@@ -772,7 +700,7 @@ AcpiEvGpeDispatch (
          * Disable the GPE, so it doesn't keep firing before the method has a
          * chance to run (it runs asynchronously with interrupts enabled).
          */
-        Status = AcpiEvDisableGpe (GpeEventInfo);
+        Status = AcpiHwLowSetGpe (GpeEventInfo, ACPI_GPE_DISABLE);
         if (ACPI_FAILURE (Status))
         {
             ACPI_EXCEPTION ((AE_INFO, Status,
@@ -806,10 +734,10 @@ AcpiEvGpeDispatch (
             GpeNumber));
 
         /*
-         * Disable the GPE. The GPE will remain disabled a handler
+         * Disable the GPE. The GPE will remain disabled until a handler
          * is installed or ACPICA is restarted.
          */
-        Status = AcpiEvDisableGpe (GpeEventInfo);
+        Status = AcpiHwLowSetGpe (GpeEventInfo, ACPI_GPE_DISABLE);
         if (ACPI_FAILURE (Status))
         {
             ACPI_EXCEPTION ((AE_INFO, Status,

Modified: user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeblk.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeblk.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeblk.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -613,6 +613,18 @@ AcpiEvInitializeGpeBlock (
 
             GpeIndex = (i * ACPI_GPE_REGISTER_WIDTH) + j;
             GpeEventInfo = &GpeBlock->EventInfo[GpeIndex];
+            GpeNumber = GpeIndex + GpeBlock->BlockBaseNumber;
+
+            /*
+             * If the GPE has already been enabled for runtime
+             * signalling, make sure that it remains enabled, but
+             * do not increment its reference count.
+             */
+            if (GpeEventInfo->RuntimeCount)
+            {
+                Status = AcpiEvEnableGpe (GpeEventInfo);
+                goto Enabled;
+            }
 
             /* Ignore GPEs that can wake the system */
 
@@ -634,9 +646,8 @@ AcpiEvInitializeGpeBlock (
 
             /* Enable this GPE */
 
-            GpeNumber = GpeIndex + GpeBlock->BlockBaseNumber;
-            Status = AcpiEnableGpe (GpeDevice, GpeNumber,
-                        ACPI_GPE_TYPE_RUNTIME);
+            Status = AcpiEnableGpe (GpeDevice, GpeNumber);
+Enabled:
             if (ACPI_FAILURE (Status))
             {
                 ACPI_EXCEPTION ((AE_INFO, Status,

Modified: user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeinit.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeinit.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeinit.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -575,8 +575,7 @@ AcpiEvMatchGpeMethod (
                 GpeDevice = NULL;
             }
 
-            Status = AcpiEnableGpe (GpeDevice, GpeNumber,
-                        ACPI_GPE_TYPE_RUNTIME);
+            Status = AcpiEnableGpe (GpeDevice, GpeNumber);
             if (ACPI_FAILURE (Status))
             {
                 ACPI_EXCEPTION ((AE_INFO, Status,

Modified: user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeutil.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeutil.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/events/evgpeutil.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -114,7 +114,6 @@
  *****************************************************************************/
 
 
-
 #include <contrib/dev/acpica/include/acpi.h>
 #include <contrib/dev/acpica/include/accommon.h>
 #include <contrib/dev/acpica/include/acevents.h>

Modified: user/imp/tbemd/sys/contrib/dev/acpica/events/evrgnini.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/events/evrgnini.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/events/evrgnini.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -294,7 +294,7 @@ AcpiEvPciConfigRegionSetup (
         return_ACPI_STATUS (Status);
     }
 
-    ParentNode = AcpiNsGetParentNode (RegionObj->Region.Node);
+    ParentNode = RegionObj->Region.Node->Parent;
 
     /*
      * Get the _SEG and _BBN values from the device upon which the handler
@@ -348,7 +348,7 @@ AcpiEvPciConfigRegionSetup (
                 break;
             }
 
-            PciRootNode = AcpiNsGetParentNode (PciRootNode);
+            PciRootNode = PciRootNode->Parent;
         }
 
         /* PCI root bridge not found, use namespace root node */
@@ -385,7 +385,7 @@ AcpiEvPciConfigRegionSetup (
     PciDeviceNode = RegionObj->Region.Node;
     while (PciDeviceNode && (PciDeviceNode->Type != ACPI_TYPE_DEVICE))
     {
-        PciDeviceNode = AcpiNsGetParentNode (PciDeviceNode);
+        PciDeviceNode = PciDeviceNode->Parent;
     }
 
     if (!PciDeviceNode)
@@ -661,7 +661,7 @@ AcpiEvInitializeRegion (
         return_ACPI_STATUS (AE_NOT_EXIST);
     }
 
-    Node = AcpiNsGetParentNode (RegionObj->Region.Node);
+    Node = RegionObj->Region.Node->Parent;
     SpaceId = RegionObj->Region.SpaceId;
 
     /* Setup defaults */
@@ -785,7 +785,7 @@ AcpiEvInitializeRegion (
 
         /* This node does not have the handler we need; Pop up one level */
 
-        Node = AcpiNsGetParentNode (Node);
+        Node = Node->Parent;
     }
 
     /* If we get here, there is no handler for this region */

Modified: user/imp/tbemd/sys/contrib/dev/acpica/events/evxface.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/events/evxface.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/events/evxface.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -747,14 +747,6 @@ AcpiInstallGpeHandler (
     Handler->Context    = Context;
     Handler->MethodNode = GpeEventInfo->Dispatch.MethodNode;
 
-    /* Disable the GPE before installing the handler */
-
-    Status = AcpiEvDisableGpe (GpeEventInfo);
-    if (ACPI_FAILURE (Status))
-    {
-        goto UnlockAndExit;
-    }
-
     /* Install the handler */
 
     Flags = AcpiOsAcquireLock (AcpiGbl_GpeLock);
@@ -845,14 +837,6 @@ AcpiRemoveGpeHandler (
         goto UnlockAndExit;
     }
 
-    /* Disable the GPE before removing the handler */
-
-    Status = AcpiEvDisableGpe (GpeEventInfo);
-    if (ACPI_FAILURE (Status))
-    {
-        goto UnlockAndExit;
-    }
-
     /* Remove the handler */
 
     Flags = AcpiOsAcquireLock (AcpiGbl_GpeLock);

Modified: user/imp/tbemd/sys/contrib/dev/acpica/events/evxfevnt.c
==============================================================================
--- user/imp/tbemd/sys/contrib/dev/acpica/events/evxfevnt.c	Sun Aug 22 21:54:40 2010	(r211660)
+++ user/imp/tbemd/sys/contrib/dev/acpica/events/evxfevnt.c	Sun Aug 22 21:55:12 2010	(r211661)
@@ -307,42 +307,107 @@ ACPI_EXPORT_SYMBOL (AcpiEnableEvent)
 
 /*******************************************************************************
  *
- * FUNCTION:    AcpiEnableGpe
+ * FUNCTION:    AcpiGpeWakeup
  *
  * PARAMETERS:  GpeDevice       - Parent GPE Device. NULL for GPE0/GPE1
  *              GpeNumber       - GPE level within the GPE block
- *              GpeType         - ACPI_GPE_TYPE_RUNTIME or ACPI_GPE_TYPE_WAKE
- *                                or both
+ *              Action          - Enable or Disable
  *
  * RETURN:      Status
  *
- * DESCRIPTION: Add a reference to a GPE. On the first reference, the GPE is
- *              hardware-enabled (for runtime GPEs), or the GPE register mask
- *              is updated (for wake GPEs).
+ * DESCRIPTION: Set or clear the GPE's wakeup enable mask bit.
  *
  ******************************************************************************/
 
 ACPI_STATUS
-AcpiEnableGpe (
+AcpiGpeWakeup (
     ACPI_HANDLE             GpeDevice,
     UINT32                  GpeNumber,
-    UINT8                   GpeType)
+    UINT8                   Action)
 {
     ACPI_STATUS             Status = AE_OK;
     ACPI_GPE_EVENT_INFO     *GpeEventInfo;

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-user mailing list