{
 "erroradvice": 
 [ 
  {
   "id": "ASL_MSG_FIELD_ACCESS_WIDTH",
   "advice": "The region needs to be at least as big as the access width."
  },
  {
   "id": "ASL_MSG_FIELD_UNIT_ACCESS_WIDTH",
   "advice": "The field plus the access width must not go beyond the end of the region."
  },
  {
   "id": "ASL_MSG_HID_SUFFIX",
   "advice": "The remaining characters (suffix) of the _HID string must be hexadecimal digits."
  },
  {
   "id": "ASL_MSG_ISA_ADDRESS",
   "advice": "The fixed I/O ISA address is illegal, it is greater than 0x03ff."
  },
  {
   "id": "ASL_MSG_LEADING_ASTERISK",
   "advice": "The leading character of the string is an asterisk '*'.  This is used by some platform manufacturers.  While this is allowed for a _CID, the compiler complains about this since a valid use of this has never been seen."
  },
  {
   "id": "ASL_MSG_LIST_LENGTH_LONG",
   "advice": "The package length is smaller than the length of the initializer list."
  },
  {
   "id": "ASL_MSG_LOCAL_INIT",
   "advice": "A local variable to a method has not been initialized. This is a bug and can lead to undefined execution behaviour."
  },
  {
   "id": "ASL_MSG_NAME_EXISTS",
   "advice": "The name already exists in this scope. The compiler will continue to process it."
  },
  {
   "id": "ASL_MSG_NO_REGION",
   "advice": "_REG requires a corresponding Operation Region, however one was not found."
  },
  {
   "id": "ASL_MSG_NOT_FOUND",
   "advice": "The name referenced by Scope() should exist, but does not; forward references for Scope() are not supported by the Microsoft Windows ACPI interpreter."
  },
  {
   "id": "ASL_MSG_NOT_METHOD",
   "advice": "The node type is not a method, so it cannot be invoked."
  },
  {
   "id": "ASL_MSG_NOT_REACHABLE",
   "advice": "The name exists in the name space, but not it could not be accessed from the scope."
  },
  {
   "id": "ASL_MSG_RESERVED_METHOD",
   "advice": "The reserved method must be a control method, this occurs for example for the _Lxx, _Exx, _Wxx or _Qxx methods, or for a predefined name that requires input arguments, or no return value from prefefined names such as _DIS, _INI, _IRC, _OFF, _ON, _PSx."
  },
  {
   "id": "ASL_MSG_RESERVED_OPERAND_TYPE",
   "advice": "The object type for the reserved name does not match the expected type."
  },
  {
   "id": "ASL_MSG_SCOPE_FWD_REF",
   "advice": "The Microsoft ACPI interpreter cannot handle a forward reference from the Scope() operator, so the compiler flags this up as an error."
  },
  {
   "id": "ASL_MSG_TAG_LARGER",
   "advice": "The resource tag length is larger than the field length."
  },
  {
   "id": "ASL_MSG_TAG_SMALLER",
   "advice": "The resource tag length is smaller than the field length."
  },
  {
   "id": "ASL_MSG_UNKNOWN_RESERVED_NAME",
   "advice": "The name does not match any of the known predefined names.  Names that start with an underscore '_' are reserved by the ACPI specification and so this name should be one of these known names."
  },
  {
   "id": "ASL_MSG_UNREACHABLE_CODE",
   "advice": "This occurs when there is some code following a Return() - this code is unreachable code, it cannot be executed, so it is most probably a bug."
  },
  {
   "id": "ASL_MSG_NOT_EXIST",
   "advice": "The referenced object could not be found during a name space lookup, it does not seem to exist."
  },
  {
   "id": "ASL_MSG_CORE_EXCEPTION",
   "advice": "An internel compiler core execption error has occurred performing a name space lookuop."
  },
  {
   "id": "ASL_MSG_DEBUG_FILE_OPEN",
   "advice": "The compiler could not open a debug file for output."
  },
  {
   "id": "ASL_MSG_DEBUG_FILENAME",
   "advice": "A debug filename could not be generated by the compiler."
  },
  {
   "id": "ASL_MSG_DEPENDENT_NESTING",
   "advice": "A resource descriptor nesting error has occurred."
  },
  {
   "id": "ASL_MSG_DUPLICATE_CASE",
   "advice": "A case value has already been specified."
  },
  {
   "id": "ASL_MSG_EARLY_EOF",
   "advice": "The End-Of-File was reached prematurely."
  },
  {
   "id": "ASL_MSG_CONSTANT_FOLDED",
   "advice": "The compiler has performed a constant folding optimization."
  },
  {
   "id": "ASL_MSG_CONSTANT_EVALUATION",
   "advice": "Failed to evaluate a constant expression, the compiler could not resolve a subtree for some unknown reason."
  },
  {
   "id": "ASL_MSG_CONNECTION_MISSING",
   "advice": "The compiler was parsing a FieldUnitList and was expecting a Connection() operator but instead found a NameSeg() opcode."
  },
  {
   "id": "ASL_MSG_CONNECTION_INVALID",
   "advice": "A Connection() operator is only valid for the GeneralPurposeIo and GenericSerialBus operation region SpaceIds."
  },
  {
   "id": "ASL_MSG_CLOSE",
   "advice": "An error occurred closing a file in the ASL compiler, this is a system error and should not normally occur."
  },
  {
   "id": "ASL_MSG_COMPILER_INTERNAL",
   "advice": "An error occurred inside the compiler."
  },
  {
   "id": "ASL_MSG_COMPILER_RESERVED",
   "advice": "This normally occurs when disassembled code is being compiled and it contains compiler-emitted names of the form '_T_x'.  This is just a remark generated by the compiler and can normally be ignored."
  },
  {
   "id": "ASL_MSG_RETURN_TYPES",
   "advice": "Some of the execution paths do not return a value.  All control paths that return must return a value otherwise unexpected behaviour may occur.  This error occurs because a branch on an conditional op-code returns a value and another does not, which is inconsistent behaviour."
  },
  {
   "id": "ASL_MSG_RESERVED_RETURN_VALUE",
   "advice": "A reserved method was expected to return a value, however, it does not. This is unexpected behaviour that does not conform the the ACPI specification."
  },
  {
   "id": "ASL_MSG_INVALID_TYPE",
   "advice": "An invalid type was used.  A different type was expected to be used.",
  },
  {
   "id": "ASL_MSG_RESERVED_NO_RETURN_VAL",
   "advice": "A reserved method returned a value however it is not expected to return anything, so this does not conform to the expected behaviour.  The kernel will most probably ignore the return value, so this is not going to produce any run time errors."
  },
  {
   "id": "ASL_MSG_ALIGNMENT",
   "advice": "Addresses must be an exact multiple of the alignment value."
  },
  {
   "id": "ASL_MSG_ALPHANUMERIC_STRING",
   "advice": "For _HID (Hardware object IDs), the ACPI specification requires all characters must be alphanumeric. Section 6.1.4 of the specification states that a valid PNP ID must be of the form AAA#### (where A is an uppercase letter and # is a hex digit) and a valid ACPI ID must be of the form ACPI#### where # is a hex digit."
  },
  {
   "id": "ASL_MSG_AML_NOT_IMPLEMENTED",
   "advice": "This error message should not occur."
  },
  {
   "id": "ASL_MSG_ARG_COUNT_HI",
   "advice": "Method is called with too many arguments. This is a bug and can lead to unexpected and undefined behaviour."
  },
  {
   "id": "ASL_MSG_ARG_COUNT_LO",
   "advice": "Method is called with too few arguments. This is a bug and can lead to unexpected and undefined behaviour."
  },
  {
   "id": "ASL_MSG_ARG_INIT",
   "advice": "A reference argument has not been initialized."
  },
  {
   "id": "ASL_MSG_BACKWARDS_OFFSET",
   "advice": "Backwards offsets in fields are illegal and this is a bug in the AML. The iasl compiler will ignore this node completely."
  },
  {
   "id": "ASL_MSG_BUFFER_LENGTH",
   "advice": "The AML buffer length was zero and contained no items. This is most probably a mistake - but the compiler has gone ahead and compiled this in as a zero sized buffer anyway."
  },
  {
   "id": "ASL_MSG_DMA_CHANNEL",
   "advice": "DMA channels are described by an 8 bit mask, hence there can only be 8 channels 0..7. See the ACPI specification, section 6.4.2.2, DMA Descriptor
 for more details."
  },
  {
   "id": "ASL_MSG_DMA_LIST",
   "advice": "Only a maximum of 8 DMA channels can be specified in a list."
  },
  {
   "id": "ASL_MSG_DUPLICATE_ITEM",
   "advice": "An initializer list has duplicate items, which is illegal."
  },
  {
   "id": "ASL_MSG_HID_LENGTH",
   "advice": " _HID String must be of the form XXX#### or ACPI####."
  },
  {
   "id": "ASL_MSG_INTEGER_LENGTH",
   "advice": "A 64 bit integer has been truncated down to a 32 bit value.  This could lead to unexpected behaviour due to loss of data through truncation."
  },
  {
   "id": "ASL_MSG_INTERRUPT_NUMBER",
   "advice": "Only interrupts 0..15 are allowed as the IRQ mask is just 16 bits wide."
  },
  {
   "id": "ASL_MSG_INVALID_ADDR_FLAGS",
   "advice": "This occurs if the length is zero and just one of the resource MIF/MAF flags are set, or the length is non-zero and resource MIF/MAF flags are both set. These are illegal combinations and need to be fixed. See section 6.4.3.5 Address Space Resource Descriptors of the ACPI specification for more details."
  },
  {
   "id": "ASL_MSG_INVALID_EISAID",
   "advice": "The EISAID string must be exactly 7 characters and of the form UUUXXXX, 3 uppercase letters and 4 hex digits (e.g., 'PNP0001'). See section 18.5.35 'EISAID (EISA ID String To Integer Conversion Macro)' of the ACPI specification for more details."
  },
  {
   "id": "ASL_MSG_INVALID_GRANULARITY",
   "advice": "This occurs if the specified granularity is non-zero and not a power-of-two minus one in value."
  },
  {
   "id": "ASL_MSG_INVALID_LENGTH",
   "advice": "This needs to be fixed as the length specified is greater than the window size specified by the Min/Max fields - this is clealy ambiguous."
  },
  {
   "id": "ASL_MSG_INVALID_LENGTH_FIXED",
   "advice": "The minimum address is greater than the maximum address. This is illegal."
  },
  {
   "id": "ASL_MSG_INVALID_MIN_MAX",
   "advice": "The minimum, maximum addresses and length must be a multiple of the alignment, which must be a power of 2."
  },
  {
   "id": "ASL_MSG_INVALID_PERFORMANCE",
   "advice": "Performance/Robustness value in StartDependentFn declaration was > 2. It must be one of: 0 = Good, 1 = Acceptable, 2 = Sub-optimal. See section 18.5.111 of the ACPI specification for more information."
  },
  {
   "id": "ASL_MSG_INVALID_PRIORITY",
   "advice": "Priority in StartDependentFn declaration was > 2. It must be one of: 0 = Good, 1 = Acceptable, 2 = Sub-optimal. See section 18.5.111 of the ACPI specification for more information."
  },
  {
   "id": "ASL_MSG_INVALID_TIME",
   "advice": "Illegal stall time (>255). Generally, stall times > 100 microseconds must use sleep() instead. See section 18.5.110 Stall (Stall for a Short Time) of the ACPI specification."
  },
  {
   "id": "ASL_MSG_NAMED_OBJECT_IN_WHILE",
   "advice": "A named object cannot be created inside a while loop. This needs to be fixed."
  },
  {
   "id": "ASL_MSG_NO_RETVAL",
   "advice": "The called method did not return a value, which was unexpected. This is a bug and will lead to undefined behaviour during execution."
  },
  {
   "id": "ASL_MSG_NULL_DESCRIPTOR",
   "advice": "A 'null descriptor' (where most fields are set to zero) has been found. Usually, these are updated or completed at run time using BufferFields, but to do so one requires a resource tag and this descriptor does not have one, hence it cannot be referenced to allow it to be updated.  This is most probably a bug and needs to be fixed."
  },
  {
   "id": "ASL_MSG_REGION_BUFFER_ACCESS",
   "advice": "SMBUS and IPMI regions require BufferAcc access. This error occurs when the incorrect access type is used on a region."
  },
  {
   "id": "ASL_MSG_REGION_BYTE_ACCESS",
   "advice": "Embedded Controller (EC) and CMOS regions can only be accessed using ByteAcc access."
  },
  {
   "id": "ASL_MSG_RESERVED_ARG_COUNT_HI",
   "advice": "Reserved method is called with too many arguments. This is a bug and can lead to unexpected and undefined behaviour."
  },
  {
   "id": "ASL_MSG_RESERVED_ARG_COUNT_LO",
   "advice": "Method is called with too few arguments. This is a bug and can lead to unexpected and undefined behaviour."
  },
  {
   "id": "ASL_MSG_RESULT_NOT_USED",
   "advice": "The result from an operation is not used. This is probably not intended and could be a bug and should be checked."
  },
  {
   "id": "ASL_MSG_SERIALIZED",
   "advice": "A method needs to be marked Serialized because of the wat Switch() has been implemented (multiple threads cannot execute the method concurrently since local temporary names need to be created which could lead to race condtions).  This should be explicity specified in the original code to avoid potential run time race conditions."
  },
  {
   "id": "ASL_MSG_SOME_NO_RETVAL",
   "advice": "Method sometimes return a value, sometimes it does not. This is inconsistent behaviour and a bug in the AML. This needs to be fixed to avoid incorrect behaviour at run time."
  },
  {
   "id": "ASL_MSG_SYNC_LEVEL",
   "advice": "Data mutex synchronization level is too large, should be 0..15.  See section 18.5.79 Mutex (Declare Synchronization/Mutex Object) of the ACPI specification for more details."
  },
  {
   "id": "ASL_MSG_SYNTAX",
   "advice": "The disassembled code cannot be reassembled using the strict IASL compiler as it contains syntax errors."
  },
  {
   "id": "ASL_MSG_TABLE_SIGNATURE",
   "advice": "Table signature must be 4 characters long and must contain alphanumeric characters."
  },
  {
   "id": "ASL_MSG_TIMEOUT",
   "advice": "The operation can possibly timeout, and hence the return value indicates an timeout error. However, because the return value is not checked this very probably indicates that the code is buggy.  A possible scenario is that a mutex times out and the code attempts to access data in a critical region when it should not.  This will lead to undefined behaviour.  This should be fixed."
  },
  {
   "id": "ASL_MSG_UPPER_CASE",
   "advice": "Characters in literal string that are not hexadecimal letters must be upper case."
  },
  {
   "id": "ASL_MSG_RECURSION",
   "advice": "Internal IASL Node recursion detected."
  },
  {
   "id": "ASL_MSG_LOCAL_OUTSIDE_METHOD",
   "advice": "A local variable was used outside of a control method, or there is an error in the method declaration."
  },
  {
   "id": "ASL_MSG_NOT_PARAMETER",
   "advice": "Argument to the method is not a real argument."
  },
  {
   "id": "ASL_MSG_SERIALIZED_REQUIRED",
   "advice": "A named object is created inside a non-serialized method - this method should be serialized. It is possible that one thread enters the method and blocks and then a second thread also executes the method, ending up in two attempts to create the object and causing a failure."
  },
  {
   "id": "ASL_MSG_TRUNCATION",
   "advice": "A truncation on a integer value has occurred. For example, a 32 bit value for a 16 bit timeout has been used."
  },
  {
   "id": "ASL_MSG_LIST_LENGTH_SHORT",
   "advice": "The provided data is actually shorter than the specified length, for example in an ACPI buffer containing vendor data."
  },
  {
   "id": "ASL_MSG_PACKAGE_LENGTH",
   "advice": "The package is larger than expected, hence wasting some space."
  },
  {
   "id": "ASL_MSG_RESERVED_PACKAGE_LENGTH",
   "advice": "The package is smaller than required."
  }
 ]
}
