MFV: r335802
Merge ACPICA 20180629.
This commit is contained in:
commit
da9b0901f6
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=335809
@ -1,3 +1,62 @@
|
||||
----------------------------------------
|
||||
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:
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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];
|
||||
|
||||
|
@ -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;}
|
||||
|
@ -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))
|
||||
{
|
||||
|
@ -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 @@ main (
|
||||
*
|
||||
* 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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -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 */
|
||||
|
@ -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 */
|
||||
|
||||
|
@ -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 */
|
||||
|
||||
|
@ -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 */
|
||||
|
||||
|
@ -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;}
|
||||
|
@ -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 */
|
||||
|
@ -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
|
||||
|
@ -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) }
|
||||
};
|
||||
|
||||
|
@ -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:
|
||||
*
|
||||
|
@ -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;
|
||||
|
@ -545,7 +545,6 @@ AcpiNsSearchAndEnter (
|
||||
(WalkState && WalkState->Opcode == AML_SCOPE_OP))
|
||||
{
|
||||
NewNode->Flags |= ANOBJ_IS_EXTERNAL;
|
||||
NewNode->Flags |= IMPLICIT_EXTERNAL;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -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 */
|
||||
|
@ -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>
|
||||
|
Loading…
Reference in New Issue
Block a user