summaryrefslogtreecommitdiff
path: root/sys/contrib
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2018-06-29 23:48:30 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2018-06-29 23:48:30 +0000
commitda9b0901f63bafb0a5f41d5bfd085776695f4dce (patch)
tree0951f565e9d3b07cdc637f65c0b11ecf26586536 /sys/contrib
parentab0bcb60321e55632ae6c377becb9410d0fc0731 (diff)
parentd776ccceca14a93812a2f15904c3b09af20ec866 (diff)
downloadsrc-test-da9b0901f63bafb0a5f41d5bfd085776695f4dce.tar.gz
src-test-da9b0901f63bafb0a5f41d5bfd085776695f4dce.zip
Notes
Diffstat (limited to 'sys/contrib')
-rw-r--r--sys/contrib/dev/acpica/changes.txt59
-rw-r--r--sys/contrib/dev/acpica/common/dmextern.c2
-rw-r--r--sys/contrib/dev/acpica/compiler/aslglobal.h7
-rw-r--r--sys/contrib/dev/acpica/compiler/aslhelpers.y32
-rw-r--r--sys/contrib/dev/acpica/compiler/aslload.c79
-rw-r--r--sys/contrib/dev/acpica/compiler/aslmain.c15
-rw-r--r--sys/contrib/dev/acpica/compiler/aslmessages.c3
-rw-r--r--sys/contrib/dev/acpica/compiler/aslmessages.h1
-rw-r--r--sys/contrib/dev/acpica/compiler/asloptions.c2
-rw-r--r--sys/contrib/dev/acpica/compiler/aslparser.y2
-rw-r--r--sys/contrib/dev/acpica/compiler/aslprimaries.y28
-rw-r--r--sys/contrib/dev/acpica/compiler/asltransform.c5
-rw-r--r--sys/contrib/dev/acpica/compiler/asltypes.y4
-rw-r--r--sys/contrib/dev/acpica/components/hardware/hwxfsleep.c12
-rw-r--r--sys/contrib/dev/acpica/components/namespace/nsaccess.c7
-rw-r--r--sys/contrib/dev/acpica/components/namespace/nseval.c4
-rw-r--r--sys/contrib/dev/acpica/components/namespace/nssearch.c1
-rw-r--r--sys/contrib/dev/acpica/include/aclocal.h1
-rw-r--r--sys/contrib/dev/acpica/include/acpixf.h2
19 files changed, 140 insertions, 126 deletions
diff --git a/sys/contrib/dev/acpica/changes.txt b/sys/contrib/dev/acpica/changes.txt
index 01ef2a6a2ad62..b529ab61277a5 100644
--- a/sys/contrib/dev/acpica/changes.txt
+++ b/sys/contrib/dev/acpica/changes.txt
@@ -1,4 +1,63 @@
----------------------------------------
+29 June 2018. Summary of changes for version 20180629:
+
+
+1) iASL Compiler/Disassembler and Tools:
+
+iASL: Fixed a regression related to the use of the ASL External
+statement. Error checking for the use of the External() statement has
+been relaxed. Previously, a restriction on the use of External meant that
+the referenced named object was required to be defined in a different
+table (an SSDT). Thus it would be an error to declare an object as an
+external and then define the same named object in the same table. For
+example:
+ DefinitionBlock (...)
+ {
+ External (DEV1)
+ Device (DEV1){...} // This was an error
+ }
+However, this behavior has caused regressions in some existing ASL code,
+because there is code that depends on named objects and externals (with
+the same name) being declared in the same table. This change will allow
+the ASL code above to compile without errors or warnings.
+
+iASL: Implemented ASL language extensions for four operators to make some
+of their arguments optional instead of required:
+ 1) Field (RegionName, AccessType, LockRule, UpdateRule)
+ 2) BankField (RegionName, BankName, BankValue,
+ AccessType, LockRule, UpdateRule)
+ 3) IndexField (IndexName, DataName,
+ AccessType, LockRule, UpdateRule)
+For the Field operators above, the AccessType, LockRule, and UpdateRule
+are now optional arguments. The default values are:
+ AccessType: AnyAcc
+ LockRule: NoLock
+ UpdateRule: Preserve
+ 4) Mutex (MutexName, SyncLevel)
+For this operator, the SyncLevel argument is now optional. This argument
+is rarely used in any meaningful way by ASL code, and thus it makes sense
+to make it optional. The default value is:
+ SyncLevel: 0
+
+iASL: Attempted use of the ASL Unload() operator now results in the
+following warning:
+ "Unload is not supported by all operating systems"
+This is in fact very true, and the Unload operator may be completely
+deprecated in the near future.
+
+AcpiExec: Fixed a regression for the -fi option (Namespace initialization
+file. Recent changes in the ACPICA module-level code support altered the
+table load/initialization sequence . This means that the table load has
+become a large method execution of the table itself. If Operation Region
+Fields are used within any module-level code and the -fi option was
+specified, the initialization values were populated only after the table
+had completely finished loading (and thus the module-level code had
+already been executed). This change moves the initialization of objects
+listed in the initialization file to before the table is executed as a
+method. Field unit values are now initialized before the table execution
+is performed.
+
+----------------------------------------
31 May 2018. Summary of changes for version 20180531:
diff --git a/sys/contrib/dev/acpica/common/dmextern.c b/sys/contrib/dev/acpica/common/dmextern.c
index 88398d6d85d52..16eb3f09a9c0f 100644
--- a/sys/contrib/dev/acpica/common/dmextern.c
+++ b/sys/contrib/dev/acpica/common/dmextern.c
@@ -538,7 +538,7 @@ AcpiDmGetExternalsFromFile (
/* Each line defines a method */
- while (fgets (StringBuffer, ASL_MSG_BUFFER_SIZE, ExternalRefFile))
+ while (fgets (StringBuffer, ASL_STRING_BUFFER_SIZE, ExternalRefFile))
{
Token = strtok (StringBuffer, METHOD_SEPARATORS); /* "External" */
if (!Token)
diff --git a/sys/contrib/dev/acpica/compiler/aslglobal.h b/sys/contrib/dev/acpica/compiler/aslglobal.h
index 93c51fae56605..e22f476fc0706 100644
--- a/sys/contrib/dev/acpica/compiler/aslglobal.h
+++ b/sys/contrib/dev/acpica/compiler/aslglobal.h
@@ -251,7 +251,8 @@ extern int AslCompilerdebug;
#define ASL_DEFAULT_LINE_BUFFER_SIZE (1024 * 32) /* 32K */
-#define ASL_MSG_BUFFER_SIZE (1024 * 32) /* 32k */
+#define ASL_MSG_BUFFER_SIZE (1024 * 128) /* 128k */
+#define ASL_STRING_BUFFER_SIZE (1024 * 32) /* 32k */
#define ASL_MAX_DISABLED_MESSAGES 32
#define ASL_MAX_EXPECTED_MESSAGES 32
#define HEX_TABLE_LINE_SIZE 8
@@ -438,8 +439,8 @@ ASL_EXTERN UINT8 AslGbl_NamespaceEvent;
ASL_EXTERN UINT8 Gbl_AmlBuffer[HEX_LISTING_LINE_SIZE];
ASL_EXTERN char MsgBuffer[ASL_MSG_BUFFER_SIZE];
-ASL_EXTERN char StringBuffer[ASL_MSG_BUFFER_SIZE];
-ASL_EXTERN char StringBuffer2[ASL_MSG_BUFFER_SIZE];
+ASL_EXTERN char StringBuffer[ASL_STRING_BUFFER_SIZE];
+ASL_EXTERN char StringBuffer2[ASL_STRING_BUFFER_SIZE];
ASL_EXTERN UINT32 Gbl_DisabledMessages[ASL_MAX_DISABLED_MESSAGES];
ASL_EXTERN ASL_EXPECTED_MESSAGE Gbl_ExpectedMessages[ASL_MAX_EXPECTED_MESSAGES];
diff --git a/sys/contrib/dev/acpica/compiler/aslhelpers.y b/sys/contrib/dev/acpica/compiler/aslhelpers.y
index bb9ff625313fe..3a680a811e3fd 100644
--- a/sys/contrib/dev/acpica/compiler/aslhelpers.y
+++ b/sys/contrib/dev/acpica/compiler/aslhelpers.y
@@ -183,6 +183,14 @@ OptionalAccessSize
| ',' ByteConstExpr {$$ = $2;}
;
+OptionalAccessTypeKeyword /* Default: AnyAcc */
+ : {$$ = TrCreateLeafOp (
+ PARSEOP_ACCESSTYPE_ANY);}
+ | ',' {$$ = TrCreateLeafOp (
+ PARSEOP_ACCESSTYPE_ANY);}
+ | ',' AccessTypeKeyword {$$ = $2;}
+ ;
+
OptionalAddressingMode
: ',' {$$ = NULL;}
| ',' AddressingModeKeyword {$$ = $2;}
@@ -252,6 +260,14 @@ OptionalListString
| ',' TermArg {$$ = $2;}
;
+OptionalLockRuleKeyword /* Default: NoLock */
+ : {$$ = TrCreateLeafOp (
+ PARSEOP_LOCKRULE_NOLOCK);}
+ | ',' {$$ = TrCreateLeafOp (
+ PARSEOP_LOCKRULE_NOLOCK);}
+ | ',' LockRuleKeyword {$$ = $2;}
+ ;
+
OptionalMaxType
: ',' {$$ = NULL;}
| ',' MaxKeyword {$$ = $2;}
@@ -366,6 +382,14 @@ OptionalStringData
| ',' StringData {$$ = $2;}
;
+OptionalSyncLevel /* Default: 0 */
+ : {$$ = TrCreateValuedLeafOp (
+ PARSEOP_BYTECONST, 0);}
+ | ',' {$$ = TrCreateValuedLeafOp (
+ PARSEOP_BYTECONST, 0);}
+ | ',' ByteConstExpr {$$ = $2;}
+ ;
+
OptionalTranslationType_Last
: {$$ = NULL;}
| ',' {$$ = NULL;}
@@ -384,6 +408,14 @@ OptionalType_Last
| ',' TypeKeyword {$$ = $2;}
;
+OptionalUpdateRuleKeyword /* Default: Preserve */
+ : {$$ = TrCreateLeafOp (
+ PARSEOP_UPDATERULE_PRESERVE);}
+ | ',' {$$ = TrCreateLeafOp (
+ PARSEOP_UPDATERULE_PRESERVE);}
+ | ',' UpdateRuleKeyword {$$ = $2;}
+ ;
+
OptionalWireMode
: ',' {$$ = NULL;}
| ',' WireModeKeyword {$$ = $2;}
diff --git a/sys/contrib/dev/acpica/compiler/aslload.c b/sys/contrib/dev/acpica/compiler/aslload.c
index 3b982f1a7e0bd..e8b0fc405719f 100644
--- a/sys/contrib/dev/acpica/compiler/aslload.c
+++ b/sys/contrib/dev/acpica/compiler/aslload.c
@@ -321,8 +321,7 @@ LdLoadFieldElements (
return (Status);
}
else if (Status == AE_ALREADY_EXISTS &&
- (Node->Flags & ANOBJ_IS_EXTERNAL) &&
- Node->OwnerId != WalkState->OwnerId)
+ (Node->Flags & ANOBJ_IS_EXTERNAL))
{
Node->Type = (UINT8) ACPI_TYPE_LOCAL_REGION_FIELD;
}
@@ -474,7 +473,6 @@ LdNamespace1Begin (
ACPI_PARSE_OBJECT *Arg;
UINT32 i;
BOOLEAN ForceNewScope = FALSE;
- ACPI_OWNER_ID OwnerId = 0;
const ACPI_OPCODE_INFO *OpInfo;
ACPI_PARSE_OBJECT *ParentOp;
@@ -485,23 +483,6 @@ LdNamespace1Begin (
ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH, "Op %p [%s]\n",
Op, Op->Asl.ParseOpName));
- if (Op->Asl.ParseOpcode == PARSEOP_DEFINITION_BLOCK)
- {
- /*
- * Allocate an OwnerId for this block. This helps identify the owners
- * of each namespace node. This is used in determining whether if
- * certain external declarations cause redefinition errors.
- */
- Status = AcpiUtAllocateOwnerId (&OwnerId);
- WalkState->OwnerId = OwnerId;
- if (ACPI_FAILURE (Status))
- {
- AslCoreSubsystemError (Op, Status,
- "Failure to allocate owner ID to this definition block.", FALSE);
- return_ACPI_STATUS (Status);
- }
- }
-
/*
* We are only interested in opcodes that have an associated name
* (or multiple names)
@@ -877,9 +858,7 @@ LdNamespace1Begin (
{
/*
* Allow one create on an object or segment that was
- * previously declared External only if WalkState->OwnerId and
- * Node->OwnerId are different (meaning that the current WalkState
- * and the Node are in different tables).
+ * previously declared External
*/
Node->Flags &= ~ANOBJ_IS_EXTERNAL;
Node->Type = (UINT8) ObjectType;
@@ -896,18 +875,6 @@ LdNamespace1Begin (
}
Status = AE_OK;
-
- if (Node->OwnerId == WalkState->OwnerId &&
- !(Node->Flags & IMPLICIT_EXTERNAL))
- {
- AslDualParseOpError (ASL_WARNING, ASL_MSG_EXTERN_COLLISION, Op,
- Op->Asl.ExternalName, ASL_MSG_EXTERN_FOUND_HERE, Node->Op,
- Node->Op->Asl.ExternalName);
- }
- if (Node->Flags & IMPLICIT_EXTERNAL)
- {
- Node->Flags &= ~IMPLICIT_EXTERNAL;
- }
}
else if (!(Node->Flags & ANOBJ_IS_EXTERNAL) &&
(Op->Asl.ParseOpcode == PARSEOP_EXTERNAL))
@@ -915,53 +882,15 @@ LdNamespace1Begin (
/*
* Allow externals in same scope as the definition of the
* actual object. Similar to C. Allows multiple definition
- * blocks that refer to each other in the same file. However,
- * do not allow name declaration and an external declaration
- * within the same table. This is considered a re-declaration.
+ * blocks that refer to each other in the same file.
*/
Status = AE_OK;
-
- if (Node->OwnerId == WalkState->OwnerId)
- {
- AslDualParseOpError (ASL_WARNING, ASL_MSG_EXTERN_COLLISION, Op,
- Op->Asl.ExternalName, ASL_MSG_EXTERN_FOUND_HERE, Node->Op,
- Node->Op->Asl.ExternalName);
- }
}
else if ((Node->Flags & ANOBJ_IS_EXTERNAL) &&
(Op->Asl.ParseOpcode == PARSEOP_EXTERNAL) &&
(ObjectType == ACPI_TYPE_ANY))
{
- /*
- * Allow update of externals of unknown type.
- * In the case that multiple definition blocks are being
- * parsed, updating the OwnerId allows enables subsequent calls
- * of this method to understand which table the most recent
- * external declaration was seen. Without this OwnerId update,
- * code like the following is allowed to compile:
- *
- * DefinitionBlock("externtest.aml", "DSDT", 0x02, "Intel", "Many", 0x00000001)
- * {
- * External(ERRS,methodobj)
- * Method (MAIN)
- * {
- * Name(NUM2, 0)
- * ERRS(1,2,3)
- * }
- * }
- *
- * DefinitionBlock("externtest.aml", "SSDT", 0x02, "Intel", "Many", 0x00000001)
- * {
- * if (0)
- * {
- * External(ERRS,methodobj)
- * }
- * Method (ERRS,3)
- * {}
- *
- * }
- */
- Node->OwnerId = WalkState->OwnerId;
+ /* Allow update of externals of unknown type. */
if (AcpiNsOpensScope (ActualObjectType))
{
diff --git a/sys/contrib/dev/acpica/compiler/aslmain.c b/sys/contrib/dev/acpica/compiler/aslmain.c
index ebc050beed181..1e562fa383f85 100644
--- a/sys/contrib/dev/acpica/compiler/aslmain.c
+++ b/sys/contrib/dev/acpica/compiler/aslmain.c
@@ -208,7 +208,6 @@ main (
signal (SIGINT, AslSignalHandler);
- signal (SIGSEGV, AslSignalHandler);
/*
* Big-endian machines are not currently supported. ACPI tables must
@@ -306,8 +305,7 @@ CleanupAndExit:
*
* DESCRIPTION: Signal interrupt handler. Delete any intermediate files and
* any output files that may be left in an indeterminate state.
- * Currently handles SIGINT (control-c) and SIGSEGV (segmentation
- * fault).
+ * Currently handles SIGINT (control-c).
*
*****************************************************************************/
@@ -329,17 +327,10 @@ AslSignalHandler (
printf ("\n" ASL_PREFIX "<Control-C>\n");
break;
- case SIGSEGV:
-
- /* Even on a seg fault, we will try to delete any partial files */
-
- printf (ASL_PREFIX "Segmentation Fault\n");
- break;
-
default:
- printf (ASL_PREFIX "Unknown interrupt signal (%u), ignoring\n", Sig);
- return;
+ printf (ASL_PREFIX "Unknown interrupt signal (%u)\n", Sig);
+ break;
}
/*
diff --git a/sys/contrib/dev/acpica/compiler/aslmessages.c b/sys/contrib/dev/acpica/compiler/aslmessages.c
index 5fa329175f43e..8e76beeb5e939 100644
--- a/sys/contrib/dev/acpica/compiler/aslmessages.c
+++ b/sys/contrib/dev/acpica/compiler/aslmessages.c
@@ -356,7 +356,8 @@ const char *AslCompilerMsgs [] =
/* ASL_MSG_EXTERN_COLLISION */ "A name cannot be defined and declared external in the same table",
/* ASL_MSG_FOUND_HERE_EXTERN */ "Remove one of the declarations indicated above or below:",
/* ASL_MSG_OEM_TABLE_ID */ "Invalid OEM Table ID",
-/* ASL_MSG_OEM_ID */ "Invalid OEM ID"
+/* ASL_MSG_OEM_ID */ "Invalid OEM ID",
+/* ASL_MSG_UNLOAD */ "Unload is not supported by all operating systems"
};
/* Table compiler */
diff --git a/sys/contrib/dev/acpica/compiler/aslmessages.h b/sys/contrib/dev/acpica/compiler/aslmessages.h
index 18e8144585b95..dcd2aa0d89ee1 100644
--- a/sys/contrib/dev/acpica/compiler/aslmessages.h
+++ b/sys/contrib/dev/acpica/compiler/aslmessages.h
@@ -359,6 +359,7 @@ typedef enum
ASL_MSG_EXTERN_FOUND_HERE,
ASL_MSG_OEM_TABLE_ID,
ASL_MSG_OEM_ID,
+ ASL_MSG_UNLOAD,
/* These messages are used by the Data Table compiler only */
diff --git a/sys/contrib/dev/acpica/compiler/asloptions.c b/sys/contrib/dev/acpica/compiler/asloptions.c
index 86a3e9c90a2f7..5c2ba333635c1 100644
--- a/sys/contrib/dev/acpica/compiler/asloptions.c
+++ b/sys/contrib/dev/acpica/compiler/asloptions.c
@@ -1074,7 +1074,7 @@ AslDoResponseFile (
* Process all lines in the response file. There must be one complete
* option per line
*/
- while (fgets (StringBuffer, ASL_MSG_BUFFER_SIZE, ResponseFile))
+ while (fgets (StringBuffer, ASL_STRING_BUFFER_SIZE, ResponseFile))
{
/* Compress all tokens, allowing us to use a single argv entry */
diff --git a/sys/contrib/dev/acpica/compiler/aslparser.y b/sys/contrib/dev/acpica/compiler/aslparser.y
index 1f72e9fd5a70e..3c7ed43c7beb1 100644
--- a/sys/contrib/dev/acpica/compiler/aslparser.y
+++ b/sys/contrib/dev/acpica/compiler/aslparser.y
@@ -208,7 +208,7 @@ AslLocalAllocate (
* These shift/reduce conflicts are expected. There should be zero
* reduce/reduce conflicts.
*/
-%expect 118
+%expect 124
/*! [Begin] no source code translation */
diff --git a/sys/contrib/dev/acpica/compiler/aslprimaries.y b/sys/contrib/dev/acpica/compiler/aslprimaries.y
index b131f2a97fe04..e2faf9a9d2218 100644
--- a/sys/contrib/dev/acpica/compiler/aslprimaries.y
+++ b/sys/contrib/dev/acpica/compiler/aslprimaries.y
@@ -235,12 +235,12 @@ BankFieldTerm
NameString
NameStringItem
TermArgItem
- ',' AccessTypeKeyword
- ',' LockRuleKeyword
- ',' UpdateRuleKeyword
+ OptionalAccessTypeKeyword
+ OptionalLockRuleKeyword
+ OptionalUpdateRuleKeyword
PARSEOP_CLOSE_PAREN '{'
FieldUnitList '}' {$$ = TrLinkOpChildren ($<n>3,7,
- $4,$5,$6,$8,$10,$12,$15);}
+ $4,$5,$6,$7,$8,$9,$12);}
| PARSEOP_BANKFIELD
PARSEOP_OPEN_PAREN
error PARSEOP_CLOSE_PAREN
@@ -579,11 +579,11 @@ FieldTerm
: PARSEOP_FIELD
PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_FIELD);}
NameString
- ',' AccessTypeKeyword
- ',' LockRuleKeyword
- ',' UpdateRuleKeyword
+ OptionalAccessTypeKeyword
+ OptionalLockRuleKeyword
+ OptionalUpdateRuleKeyword
PARSEOP_CLOSE_PAREN '{'
- FieldUnitList '}' {$$ = TrLinkOpChildren ($<n>3,5,$4,$6,$8,$10,$13);}
+ FieldUnitList '}' {$$ = TrLinkOpChildren ($<n>3,5,$4,$5,$6,$7,$10);}
| PARSEOP_FIELD
PARSEOP_OPEN_PAREN
error PARSEOP_CLOSE_PAREN
@@ -711,11 +711,11 @@ IndexFieldTerm
PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_INDEXFIELD);}
NameString
NameStringItem
- ',' AccessTypeKeyword
- ',' LockRuleKeyword
- ',' UpdateRuleKeyword
+ OptionalAccessTypeKeyword
+ OptionalLockRuleKeyword
+ OptionalUpdateRuleKeyword
PARSEOP_CLOSE_PAREN '{'
- FieldUnitList '}' {$$ = TrLinkOpChildren ($<n>3,6,$4,$5,$7,$9,$11,$14);}
+ FieldUnitList '}' {$$ = TrLinkOpChildren ($<n>3,6,$4,$5,$6,$7,$8,$11);}
| PARSEOP_INDEXFIELD
PARSEOP_OPEN_PAREN
error PARSEOP_CLOSE_PAREN
@@ -946,9 +946,9 @@ MutexTerm
: PARSEOP_MUTEX
PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_MUTEX);}
NameString
- ',' ByteConstExpr
+ OptionalSyncLevel
PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,2,
- TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$6);}
+ TrSetOpFlags ($4, OP_IS_NAME_DECLARATION),$5);}
| PARSEOP_MUTEX
PARSEOP_OPEN_PAREN
error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;}
diff --git a/sys/contrib/dev/acpica/compiler/asltransform.c b/sys/contrib/dev/acpica/compiler/asltransform.c
index ce616668d9e63..ba52e9b628066 100644
--- a/sys/contrib/dev/acpica/compiler/asltransform.c
+++ b/sys/contrib/dev/acpica/compiler/asltransform.c
@@ -496,6 +496,11 @@ TrTransformSubtree (
Op->Asl.Value.String = "\\";
break;
+ case PARSEOP_UNLOAD:
+
+ AslError (ASL_WARNING, ASL_MSG_UNLOAD, Op, NULL);
+ break;
+
default:
/* Nothing to do here for other opcodes */
diff --git a/sys/contrib/dev/acpica/compiler/asltypes.y b/sys/contrib/dev/acpica/compiler/asltypes.y
index 361d476ffd7e8..4112969dacde7 100644
--- a/sys/contrib/dev/acpica/compiler/asltypes.y
+++ b/sys/contrib/dev/acpica/compiler/asltypes.y
@@ -461,6 +461,7 @@ NoEcho('
%type <n> TermArgItem
%type <n> OptionalAccessSize
+%type <n> OptionalAccessTypeKeyword
%type <n> OptionalAddressingMode
%type <n> OptionalAddressRange
%type <n> OptionalBitsPerByte
@@ -475,6 +476,7 @@ NoEcho('
%type <n> OptionalFlowControl
%type <n> OptionalIoRestriction
%type <n> OptionalListString
+%type <n> OptionalLockRuleKeyword
%type <n> OptionalMaxType
%type <n> OptionalMemType
%type <n> OptionalMinType
@@ -500,10 +502,12 @@ NoEcho('
%type <n> OptionalSlaveMode
%type <n> OptionalStopBits
%type <n> OptionalStringData
+%type <n> OptionalSyncLevel
%type <n> OptionalTermArg
%type <n> OptionalTranslationType_Last
%type <n> OptionalType
%type <n> OptionalType_Last
+%type <n> OptionalUpdateRuleKeyword
%type <n> OptionalWireMode
%type <n> OptionalWordConst
%type <n> OptionalWordConstExpr
diff --git a/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c b/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c
index e5494c23fda5a..264e5081e63f5 100644
--- a/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c
+++ b/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c
@@ -184,17 +184,17 @@ AcpiHwSleepDispatch (
static ACPI_SLEEP_FUNCTIONS AcpiSleepDispatch[] =
{
- {ACPI_STRUCT_INIT (legacy_function,
+ {ACPI_STRUCT_INIT (LegacyFunction,
ACPI_HW_OPTIONAL_FUNCTION (AcpiHwLegacySleep)),
- ACPI_STRUCT_INIT (extended_function,
+ ACPI_STRUCT_INIT (ExtendedFunction,
AcpiHwExtendedSleep) },
- {ACPI_STRUCT_INIT (legacy_function,
+ {ACPI_STRUCT_INIT (LegacyFunction,
ACPI_HW_OPTIONAL_FUNCTION (AcpiHwLegacyWakePrep)),
- ACPI_STRUCT_INIT (extended_function,
+ ACPI_STRUCT_INIT (ExtendedFunction,
AcpiHwExtendedWakePrep) },
- {ACPI_STRUCT_INIT (legacy_function,
+ {ACPI_STRUCT_INIT (Legacy_function,
ACPI_HW_OPTIONAL_FUNCTION (AcpiHwLegacyWake)),
- ACPI_STRUCT_INIT (extended_function,
+ ACPI_STRUCT_INIT (ExtendedFunction,
AcpiHwExtendedWake) }
};
diff --git a/sys/contrib/dev/acpica/components/namespace/nsaccess.c b/sys/contrib/dev/acpica/components/namespace/nsaccess.c
index 8027b69beafeb..ee1b147f2d6d9 100644
--- a/sys/contrib/dev/acpica/components/namespace/nsaccess.c
+++ b/sys/contrib/dev/acpica/components/namespace/nsaccess.c
@@ -781,13 +781,6 @@ AcpiNsLookup (
else
{
-#ifdef ACPI_ASL_COMPILER
- if (!AcpiGbl_DisasmFlag && (ThisNode->Flags & ANOBJ_IS_EXTERNAL))
- {
- ThisNode->Flags &= ~IMPLICIT_EXTERNAL;
- }
-#endif
-
/*
* Sanity typecheck of the target object:
*
diff --git a/sys/contrib/dev/acpica/components/namespace/nseval.c b/sys/contrib/dev/acpica/components/namespace/nseval.c
index e36b89b094b27..80a6a35a73025 100644
--- a/sys/contrib/dev/acpica/components/namespace/nseval.c
+++ b/sys/contrib/dev/acpica/components/namespace/nseval.c
@@ -429,11 +429,11 @@ AcpiNsEvaluate (
Status = AE_OK;
}
- else if (ACPI_FAILURE(Status))
+ else if (ACPI_FAILURE(Status))
{
/* If ReturnObject exists, delete it */
- if (Info->ReturnObject)
+ if (Info->ReturnObject)
{
AcpiUtRemoveReference (Info->ReturnObject);
Info->ReturnObject = NULL;
diff --git a/sys/contrib/dev/acpica/components/namespace/nssearch.c b/sys/contrib/dev/acpica/components/namespace/nssearch.c
index 741466b0c7958..ebff2658e86cc 100644
--- a/sys/contrib/dev/acpica/components/namespace/nssearch.c
+++ b/sys/contrib/dev/acpica/components/namespace/nssearch.c
@@ -545,7 +545,6 @@ AcpiNsSearchAndEnter (
(WalkState && WalkState->Opcode == AML_SCOPE_OP))
{
NewNode->Flags |= ANOBJ_IS_EXTERNAL;
- NewNode->Flags |= IMPLICIT_EXTERNAL;
}
#endif
diff --git a/sys/contrib/dev/acpica/include/aclocal.h b/sys/contrib/dev/acpica/include/aclocal.h
index f487a4ec9bf03..58c09379ccdce 100644
--- a/sys/contrib/dev/acpica/include/aclocal.h
+++ b/sys/contrib/dev/acpica/include/aclocal.h
@@ -328,7 +328,6 @@ typedef struct acpi_namespace_node
#define ANOBJ_EVALUATED 0x20 /* Set on first evaluation of node */
#define ANOBJ_ALLOCATED_BUFFER 0x40 /* Method AML buffer is dynamic (InstallMethod) */
-#define IMPLICIT_EXTERNAL 0x02 /* iASL only: This object created implicitly via External */
#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 */
#define ANOBJ_METHOD_SOME_NO_RETVAL 0x20 /* iASL only: Method has at least one return value */
diff --git a/sys/contrib/dev/acpica/include/acpixf.h b/sys/contrib/dev/acpica/include/acpixf.h
index e131ec67efe20..7feb140a83b1c 100644
--- a/sys/contrib/dev/acpica/include/acpixf.h
+++ b/sys/contrib/dev/acpica/include/acpixf.h
@@ -154,7 +154,7 @@
/* Current ACPICA subsystem version in YYYYMMDD format */
-#define ACPI_CA_VERSION 0x20180531
+#define ACPI_CA_VERSION 0x20180629
#include <contrib/dev/acpica/include/acconfig.h>
#include <contrib/dev/acpica/include/actypes.h>