1/****************************************************************************** 2 * 3 * Module Name: dswload - Dispatcher namespace load callbacks 4 * 5 *****************************************************************************/ 6 7/****************************************************************************** 8 * --- 282 unchanged lines hidden (view full) --- 291 /* These are acceptable types */ 292 break; 293 294 case ACPI_TYPE_INTEGER: 295 case ACPI_TYPE_STRING: 296 case ACPI_TYPE_BUFFER: 297 298 /* |
299 * These types we will allow, but we will change the type. 300 * This enables some existing code of the form: |
301 * 302 * Name (DEB, 0) 303 * Scope (DEB) { ... } 304 * |
305 * Note: silently change the type here. On the second pass, 306 * we will report a warning |
307 */ 308 ACPI_DEBUG_PRINT ((ACPI_DB_INFO, |
309 "Type override - [%4.4s] had invalid type (%s) " 310 "for Scope operator, changed to type ANY\n", 311 AcpiUtGetNodeName (Node), AcpiUtGetTypeName (Node->Type))); |
312 313 Node->Type = ACPI_TYPE_ANY; 314 WalkState->ScopeInfo->Common.Value = ACPI_TYPE_ANY; 315 break; 316 317 default: 318 319 /* All other types are an error */ 320 321 ACPI_ERROR ((AE_INFO, |
322 "Invalid type (%s) for target of " 323 "Scope operator [%4.4s] (Cannot override)", 324 AcpiUtGetTypeName (Node->Type), AcpiUtGetNodeName (Node))); |
325 326 return_ACPI_STATUS (AE_AML_OPERAND_TYPE); 327 } 328 break; 329 330 331 default: 332 /* --- 458 unchanged lines hidden (view full) --- 791 /* These are acceptable types */ 792 break; 793 794 case ACPI_TYPE_INTEGER: 795 case ACPI_TYPE_STRING: 796 case ACPI_TYPE_BUFFER: 797 798 /* |
799 * These types we will allow, but we will change the type. 800 * This enables some existing code of the form: |
801 * 802 * Name (DEB, 0) 803 * Scope (DEB) { ... } 804 */ 805 ACPI_WARNING ((AE_INFO, |
806 "Type override - [%4.4s] had invalid type (%s) " 807 "for Scope operator, changed to type ANY\n", 808 AcpiUtGetNodeName (Node), AcpiUtGetTypeName (Node->Type))); |
809 810 Node->Type = ACPI_TYPE_ANY; 811 WalkState->ScopeInfo->Common.Value = ACPI_TYPE_ANY; 812 break; 813 814 default: 815 816 /* All other types are an error */ 817 818 ACPI_ERROR ((AE_INFO, |
819 "Invalid type (%s) for target of " 820 "Scope operator [%4.4s] (Cannot override)", 821 AcpiUtGetTypeName (Node->Type), AcpiUtGetNodeName (Node))); |
822 823 return (AE_AML_OPERAND_TYPE); 824 } 825 break; 826 827 default: 828 829 /* All other opcodes */ --- 323 unchanged lines hidden (view full) --- 1153 ((Op->Common.Value.Arg)->Common.Value.Integer); 1154 } 1155 else 1156 { 1157 RegionSpace = REGION_DATA_TABLE; 1158 } 1159 1160 /* |
1161 * The OpRegion is not fully parsed at this time. The only valid 1162 * argument is the SpaceId. (We must save the address of the 1163 * AML of the address and length operands) 1164 * 1165 * If we have a valid region, initialize it. The namespace is 1166 * unlocked at this point. 1167 * 1168 * Need to unlock interpreter if it is locked (if we are running 1169 * a control method), in order to allow _REG methods to be run 1170 * during AcpiEvInitializeRegion. |
1171 */ 1172 if (WalkState->MethodNode) 1173 { |
1174 /* 1175 * Executing a method: initialize the region and unlock 1176 * the interpreter 1177 */ |
1178 Status = AcpiExCreateRegion (Op->Named.Data, Op->Named.Length, 1179 RegionSpace, WalkState); 1180 if (ACPI_FAILURE (Status)) 1181 { 1182 return (Status); 1183 } |
1184 1185 AcpiExExitInterpreter (); |
1186 } 1187 |
1188 Status = AcpiEvInitializeRegion (AcpiNsGetAttachedObject (Node), 1189 FALSE); |
1190 if (WalkState->MethodNode) 1191 { 1192 AcpiExEnterInterpreter (); 1193 } 1194 |
1195 if (ACPI_FAILURE (Status)) 1196 { 1197 /* 1198 * If AE_NOT_EXIST is returned, it is not fatal 1199 * because many regions get created before a handler 1200 * is installed for said region. 1201 */ 1202 if (AE_NOT_EXIST == Status) --- 114 unchanged lines hidden --- |