svn commit: r337713 - in head: sys/contrib/dev/acpica sys/contrib/dev/acpica/components/debugger sys/contrib/dev/acpica/components/dispatcher sys/contrib/dev/acpica/components/hardware sys/contrib/...
Jung-uk Kim
jkim at FreeBSD.org
Mon Aug 13 16:26:32 UTC 2018
Author: jkim
Date: Mon Aug 13 16:26:26 2018
New Revision: 337713
URL: https://svnweb.freebsd.org/changeset/base/337713
Log:
Merge ACPICA 20180810.
Modified:
head/sys/contrib/dev/acpica/changes.txt
head/sys/contrib/dev/acpica/components/debugger/dbinput.c
head/sys/contrib/dev/acpica/components/debugger/dbmethod.c
head/sys/contrib/dev/acpica/components/debugger/dbxface.c
head/sys/contrib/dev/acpica/components/dispatcher/dsfield.c
head/sys/contrib/dev/acpica/components/hardware/hwregs.c
head/sys/contrib/dev/acpica/components/hardware/hwsleep.c
head/sys/contrib/dev/acpica/components/namespace/nsaccess.c
head/sys/contrib/dev/acpica/components/parser/psloop.c
head/sys/contrib/dev/acpica/components/tables/tbdata.c
head/sys/contrib/dev/acpica/components/utilities/utdelete.c
head/sys/contrib/dev/acpica/components/utilities/uterror.c
head/sys/contrib/dev/acpica/components/utilities/utstrsuppt.c
head/sys/contrib/dev/acpica/components/utilities/utstrtoul64.c
head/sys/contrib/dev/acpica/include/acconfig.h
head/sys/contrib/dev/acpica/include/acexcep.h
head/sys/contrib/dev/acpica/include/aclocal.h
head/sys/contrib/dev/acpica/include/acnamesp.h
head/sys/contrib/dev/acpica/include/acpixf.h
head/sys/contrib/dev/acpica/include/acutils.h
head/usr.sbin/acpi/acpidb/Makefile
Directory Properties:
head/sys/contrib/dev/acpica/ (props changed)
Modified: head/sys/contrib/dev/acpica/changes.txt
==============================================================================
--- head/sys/contrib/dev/acpica/changes.txt Mon Aug 13 16:07:18 2018 (r337712)
+++ head/sys/contrib/dev/acpica/changes.txt Mon Aug 13 16:26:26 2018 (r337713)
@@ -1,4 +1,51 @@
----------------------------------------
+10 August 2018. Summary of changes for version 20180810:
+
+
+1) ACPICA kernel-resident subsystem:
+
+Initial ACPI table loading: Attempt to continue loading ACPI tables
+regardless of malformed AML. Since migrating table initialization to the
+new module-level code support, the AML interpreter rejected tables upon
+any ACPI error encountered during table load. This is a problem because
+non-serious ACPI errors during table load do not necessarily mean that
+the entire definition block (DSDT or SSDT) is invalid. This change
+improves the table loading by ignoring some types of errors that can be
+generated by incorrect AML. This can range from object type errors, scope
+errors, and index errors.
+
+Suspend/Resume support: Update to stop unconditionally clearing ACPI IRQs
+during suspend/resume. The status of ACPI events is no longer cleared
+when entering the ACPI S5 system state (power off) which caused some
+systems to power up immediately after turning off power in certain
+situations. This was a functional regression. It was fixed by clearing
+the status of all ACPI events again when entering S5 (for system-wide
+suspend or hibernation the clearing of the status of all events is not
+desirable, as it might cause the kernel to miss wakeup events sometimes).
+Rafael Wysocki.
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+AcpiExec: Enhanced the -fi option (Namespace initialization file). Field
+elements listed in the initialization file were previously initialized
+after the table load and before executing module-level code blocks.
+Recent changes in the module-level code support means that the table load
+becomes a large control method execution. If fields are used within
+module-level code and we are executing with the -fi option, the
+initialization values were used to initialize the namespace object(s)
+only after the table was finished loading. This change Provides an early
+initialization of objects specified in the initialization file so that
+field unit values are populated during the table load (not after the
+load).
+
+AcpiExec: Fixed a small memory leak regression that could result in
+warnings during exit of the utility. These warnings were similar to
+these:
+ 0002D690 Length 0x0006 nsnames-0502 [Not a Descriptor - too small]
+ 0002CD70 Length 0x002C utcache-0453 [Operand] Integer RefCount 0x0001
+
+----------------------------------------
29 June 2018. Summary of changes for version 20180629:
Modified: head/sys/contrib/dev/acpica/components/debugger/dbinput.c
==============================================================================
--- head/sys/contrib/dev/acpica/components/debugger/dbinput.c Mon Aug 13 16:07:18 2018 (r337712)
+++ head/sys/contrib/dev/acpica/components/debugger/dbinput.c Mon Aug 13 16:26:26 2018 (r337713)
@@ -969,7 +969,11 @@ AcpiDbCommandDispatch (
case CMD_DISASSEMBLE:
case CMD_DISASM:
+#ifdef ACPI_DISASSEMBLER
(void) AcpiDbDisassembleMethod (AcpiGbl_DbArgs[1]);
+#else
+ AcpiOsPrintf ("The AML Disassembler is not configured/present\n");
+#endif
break;
case CMD_DUMP:
@@ -1083,7 +1087,11 @@ AcpiDbCommandDispatch (
case CMD_LIST:
- AcpiDbDisassembleAml (AcpiGbl_DbArgs[1], Op);
+#ifdef ACPI_DISASSEMBLER
+ AcpiDbDisassembleAml (AcpiGbl_DbArgs[1], Op);;
+#else
+ AcpiOsPrintf ("The AML Disassembler is not configured/present\n");
+#endif
break;
case CMD_LOCKS:
Modified: head/sys/contrib/dev/acpica/components/debugger/dbmethod.c
==============================================================================
--- head/sys/contrib/dev/acpica/components/debugger/dbmethod.c Mon Aug 13 16:07:18 2018 (r337712)
+++ head/sys/contrib/dev/acpica/components/debugger/dbmethod.c Mon Aug 13 16:26:26 2018 (r337713)
@@ -393,6 +393,7 @@ Cleanup:
}
+#ifdef ACPI_DISASSEMBLER
/*******************************************************************************
*
* FUNCTION: AcpiDbDisassembleAml
@@ -426,9 +427,7 @@ AcpiDbDisassembleAml (
NumStatements = strtoul (Statements, NULL, 0);
}
-#ifdef ACPI_DISASSEMBLER
AcpiDmDisassemble (NULL, Op, NumStatements);
-#endif
}
@@ -511,8 +510,6 @@ AcpiDbDisassembleMethod (
WalkState->ParseFlags |= ACPI_PARSE_DISASSEMBLE;
Status = AcpiPsParseAml (WalkState);
-
-#ifdef ACPI_DISASSEMBLER
(void) AcpiDmParseDeferredOps (Op);
/* Now we can disassemble the method */
@@ -520,7 +517,6 @@ AcpiDbDisassembleMethod (
AcpiGbl_DmOpt_Verbose = FALSE;
AcpiDmDisassemble (NULL, Op, 0);
AcpiGbl_DmOpt_Verbose = TRUE;
-#endif
AcpiPsDeleteParseTree (Op);
@@ -531,6 +527,7 @@ AcpiDbDisassembleMethod (
AcpiUtReleaseOwnerId (&ObjDesc->Method.OwnerId);
return (AE_OK);
}
+#endif
/*******************************************************************************
Modified: head/sys/contrib/dev/acpica/components/debugger/dbxface.c
==============================================================================
--- head/sys/contrib/dev/acpica/components/debugger/dbxface.c Mon Aug 13 16:07:18 2018 (r337712)
+++ head/sys/contrib/dev/acpica/components/debugger/dbxface.c Mon Aug 13 16:26:26 2018 (r337713)
@@ -154,6 +154,7 @@
#include <contrib/dev/acpica/include/amlcode.h>
#include <contrib/dev/acpica/include/acdebug.h>
#include <contrib/dev/acpica/include/acinterp.h>
+#include <contrib/dev/acpica/include/acparser.h>
#define _COMPONENT ACPI_CA_DEBUGGER
@@ -435,10 +436,17 @@ AcpiDbSingleStep (
}
}
- /* Now we can display it */
+ /* Now we can disassemble and display it */
#ifdef ACPI_DISASSEMBLER
AcpiDmDisassemble (WalkState, DisplayOp, ACPI_UINT32_MAX);
+#else
+ /*
+ * The AML Disassembler is not configured - at least we can
+ * display the opcode value and name
+ */
+ AcpiOsPrintf ("AML Opcode: %4.4X %s\n", Op->Common.AmlOpcode,
+ AcpiPsGetOpcodeName (Op->Common.AmlOpcode));
#endif
if ((Op->Common.AmlOpcode == AML_IF_OP) ||
Modified: head/sys/contrib/dev/acpica/components/dispatcher/dsfield.c
==============================================================================
--- head/sys/contrib/dev/acpica/components/dispatcher/dsfield.c Mon Aug 13 16:07:18 2018 (r337712)
+++ head/sys/contrib/dev/acpica/components/dispatcher/dsfield.c Mon Aug 13 16:26:26 2018 (r337713)
@@ -157,7 +157,11 @@
#include <contrib/dev/acpica/include/acnamesp.h>
#include <contrib/dev/acpica/include/acparser.h>
+#if !defined(ACPI_DB_APP) && defined(ACPI_EXEC_APP)
+#include "aecommon.h"
+#endif
+
#define _COMPONENT ACPI_DISPATCHER
ACPI_MODULE_NAME ("dsfield")
@@ -430,7 +434,14 @@ AcpiDsGetFieldNames (
UINT64 Position;
ACPI_PARSE_OBJECT *Child;
+#if !defined(ACPI_DB_APP) && defined(ACPI_EXEC_APP)
+ UINT64 Value = 0;
+ ACPI_OPERAND_OBJECT *ResultDesc;
+ ACPI_OPERAND_OBJECT *ObjDesc;
+ char *NamePath;
+#endif
+
ACPI_FUNCTION_TRACE_PTR (DsGetFieldNames, Info);
@@ -564,6 +575,18 @@ AcpiDsGetFieldNames (
{
return_ACPI_STATUS (Status);
}
+#if !defined(ACPI_DB_APP) && defined(ACPI_EXEC_APP)
+ NamePath = AcpiNsGetExternalPathname (Info->FieldNode);
+ ObjDesc = AcpiUtCreateIntegerObject (Value);
+ if (ACPI_SUCCESS (AeLookupInitFileEntry (NamePath, &Value)))
+ {
+ AcpiExWriteDataToField (ObjDesc,
+ AcpiNsGetAttachedObject (Info->FieldNode),
+ &ResultDesc);
+ }
+ AcpiUtRemoveReference (ObjDesc);
+ ACPI_FREE (NamePath);
+#endif
}
}
@@ -756,6 +779,9 @@ AcpiDsInitFieldObjects (
Flags |= ACPI_NS_TEMPORARY;
}
+#ifdef ACPI_EXEC_APP
+ Flags |= ACPI_NS_OVERRIDE_IF_FOUND;
+#endif
/*
* Walk the list of entries in the FieldList
* Note: FieldList can be of zero length. In this case, Arg will be NULL.
Modified: head/sys/contrib/dev/acpica/components/hardware/hwregs.c
==============================================================================
--- head/sys/contrib/dev/acpica/components/hardware/hwregs.c Mon Aug 13 16:07:18 2018 (r337712)
+++ head/sys/contrib/dev/acpica/components/hardware/hwregs.c Mon Aug 13 16:26:26 2018 (r337713)
@@ -724,13 +724,20 @@ AcpiHwRegisterRead (
case ACPI_REGISTER_PM2_CONTROL: /* 8-bit access */
Status = AcpiHwRead (&Value64, &AcpiGbl_FADT.XPm2ControlBlock);
- Value = (UINT32) Value64;
+ if (ACPI_SUCCESS (Status))
+ {
+ Value = (UINT32) Value64;
+ }
break;
case ACPI_REGISTER_PM_TIMER: /* 32-bit access */
Status = AcpiHwRead (&Value64, &AcpiGbl_FADT.XPmTimerBlock);
- Value = (UINT32) Value64;
+ if (ACPI_SUCCESS (Status))
+ {
+ Value = (UINT32) Value64;
+ }
+
break;
case ACPI_REGISTER_SMI_COMMAND_BLOCK: /* 8-bit access */
Modified: head/sys/contrib/dev/acpica/components/hardware/hwsleep.c
==============================================================================
--- head/sys/contrib/dev/acpica/components/hardware/hwsleep.c Mon Aug 13 16:07:18 2018 (r337712)
+++ head/sys/contrib/dev/acpica/components/hardware/hwsleep.c Mon Aug 13 16:26:26 2018 (r337713)
@@ -198,16 +198,27 @@ AcpiHwLegacySleep (
return_ACPI_STATUS (Status);
}
- /*
- * 1) Disable all GPEs
- * 2) Enable all wakeup GPEs
- */
+ /* Disable all GPEs */
+
Status = AcpiHwDisableAllGpes ();
if (ACPI_FAILURE (Status))
{
return_ACPI_STATUS (Status);
}
+ /*
+ * If the target sleep state is S5, clear all GPEs and fixed events too
+ */
+ if (SleepState == ACPI_STATE_S5)
+ {
+ Status = AcpiHwClearAcpiStatus();
+ if (ACPI_FAILURE (Status))
+ {
+ return_ACPI_STATUS (Status);
+ }
+ }
AcpiGbl_SystemAwakeAndRunning = FALSE;
+
+ /* Enable all wakeup GPEs */
Status = AcpiHwEnableAllWakeupGpes ();
if (ACPI_FAILURE (Status))
Modified: head/sys/contrib/dev/acpica/components/namespace/nsaccess.c
==============================================================================
--- head/sys/contrib/dev/acpica/components/namespace/nsaccess.c Mon Aug 13 16:07:18 2018 (r337712)
+++ head/sys/contrib/dev/acpica/components/namespace/nsaccess.c Mon Aug 13 16:26:26 2018 (r337713)
@@ -724,6 +724,15 @@ AcpiNsLookup (
CurrentNode));
}
+#ifdef ACPI_EXEC_APP
+ if ((Status == AE_ALREADY_EXISTS) &&
+ (ThisNode->Flags & ANOBJ_NODE_EARLY_INIT))
+ {
+ ThisNode->Flags &= ~ANOBJ_NODE_EARLY_INIT;
+ Status = AE_OK;
+ }
+#endif
+
#ifdef ACPI_ASL_COMPILER
/*
* If this ACPI name already exists within the namespace as an
@@ -844,6 +853,13 @@ AcpiNsLookup (
}
}
}
+
+#ifdef ACPI_EXEC_APP
+ if (Flags & ACPI_NS_EARLY_INIT)
+ {
+ ThisNode->Flags |= ANOBJ_NODE_EARLY_INIT;
+ }
+#endif
*ReturnNode = ThisNode;
return_ACPI_STATUS (AE_OK);
Modified: head/sys/contrib/dev/acpica/components/parser/psloop.c
==============================================================================
--- head/sys/contrib/dev/acpica/components/parser/psloop.c Mon Aug 13 16:07:18 2018 (r337712)
+++ head/sys/contrib/dev/acpica/components/parser/psloop.c Mon Aug 13 16:26:26 2018 (r337713)
@@ -164,6 +164,7 @@
#include <contrib/dev/acpica/include/acdispat.h>
#include <contrib/dev/acpica/include/amlcode.h>
#include <contrib/dev/acpica/include/acconvert.h>
+#include <contrib/dev/acpica/include/acnamesp.h>
#define _COMPONENT ACPI_PARSER
ACPI_MODULE_NAME ("psloop")
@@ -645,6 +646,18 @@ AcpiPsParseLoop (
Status = AcpiPsCreateOp (WalkState, AmlOpStart, &Op);
if (ACPI_FAILURE (Status))
{
+ /*
+ * ACPI_PARSE_MODULE_LEVEL means that we are loading a table by
+ * executing it as a control method. However, if we encounter
+ * an error while loading the table, we need to keep trying to
+ * load the table rather than aborting the table load. Set the
+ * status to AE_OK to proceed with the table load.
+ */
+ if ((WalkState->ParseFlags & ACPI_PARSE_MODULE_LEVEL) &&
+ Status == AE_ALREADY_EXISTS)
+ {
+ Status = AE_OK;
+ }
if (Status == AE_CTRL_PARSE_CONTINUE)
{
continue;
@@ -665,18 +678,20 @@ AcpiPsParseLoop (
{
return_ACPI_STATUS (Status);
}
- if (WalkState->Opcode == AML_SCOPE_OP)
+ if (AcpiNsOpensScope (
+ AcpiPsGetOpcodeInfo (WalkState->Opcode)->ObjectType))
{
/*
- * If the scope op fails to parse, skip the body of the
- * scope op because the parse failure indicates that the
- * device may not exist.
+ * If the scope/device op fails to parse, skip the body of
+ * the scope op because the parse failure indicates that
+ * the device may not exist.
*/
+ ACPI_ERROR ((AE_INFO, "Skip parsing opcode %s",
+ AcpiPsGetOpcodeName (WalkState->Opcode)));
WalkState->ParserState.Aml = WalkState->Aml + 1;
WalkState->ParserState.Aml =
AcpiPsGetNextPackageEnd(&WalkState->ParserState);
WalkState->Aml = WalkState->ParserState.Aml;
- ACPI_ERROR ((AE_INFO, "Skipping Scope block"));
}
continue;
@@ -832,6 +847,22 @@ AcpiPsParseLoop (
Status = AcpiPsNextParseState (WalkState, Op, Status);
if (Status == AE_CTRL_PENDING)
{
+ Status = AE_OK;
+ }
+ else if ((WalkState->ParseFlags & ACPI_PARSE_MODULE_LEVEL) &&
+ (ACPI_AML_EXCEPTION(Status) || Status == AE_ALREADY_EXISTS ||
+ Status == AE_NOT_FOUND))
+ {
+ /*
+ * ACPI_PARSE_MODULE_LEVEL flag means that we are currently
+ * loading a table by executing it as a control method.
+ * However, if we encounter an error while loading the table,
+ * we need to keep trying to load the table rather than
+ * aborting the table load (setting the status to AE_OK
+ * continues the table load). If we get a failure at this
+ * point, it means that the dispatcher got an error while
+ * trying to execute the Op.
+ */
Status = AE_OK;
}
}
Modified: head/sys/contrib/dev/acpica/components/tables/tbdata.c
==============================================================================
--- head/sys/contrib/dev/acpica/components/tables/tbdata.c Mon Aug 13 16:07:18 2018 (r337712)
+++ head/sys/contrib/dev/acpica/components/tables/tbdata.c Mon Aug 13 16:26:26 2018 (r337713)
@@ -711,9 +711,9 @@ AcpiTbVerifyTempTable (
{
if (Status != AE_CTRL_TERMINATE)
{
- ACPI_EXCEPTION ((AE_INFO, AE_NO_MEMORY,
+ ACPI_EXCEPTION ((AE_INFO, Status,
"%4.4s 0x%8.8X%8.8X"
- " Table is duplicated",
+ " Table is already loaded",
AcpiUtValidNameseg (TableDesc->Signature.Ascii) ?
TableDesc->Signature.Ascii : "????",
ACPI_FORMAT_UINT64 (TableDesc->Address)));
Modified: head/sys/contrib/dev/acpica/components/utilities/utdelete.c
==============================================================================
--- head/sys/contrib/dev/acpica/components/utilities/utdelete.c Mon Aug 13 16:07:18 2018 (r337712)
+++ head/sys/contrib/dev/acpica/components/utilities/utdelete.c Mon Aug 13 16:26:26 2018 (r337713)
@@ -520,6 +520,7 @@ AcpiUtUpdateRefCount (
UINT16 OriginalCount;
UINT16 NewCount = 0;
ACPI_CPU_FLAGS LockFlags;
+ char *Message;
ACPI_FUNCTION_NAME (UtUpdateRefCount);
@@ -560,6 +561,7 @@ AcpiUtUpdateRefCount (
"Obj %p Type %.2X [%s] Refs %.2X [Incremented]\n",
Object, Object->Common.Type,
AcpiUtGetObjectTypeName (Object), NewCount));
+ Message = "Incremement";
break;
case REF_DECREMENT:
@@ -591,6 +593,7 @@ AcpiUtUpdateRefCount (
{
AcpiUtDeleteInternalObj (Object);
}
+ Message = "Decrement";
break;
default:
@@ -608,8 +611,8 @@ AcpiUtUpdateRefCount (
if (NewCount > ACPI_MAX_REFERENCE_COUNT)
{
ACPI_WARNING ((AE_INFO,
- "Large Reference Count (0x%X) in object %p, Type=0x%.2X",
- NewCount, Object, Object->Common.Type));
+ "Large Reference Count (0x%X) in object %p, Type=0x%.2X Operation=%s",
+ NewCount, Object, Object->Common.Type, Message));
}
}
Modified: head/sys/contrib/dev/acpica/components/utilities/uterror.c
==============================================================================
--- head/sys/contrib/dev/acpica/components/utilities/uterror.c Mon Aug 13 16:07:18 2018 (r337712)
+++ head/sys/contrib/dev/acpica/components/utilities/uterror.c Mon Aug 13 16:26:26 2018 (r337713)
@@ -352,19 +352,19 @@ AcpiUtPrefixedNamespaceError (
{
case AE_ALREADY_EXISTS:
- AcpiOsPrintf ("\n" ACPI_MSG_BIOS_ERROR);
+ AcpiOsPrintf (ACPI_MSG_BIOS_ERROR);
Message = "Failure creating";
break;
case AE_NOT_FOUND:
- AcpiOsPrintf ("\n" ACPI_MSG_BIOS_ERROR);
+ AcpiOsPrintf (ACPI_MSG_BIOS_ERROR);
Message = "Could not resolve";
break;
default:
- AcpiOsPrintf ("\n" ACPI_MSG_ERROR);
+ AcpiOsPrintf (ACPI_MSG_ERROR);
Message = "Failure resolving";
break;
}
Modified: head/sys/contrib/dev/acpica/components/utilities/utstrsuppt.c
==============================================================================
--- head/sys/contrib/dev/acpica/components/utilities/utstrsuppt.c Mon Aug 13 16:07:18 2018 (r337712)
+++ head/sys/contrib/dev/acpica/components/utilities/utstrsuppt.c Mon Aug 13 16:26:26 2018 (r337713)
@@ -419,15 +419,39 @@ BOOLEAN
AcpiUtDetectHexPrefix (
char **String)
{
+ char *InitialPosition = *String;
+ AcpiUtRemoveHexPrefix (String);
+ if (*String != InitialPosition)
+ {
+ return (TRUE); /* String is past leading 0x */
+ }
+
+ return (FALSE); /* Not a hex string */
+}
+
+
+/*******************************************************************************
+ *
+ * FUNCTION: AcpiUtRemoveHexPrefix
+ *
+ * PARAMETERS: String - Pointer to input ASCII string
+ *
+ * RETURN: none
+ *
+ * DESCRIPTION: Remove a hex "0x" prefix
+ *
+ ******************************************************************************/
+
+void
+AcpiUtRemoveHexPrefix (
+ char **String)
+{
if ((**String == ACPI_ASCII_ZERO) &&
(tolower ((int) *(*String + 1)) == 'x'))
{
*String += 2; /* Go past the leading 0x */
- return (TRUE);
}
-
- return (FALSE); /* Not a hex string */
}
Modified: head/sys/contrib/dev/acpica/components/utilities/utstrtoul64.c
==============================================================================
--- head/sys/contrib/dev/acpica/components/utilities/utstrtoul64.c Mon Aug 13 16:07:18 2018 (r337712)
+++ head/sys/contrib/dev/acpica/components/utilities/utstrtoul64.c Mon Aug 13 16:26:26 2018 (r337713)
@@ -383,7 +383,7 @@ AcpiUtImplicitStrtoul64 (
* implicit conversions, and the "0x" prefix is "not allowed".
* However, allow a "0x" prefix as an ACPI extension.
*/
- AcpiUtDetectHexPrefix (&String);
+ AcpiUtRemoveHexPrefix (&String);
if (!AcpiUtRemoveLeadingZeros (&String))
{
Modified: head/sys/contrib/dev/acpica/include/acconfig.h
==============================================================================
--- head/sys/contrib/dev/acpica/include/acconfig.h Mon Aug 13 16:07:18 2018 (r337712)
+++ head/sys/contrib/dev/acpica/include/acconfig.h Mon Aug 13 16:26:26 2018 (r337713)
@@ -233,7 +233,7 @@
/* Maximum object reference count (detects object deletion issues) */
-#define ACPI_MAX_REFERENCE_COUNT 0x800
+#define ACPI_MAX_REFERENCE_COUNT 0x4000
/* Default page size for use in mapping memory for operation regions */
Modified: head/sys/contrib/dev/acpica/include/acexcep.h
==============================================================================
--- head/sys/contrib/dev/acpica/include/acexcep.h Mon Aug 13 16:07:18 2018 (r337712)
+++ head/sys/contrib/dev/acpica/include/acexcep.h Mon Aug 13 16:26:26 2018 (r337713)
@@ -204,6 +204,13 @@ typedef struct acpi_exception_info
#define AE_OK (ACPI_STATUS) 0x0000
+#define ACPI_ENV_EXCEPTION(Status) (Status & AE_CODE_ENVIRONMENTAL)
+#define ACPI_AML_EXCEPTION(Status) (Status & AE_CODE_AML)
+#define ACPI_PROG_EXCEPTION(Status) (Status & AE_CODE_PROGRAMMER)
+#define ACPI_TABLE_EXCEPTION(Status) (Status & AE_CODE_ACPI_TABLES)
+#define ACPI_CNTL_EXCEPTION(Status) (Status & AE_CODE_CONTROL)
+
+
/*
* Environmental exceptions
*/
Modified: head/sys/contrib/dev/acpica/include/aclocal.h
==============================================================================
--- head/sys/contrib/dev/acpica/include/aclocal.h Mon Aug 13 16:07:18 2018 (r337712)
+++ head/sys/contrib/dev/acpica/include/aclocal.h Mon Aug 13 16:26:26 2018 (r337713)
@@ -327,6 +327,7 @@ typedef struct acpi_namespace_node
#define ANOBJ_SUBTREE_HAS_INI 0x10 /* Used to optimize device initialization */
#define ANOBJ_EVALUATED 0x20 /* Set on first evaluation of node */
#define ANOBJ_ALLOCATED_BUFFER 0x40 /* Method AML buffer is dynamic (InstallMethod) */
+#define ANOBJ_NODE_EARLY_INIT 0x80 /* AcpiExec only: Node was create via init file (-fi) */
#define ANOBJ_IS_EXTERNAL 0x08 /* iASL only: This object created via External() */
#define ANOBJ_METHOD_NO_RETVAL 0x10 /* iASL only: Method has no return value */
Modified: head/sys/contrib/dev/acpica/include/acnamesp.h
==============================================================================
--- head/sys/contrib/dev/acpica/include/acnamesp.h Mon Aug 13 16:07:18 2018 (r337712)
+++ head/sys/contrib/dev/acpica/include/acnamesp.h Mon Aug 13 16:26:26 2018 (r337713)
@@ -168,14 +168,15 @@
/* Flags for AcpiNsLookup, AcpiNsSearchAndEnter */
#define ACPI_NS_NO_UPSEARCH 0
-#define ACPI_NS_SEARCH_PARENT 0x01
-#define ACPI_NS_DONT_OPEN_SCOPE 0x02
-#define ACPI_NS_NO_PEER_SEARCH 0x04
-#define ACPI_NS_ERROR_IF_FOUND 0x08
-#define ACPI_NS_PREFIX_IS_SCOPE 0x10
-#define ACPI_NS_EXTERNAL 0x20
-#define ACPI_NS_TEMPORARY 0x40
-#define ACPI_NS_OVERRIDE_IF_FOUND 0x80
+#define ACPI_NS_SEARCH_PARENT 0x0001
+#define ACPI_NS_DONT_OPEN_SCOPE 0x0002
+#define ACPI_NS_NO_PEER_SEARCH 0x0004
+#define ACPI_NS_ERROR_IF_FOUND 0x0008
+#define ACPI_NS_PREFIX_IS_SCOPE 0x0010
+#define ACPI_NS_EXTERNAL 0x0020
+#define ACPI_NS_TEMPORARY 0x0040
+#define ACPI_NS_OVERRIDE_IF_FOUND 0x0080
+#define ACPI_NS_EARLY_INIT 0x0100
/* Flags for AcpiNsWalkNamespace */
Modified: head/sys/contrib/dev/acpica/include/acpixf.h
==============================================================================
--- head/sys/contrib/dev/acpica/include/acpixf.h Mon Aug 13 16:07:18 2018 (r337712)
+++ head/sys/contrib/dev/acpica/include/acpixf.h Mon Aug 13 16:26:26 2018 (r337713)
@@ -154,7 +154,7 @@
/* Current ACPICA subsystem version in YYYYMMDD format */
-#define ACPI_CA_VERSION 0x20180629
+#define ACPI_CA_VERSION 0x20180810
#include <contrib/dev/acpica/include/acconfig.h>
#include <contrib/dev/acpica/include/actypes.h>
Modified: head/sys/contrib/dev/acpica/include/acutils.h
==============================================================================
--- head/sys/contrib/dev/acpica/include/acutils.h Mon Aug 13 16:07:18 2018 (r337712)
+++ head/sys/contrib/dev/acpica/include/acutils.h Mon Aug 13 16:26:26 2018 (r337713)
@@ -362,6 +362,10 @@ BOOLEAN
AcpiUtDetectHexPrefix (
char **String);
+void
+AcpiUtRemoveHexPrefix (
+ char **String);
+
BOOLEAN
AcpiUtDetectOctalPrefix (
char **String);
Modified: head/usr.sbin/acpi/acpidb/Makefile
==============================================================================
--- head/usr.sbin/acpi/acpidb/Makefile Mon Aug 13 16:07:18 2018 (r337712)
+++ head/usr.sbin/acpi/acpidb/Makefile Mon Aug 13 16:26:26 2018 (r337713)
@@ -76,7 +76,7 @@ SRCS+= osgendbg.c osunixxf.c
MAN= acpidb.8
WARNS?= 3
-CFLAGS+= -DACPI_EXEC_APP -fno-strict-aliasing
+CFLAGS+= -DACPI_DB_APP -DACPI_EXEC_APP -fno-strict-aliasing
LIBADD= pthread
.include <bsd.prog.mk>
More information about the svn-src-head
mailing list