What does NTSTATUS 0xC0140001 (STATUS_ACPI_INVALID_OPCODE) mean?

 
Previous Next
STATUS_CLUSTER_CAM_TICKET_REPLAY_DETECTED STATUS_ACPI_STACK_OVERFLOW

STATUS_ACPI_INVALID_OPCODE

STATUS_ACPI_INVALID_OPCODE is raised while the ACPI AML interpreter is decoding a control method or definition block. AML is the bytecode used to populate and evaluate the ACPI namespace; an opcode at the current byte-stream position is not valid in that grammar. This is therefore evidence about firmware-supplied ACPI data, not a report that an ordinary user-mode program executed an illegal CPU instruction.

The useful distinction is between an invalid AML opcode and STATUS_ACPI_INVALID_TABLE. The former concerns decoding inside a table that reached the AML interpreter; the latter concerns selection or validation of a table as a table. A device-driver setting rarely changes either condition.

An AML decoding failure, not an application instruction fault

  • Record the ACPI method name or table identifier reported near the failure, together with the OEM ID, OEM table ID and revision.
  • Determine whether the same firmware build reproduces the failure before and after a cold boot, sleep transition or firmware update.
  • When analysing a dump or firmware image, examine the affected DSDT or SSDT with an AML-aware decoder rather than editing byte offsets blindly.

References


Looking for a different code? Search another status or error code.