Version 20181213

13 December 2018. Summary of changes for version 20181213:

This release is available at

1) ACPICA Kernel-resident Subsystem:

Fixed some buffer length issues with the GenericSerialBus, related to two of the bidirectional protocols: AttribRawProcessBytes and AttribRawBytes, which are rarely seen in the field. For these, the LEN field of the ASL buffer is now ignored. Hans de Goede

Implemented a new object evaluation trace mechanism for control methods and data objects. This includes nested control methods. It is particularly useful for examining the ACPI execution during system initialization since the output is relatively terse. The flag below enables the output of the trace via the ACPI_DEBUG_PRINT_RAW interface:
#define ACPI_LV_EVALUATION 0x00080000

Enter evaluation : _SB.PCI0._INI (Method)
Exit evaluation : _SB.PCI0._INI
Enter evaluation : _OSI (Method)
Exit evaluation : _OSI
Enter evaluation : _SB.PCI0.TEST (Method)
Nested method call : _SB.PCI0.NST1
Exit nested method : _SB.PCI0.NST1
Exit evaluation : _SB.PCI0.TEST

Added two recently-defined _OSI strings. See
"Windows 2018"
"Windows 2018.2"

Update for buffer-to-string conversions via the ToHexString ASL operator. A "0x" is now prepended to each of the hex values in the output string. This provides compatibility with other ACPI implementations. The ACPI specification is somewhat vague on this issue.
Example output string after conversion: "0x01,0x02,0x03,0x04,0x05,0x06"

Return a run-time error for TermArg expressions within individual package elements. Although this is technically supported by the ASL grammar, other ACPI implementations do not support this either. Also, this fixes a fault if this type of construct is ever encountered (it never has been).

2) iASL Compiler/Disassembler and Tools:

iASL: Implemented a new compile option (-ww) that will promote individual warnings and remarks to errors. This is intended to enhance the firmware build process.

AcpiExec: Implemented a new command-line option (-eo) to support the new object evaluation trace mechanism described above.

Disassembler: Added support to disassemble OEMx tables as AML/ASL tables instead of a "unknown table" message.

AcpiHelp: Improved support for the "special" predefined names such as _Lxx, _Exx, _EJx, _T_x, etc. For these, any legal hex value can now be used for "xx" and "x".

13 December, 2018