Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Jun 2018 23:48:30 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r335809 - in head/sys/contrib/dev/acpica: . common compiler components/hardware components/namespace include
Message-ID:  <201806292348.w5TNmUOh004108@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jkim
Date: Fri Jun 29 23:48:30 2018
New Revision: 335809
URL: https://svnweb.freebsd.org/changeset/base/335809

Log:
  MFV:	r335802
  
  Merge ACPICA 20180629.

Modified:
  head/sys/contrib/dev/acpica/changes.txt
  head/sys/contrib/dev/acpica/common/dmextern.c
  head/sys/contrib/dev/acpica/compiler/aslglobal.h
  head/sys/contrib/dev/acpica/compiler/aslhelpers.y
  head/sys/contrib/dev/acpica/compiler/aslload.c
  head/sys/contrib/dev/acpica/compiler/aslmain.c
  head/sys/contrib/dev/acpica/compiler/aslmessages.c
  head/sys/contrib/dev/acpica/compiler/aslmessages.h
  head/sys/contrib/dev/acpica/compiler/asloptions.c
  head/sys/contrib/dev/acpica/compiler/aslparser.y
  head/sys/contrib/dev/acpica/compiler/aslprimaries.y
  head/sys/contrib/dev/acpica/compiler/asltransform.c
  head/sys/contrib/dev/acpica/compiler/asltypes.y
  head/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c
  head/sys/contrib/dev/acpica/components/namespace/nsaccess.c
  head/sys/contrib/dev/acpica/components/namespace/nseval.c
  head/sys/contrib/dev/acpica/components/namespace/nssearch.c
  head/sys/contrib/dev/acpica/include/aclocal.h
  head/sys/contrib/dev/acpica/include/acpixf.h
Directory Properties:
  head/sys/contrib/dev/acpica/   (props changed)

Modified: head/sys/contrib/dev/acpica/changes.txt
==============================================================================
--- head/sys/contrib/dev/acpica/changes.txt	Fri Jun 29 22:24:41 2018	(r335808)
+++ head/sys/contrib/dev/acpica/changes.txt	Fri Jun 29 23:48:30 2018	(r335809)
@@ -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:
 
 

Modified: head/sys/contrib/dev/acpica/common/dmextern.c
==============================================================================
--- head/sys/contrib/dev/acpica/common/dmextern.c	Fri Jun 29 22:24:41 2018	(r335808)
+++ head/sys/contrib/dev/acpica/common/dmextern.c	Fri Jun 29 23:48:30 2018	(r335809)
@@ -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)

Modified: head/sys/contrib/dev/acpica/compiler/aslglobal.h
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslglobal.h	Fri Jun 29 22:24:41 2018	(r335808)
+++ head/sys/contrib/dev/acpica/compiler/aslglobal.h	Fri Jun 29 23:48:30 2018	(r335809)
@@ -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_NamespaceEv
 
 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];
 

Modified: head/sys/contrib/dev/acpica/compiler/aslhelpers.y
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslhelpers.y	Fri Jun 29 22:24:41 2018	(r335808)
+++ head/sys/contrib/dev/acpica/compiler/aslhelpers.y	Fri Jun 29 23:48:30 2018	(r335809)
@@ -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;}
@@ -382,6 +406,14 @@ OptionalType_Last
     :                               {$$ = NULL;}
     | ','                           {$$ = NULL;}
     | ',' TypeKeyword               {$$ = $2;}
+    ;
+
+OptionalUpdateRuleKeyword   /* Default: Preserve */
+    :                               {$$ = TrCreateLeafOp (
+                                        PARSEOP_UPDATERULE_PRESERVE);}
+    | ','                           {$$ = TrCreateLeafOp (
+                                        PARSEOP_UPDATERULE_PRESERVE);}
+    | ',' UpdateRuleKeyword         {$$ = $2;}
     ;
 
 OptionalWireMode

Modified: head/sys/contrib/dev/acpica/compiler/aslload.c
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslload.c	Fri Jun 29 22:24:41 2018	(r335808)
+++ head/sys/contrib/dev/acpica/compiler/aslload.c	Fri Jun 29 23:48:30 2018	(r335809)
@@ -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))
                 {

Modified: head/sys/contrib/dev/acpica/compiler/aslmain.c
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslmain.c	Fri Jun 29 22:24:41 2018	(r335808)
+++ head/sys/contrib/dev/acpica/compiler/aslmain.c	Fri Jun 29 23:48:30 2018	(r335809)
@@ -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;
     }
 
     /*

Modified: head/sys/contrib/dev/acpica/compiler/aslmessages.c
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslmessages.c	Fri Jun 29 22:24:41 2018	(r335808)
+++ head/sys/contrib/dev/acpica/compiler/aslmessages.c	Fri Jun 29 23:48:30 2018	(r335809)
@@ -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 */

Modified: head/sys/contrib/dev/acpica/compiler/aslmessages.h
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslmessages.h	Fri Jun 29 22:24:41 2018	(r335808)
+++ head/sys/contrib/dev/acpica/compiler/aslmessages.h	Fri Jun 29 23:48:30 2018	(r335809)
@@ -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 */
 

Modified: head/sys/contrib/dev/acpica/compiler/asloptions.c
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/asloptions.c	Fri Jun 29 22:24:41 2018	(r335808)
+++ head/sys/contrib/dev/acpica/compiler/asloptions.c	Fri Jun 29 23:48:30 2018	(r335809)
@@ -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 */
 

Modified: head/sys/contrib/dev/acpica/compiler/aslparser.y
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslparser.y	Fri Jun 29 22:24:41 2018	(r335808)
+++ head/sys/contrib/dev/acpica/compiler/aslparser.y	Fri Jun 29 23:48:30 2018	(r335809)
@@ -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 */
 

Modified: head/sys/contrib/dev/acpica/compiler/aslprimaries.y
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslprimaries.y	Fri Jun 29 22:24:41 2018	(r335808)
+++ head/sys/contrib/dev/acpica/compiler/aslprimaries.y	Fri Jun 29 23:48:30 2018	(r335809)
@@ -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;}

Modified: head/sys/contrib/dev/acpica/compiler/asltransform.c
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/asltransform.c	Fri Jun 29 22:24:41 2018	(r335808)
+++ head/sys/contrib/dev/acpica/compiler/asltransform.c	Fri Jun 29 23:48:30 2018	(r335809)
@@ -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 */

Modified: head/sys/contrib/dev/acpica/compiler/asltypes.y
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/asltypes.y	Fri Jun 29 22:24:41 2018	(r335808)
+++ head/sys/contrib/dev/acpica/compiler/asltypes.y	Fri Jun 29 23:48:30 2018	(r335809)
@@ -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

Modified: head/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c
==============================================================================
--- head/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c	Fri Jun 29 22:24:41 2018	(r335808)
+++ head/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c	Fri Jun 29 23:48:30 2018	(r335809)
@@ -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) }
 };
 

Modified: head/sys/contrib/dev/acpica/components/namespace/nsaccess.c
==============================================================================
--- head/sys/contrib/dev/acpica/components/namespace/nsaccess.c	Fri Jun 29 22:24:41 2018	(r335808)
+++ head/sys/contrib/dev/acpica/components/namespace/nsaccess.c	Fri Jun 29 23:48:30 2018	(r335809)
@@ -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:
              *

Modified: head/sys/contrib/dev/acpica/components/namespace/nseval.c
==============================================================================
--- head/sys/contrib/dev/acpica/components/namespace/nseval.c	Fri Jun 29 22:24:41 2018	(r335808)
+++ head/sys/contrib/dev/acpica/components/namespace/nseval.c	Fri Jun 29 23:48:30 2018	(r335809)
@@ -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;

Modified: head/sys/contrib/dev/acpica/components/namespace/nssearch.c
==============================================================================
--- head/sys/contrib/dev/acpica/components/namespace/nssearch.c	Fri Jun 29 22:24:41 2018	(r335808)
+++ head/sys/contrib/dev/acpica/components/namespace/nssearch.c	Fri Jun 29 23:48:30 2018	(r335809)
@@ -545,7 +545,6 @@ AcpiNsSearchAndEnter (
         (WalkState && WalkState->Opcode == AML_SCOPE_OP))
     {
         NewNode->Flags |= ANOBJ_IS_EXTERNAL;
-        NewNode->Flags |= IMPLICIT_EXTERNAL;
     }
 #endif
 

Modified: head/sys/contrib/dev/acpica/include/aclocal.h
==============================================================================
--- head/sys/contrib/dev/acpica/include/aclocal.h	Fri Jun 29 22:24:41 2018	(r335808)
+++ head/sys/contrib/dev/acpica/include/aclocal.h	Fri Jun 29 23:48:30 2018	(r335809)
@@ -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 */

Modified: head/sys/contrib/dev/acpica/include/acpixf.h
==============================================================================
--- head/sys/contrib/dev/acpica/include/acpixf.h	Fri Jun 29 22:24:41 2018	(r335808)
+++ head/sys/contrib/dev/acpica/include/acpixf.h	Fri Jun 29 23:48:30 2018	(r335809)
@@ -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>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201806292348.w5TNmUOh004108>