Message ID | 20180629161128.6402-2-colin.king@canonical.com |
---|---|
State | Accepted |
Headers | show |
Series | ACPICA: Update to version 20180629 | expand |
On 06/30/2018 12:11 AM, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > changes in this release of ACPICA are detailed at the following > link on the ACPICA developer mailing list: > > https://lists.acpica.org/pipermail/devel/2018-June/001810.html > > Signed-off-by: Colin Ian King <colin.king@canonical.com> > --- > src/acpica/source/common/dmextern.c | 2 +- > src/acpica/source/compiler/aslglobal.h | 7 +- > src/acpica/source/compiler/aslhelpers.y | 32 ++++++++ > src/acpica/source/compiler/aslload.c | 79 +------------------ > src/acpica/source/compiler/aslmain.c | 15 +--- > src/acpica/source/compiler/aslmessages.c | 3 +- > src/acpica/source/compiler/aslmessages.h | 1 + > src/acpica/source/compiler/aslparser.y | 2 +- > src/acpica/source/compiler/aslprimaries.y | 28 +++---- > src/acpica/source/compiler/asltransform.c | 5 ++ > src/acpica/source/compiler/asltypes.y | 4 + > .../source/components/hardware/hwxfsleep.c | 12 +-- > .../source/components/namespace/nsaccess.c | 7 -- > .../source/components/namespace/nseval.c | 4 +- > .../source/components/namespace/nssearch.c | 1 - > src/acpica/source/include/aclocal.h | 1 - > src/acpica/source/include/acpixf.h | 2 +- > 17 files changed, 80 insertions(+), 125 deletions(-) > > diff --git a/src/acpica/source/common/dmextern.c b/src/acpica/source/common/dmextern.c > index 8aab4807..df0e1b97 100644 > --- a/src/acpica/source/common/dmextern.c > +++ b/src/acpica/source/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/src/acpica/source/compiler/aslglobal.h b/src/acpica/source/compiler/aslglobal.h > index 93c51fae..e22f476f 100644 > --- a/src/acpica/source/compiler/aslglobal.h > +++ b/src/acpica/source/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/src/acpica/source/compiler/aslhelpers.y b/src/acpica/source/compiler/aslhelpers.y > index bb9ff625..3a680a81 100644 > --- a/src/acpica/source/compiler/aslhelpers.y > +++ b/src/acpica/source/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/src/acpica/source/compiler/aslload.c b/src/acpica/source/compiler/aslload.c > index a57ba5e0..95fea9cd 100644 > --- a/src/acpica/source/compiler/aslload.c > +++ b/src/acpica/source/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/src/acpica/source/compiler/aslmain.c b/src/acpica/source/compiler/aslmain.c > index 6827d1e6..227e6f31 100644 > --- a/src/acpica/source/compiler/aslmain.c > +++ b/src/acpica/source/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/src/acpica/source/compiler/aslmessages.c b/src/acpica/source/compiler/aslmessages.c > index 7f5cde73..b9e9f801 100644 > --- a/src/acpica/source/compiler/aslmessages.c > +++ b/src/acpica/source/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/src/acpica/source/compiler/aslmessages.h b/src/acpica/source/compiler/aslmessages.h > index 18e81445..dcd2aa0d 100644 > --- a/src/acpica/source/compiler/aslmessages.h > +++ b/src/acpica/source/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/src/acpica/source/compiler/aslparser.y b/src/acpica/source/compiler/aslparser.y > index 38c033d5..5ba4d4ab 100644 > --- a/src/acpica/source/compiler/aslparser.y > +++ b/src/acpica/source/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/src/acpica/source/compiler/aslprimaries.y b/src/acpica/source/compiler/aslprimaries.y > index b131f2a9..e2faf9a9 100644 > --- a/src/acpica/source/compiler/aslprimaries.y > +++ b/src/acpica/source/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/src/acpica/source/compiler/asltransform.c b/src/acpica/source/compiler/asltransform.c > index c74499ea..559b4f8f 100644 > --- a/src/acpica/source/compiler/asltransform.c > +++ b/src/acpica/source/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/src/acpica/source/compiler/asltypes.y b/src/acpica/source/compiler/asltypes.y > index 361d476f..4112969d 100644 > --- a/src/acpica/source/compiler/asltypes.y > +++ b/src/acpica/source/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/src/acpica/source/components/hardware/hwxfsleep.c b/src/acpica/source/components/hardware/hwxfsleep.c > index 8ebb8c1d..b2f856c5 100644 > --- a/src/acpica/source/components/hardware/hwxfsleep.c > +++ b/src/acpica/source/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/src/acpica/source/components/namespace/nsaccess.c b/src/acpica/source/components/namespace/nsaccess.c > index d084c6fe..bf530d48 100644 > --- a/src/acpica/source/components/namespace/nsaccess.c > +++ b/src/acpica/source/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/src/acpica/source/components/namespace/nseval.c b/src/acpica/source/components/namespace/nseval.c > index 2a7eb8f5..8262d992 100644 > --- a/src/acpica/source/components/namespace/nseval.c > +++ b/src/acpica/source/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/src/acpica/source/components/namespace/nssearch.c b/src/acpica/source/components/namespace/nssearch.c > index 02fd8b40..dab4b570 100644 > --- a/src/acpica/source/components/namespace/nssearch.c > +++ b/src/acpica/source/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/src/acpica/source/include/aclocal.h b/src/acpica/source/include/aclocal.h > index f487a4ec..58c09379 100644 > --- a/src/acpica/source/include/aclocal.h > +++ b/src/acpica/source/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/src/acpica/source/include/acpixf.h b/src/acpica/source/include/acpixf.h > index cfe83791..110b375b 100644 > --- a/src/acpica/source/include/acpixf.h > +++ b/src/acpica/source/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 "acconfig.h" > #include "actypes.h" Acked-by: Ivan Hu <ivan.hu@canonical.com>
On 2018-06-29 09:11 AM, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > changes in this release of ACPICA are detailed at the following > link on the ACPICA developer mailing list: > > https://lists.acpica.org/pipermail/devel/2018-June/001810.html > > Signed-off-by: Colin Ian King <colin.king@canonical.com> > --- > src/acpica/source/common/dmextern.c | 2 +- > src/acpica/source/compiler/aslglobal.h | 7 +- > src/acpica/source/compiler/aslhelpers.y | 32 ++++++++ > src/acpica/source/compiler/aslload.c | 79 +------------------ > src/acpica/source/compiler/aslmain.c | 15 +--- > src/acpica/source/compiler/aslmessages.c | 3 +- > src/acpica/source/compiler/aslmessages.h | 1 + > src/acpica/source/compiler/aslparser.y | 2 +- > src/acpica/source/compiler/aslprimaries.y | 28 +++---- > src/acpica/source/compiler/asltransform.c | 5 ++ > src/acpica/source/compiler/asltypes.y | 4 + > .../source/components/hardware/hwxfsleep.c | 12 +-- > .../source/components/namespace/nsaccess.c | 7 -- > .../source/components/namespace/nseval.c | 4 +- > .../source/components/namespace/nssearch.c | 1 - > src/acpica/source/include/aclocal.h | 1 - > src/acpica/source/include/acpixf.h | 2 +- > 17 files changed, 80 insertions(+), 125 deletions(-) > > diff --git a/src/acpica/source/common/dmextern.c b/src/acpica/source/common/dmextern.c > index 8aab4807..df0e1b97 100644 > --- a/src/acpica/source/common/dmextern.c > +++ b/src/acpica/source/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/src/acpica/source/compiler/aslglobal.h b/src/acpica/source/compiler/aslglobal.h > index 93c51fae..e22f476f 100644 > --- a/src/acpica/source/compiler/aslglobal.h > +++ b/src/acpica/source/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/src/acpica/source/compiler/aslhelpers.y b/src/acpica/source/compiler/aslhelpers.y > index bb9ff625..3a680a81 100644 > --- a/src/acpica/source/compiler/aslhelpers.y > +++ b/src/acpica/source/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/src/acpica/source/compiler/aslload.c b/src/acpica/source/compiler/aslload.c > index a57ba5e0..95fea9cd 100644 > --- a/src/acpica/source/compiler/aslload.c > +++ b/src/acpica/source/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/src/acpica/source/compiler/aslmain.c b/src/acpica/source/compiler/aslmain.c > index 6827d1e6..227e6f31 100644 > --- a/src/acpica/source/compiler/aslmain.c > +++ b/src/acpica/source/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/src/acpica/source/compiler/aslmessages.c b/src/acpica/source/compiler/aslmessages.c > index 7f5cde73..b9e9f801 100644 > --- a/src/acpica/source/compiler/aslmessages.c > +++ b/src/acpica/source/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/src/acpica/source/compiler/aslmessages.h b/src/acpica/source/compiler/aslmessages.h > index 18e81445..dcd2aa0d 100644 > --- a/src/acpica/source/compiler/aslmessages.h > +++ b/src/acpica/source/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/src/acpica/source/compiler/aslparser.y b/src/acpica/source/compiler/aslparser.y > index 38c033d5..5ba4d4ab 100644 > --- a/src/acpica/source/compiler/aslparser.y > +++ b/src/acpica/source/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/src/acpica/source/compiler/aslprimaries.y b/src/acpica/source/compiler/aslprimaries.y > index b131f2a9..e2faf9a9 100644 > --- a/src/acpica/source/compiler/aslprimaries.y > +++ b/src/acpica/source/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/src/acpica/source/compiler/asltransform.c b/src/acpica/source/compiler/asltransform.c > index c74499ea..559b4f8f 100644 > --- a/src/acpica/source/compiler/asltransform.c > +++ b/src/acpica/source/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/src/acpica/source/compiler/asltypes.y b/src/acpica/source/compiler/asltypes.y > index 361d476f..4112969d 100644 > --- a/src/acpica/source/compiler/asltypes.y > +++ b/src/acpica/source/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/src/acpica/source/components/hardware/hwxfsleep.c b/src/acpica/source/components/hardware/hwxfsleep.c > index 8ebb8c1d..b2f856c5 100644 > --- a/src/acpica/source/components/hardware/hwxfsleep.c > +++ b/src/acpica/source/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/src/acpica/source/components/namespace/nsaccess.c b/src/acpica/source/components/namespace/nsaccess.c > index d084c6fe..bf530d48 100644 > --- a/src/acpica/source/components/namespace/nsaccess.c > +++ b/src/acpica/source/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/src/acpica/source/components/namespace/nseval.c b/src/acpica/source/components/namespace/nseval.c > index 2a7eb8f5..8262d992 100644 > --- a/src/acpica/source/components/namespace/nseval.c > +++ b/src/acpica/source/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/src/acpica/source/components/namespace/nssearch.c b/src/acpica/source/components/namespace/nssearch.c > index 02fd8b40..dab4b570 100644 > --- a/src/acpica/source/components/namespace/nssearch.c > +++ b/src/acpica/source/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/src/acpica/source/include/aclocal.h b/src/acpica/source/include/aclocal.h > index f487a4ec..58c09379 100644 > --- a/src/acpica/source/include/aclocal.h > +++ b/src/acpica/source/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/src/acpica/source/include/acpixf.h b/src/acpica/source/include/acpixf.h > index cfe83791..110b375b 100644 > --- a/src/acpica/source/include/acpixf.h > +++ b/src/acpica/source/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 "acconfig.h" > #include "actypes.h" > Acked-by: Alex Hung <alex.hung@canonical.com>
diff --git a/src/acpica/source/common/dmextern.c b/src/acpica/source/common/dmextern.c index 8aab4807..df0e1b97 100644 --- a/src/acpica/source/common/dmextern.c +++ b/src/acpica/source/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/src/acpica/source/compiler/aslglobal.h b/src/acpica/source/compiler/aslglobal.h index 93c51fae..e22f476f 100644 --- a/src/acpica/source/compiler/aslglobal.h +++ b/src/acpica/source/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/src/acpica/source/compiler/aslhelpers.y b/src/acpica/source/compiler/aslhelpers.y index bb9ff625..3a680a81 100644 --- a/src/acpica/source/compiler/aslhelpers.y +++ b/src/acpica/source/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/src/acpica/source/compiler/aslload.c b/src/acpica/source/compiler/aslload.c index a57ba5e0..95fea9cd 100644 --- a/src/acpica/source/compiler/aslload.c +++ b/src/acpica/source/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/src/acpica/source/compiler/aslmain.c b/src/acpica/source/compiler/aslmain.c index 6827d1e6..227e6f31 100644 --- a/src/acpica/source/compiler/aslmain.c +++ b/src/acpica/source/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/src/acpica/source/compiler/aslmessages.c b/src/acpica/source/compiler/aslmessages.c index 7f5cde73..b9e9f801 100644 --- a/src/acpica/source/compiler/aslmessages.c +++ b/src/acpica/source/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/src/acpica/source/compiler/aslmessages.h b/src/acpica/source/compiler/aslmessages.h index 18e81445..dcd2aa0d 100644 --- a/src/acpica/source/compiler/aslmessages.h +++ b/src/acpica/source/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/src/acpica/source/compiler/aslparser.y b/src/acpica/source/compiler/aslparser.y index 38c033d5..5ba4d4ab 100644 --- a/src/acpica/source/compiler/aslparser.y +++ b/src/acpica/source/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/src/acpica/source/compiler/aslprimaries.y b/src/acpica/source/compiler/aslprimaries.y index b131f2a9..e2faf9a9 100644 --- a/src/acpica/source/compiler/aslprimaries.y +++ b/src/acpica/source/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/src/acpica/source/compiler/asltransform.c b/src/acpica/source/compiler/asltransform.c index c74499ea..559b4f8f 100644 --- a/src/acpica/source/compiler/asltransform.c +++ b/src/acpica/source/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/src/acpica/source/compiler/asltypes.y b/src/acpica/source/compiler/asltypes.y index 361d476f..4112969d 100644 --- a/src/acpica/source/compiler/asltypes.y +++ b/src/acpica/source/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/src/acpica/source/components/hardware/hwxfsleep.c b/src/acpica/source/components/hardware/hwxfsleep.c index 8ebb8c1d..b2f856c5 100644 --- a/src/acpica/source/components/hardware/hwxfsleep.c +++ b/src/acpica/source/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/src/acpica/source/components/namespace/nsaccess.c b/src/acpica/source/components/namespace/nsaccess.c index d084c6fe..bf530d48 100644 --- a/src/acpica/source/components/namespace/nsaccess.c +++ b/src/acpica/source/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/src/acpica/source/components/namespace/nseval.c b/src/acpica/source/components/namespace/nseval.c index 2a7eb8f5..8262d992 100644 --- a/src/acpica/source/components/namespace/nseval.c +++ b/src/acpica/source/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/src/acpica/source/components/namespace/nssearch.c b/src/acpica/source/components/namespace/nssearch.c index 02fd8b40..dab4b570 100644 --- a/src/acpica/source/components/namespace/nssearch.c +++ b/src/acpica/source/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/src/acpica/source/include/aclocal.h b/src/acpica/source/include/aclocal.h index f487a4ec..58c09379 100644 --- a/src/acpica/source/include/aclocal.h +++ b/src/acpica/source/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/src/acpica/source/include/acpixf.h b/src/acpica/source/include/acpixf.h index cfe83791..110b375b 100644 --- a/src/acpica/source/include/acpixf.h +++ b/src/acpica/source/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 "acconfig.h" #include "actypes.h"