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