summaryrefslogtreecommitdiff
path: root/source/compiler/aslload.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/compiler/aslload.c')
-rw-r--r--source/compiler/aslload.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/source/compiler/aslload.c b/source/compiler/aslload.c
index 4dd2dfd0f561..d918c0cc76ff 100644
--- a/source/compiler/aslload.c
+++ b/source/compiler/aslload.c
@@ -275,7 +275,6 @@ LdLoadFieldElements (
ACPI_STATUS Status;
-
SourceRegion = UtGetArg (Op, 0);
if (SourceRegion)
{
@@ -1031,7 +1030,8 @@ FinishNode:
* DESCRIPTION: Check if certain named objects are declared in the incorrect
* scope. Special named objects are listed in
* AslGbl_SpecialNamedObjects and can only be declared at the root
- * scope.
+ * scope. _UID inside of a processor declaration must not be a
+ * string.
*
******************************************************************************/
@@ -1052,6 +1052,13 @@ LdCheckSpecialNames (
return;
}
}
+
+ if (ACPI_COMPARE_NAMESEG (Node->Name.Ascii, "_UID") &&
+ Node->Parent->Type == ACPI_TYPE_PROCESSOR &&
+ Node->Type == ACPI_TYPE_STRING)
+ {
+ AslError (ASL_ERROR, ASL_MSG_INVALID_PROCESSOR_UID , Op, "found a string");
+ }
}