26 March 2020. Summary of changes for version 20200326:
This release is available at
https://acpica.org/downloads
1) ACPICA kernel-resident subsystem:
Performed a code clean-up to prevent build errors on early versions of GCC-10.
Added the NHLT table signature. iASL data table compiler/disassembler support for this
table is coming soon.
2) iASL Compiler/Disassembler and ACPICA tools:
AcpiExec: Fixed several problems with the namespace initialization file
(-fi<filename> option). Includes fixes to prevent AE_ALREADY_EXISTS errors, several
seg faults, and enhancements to line parsing within the init file. In addition, each
object found in the init file and it's new value is displayed, as well as any such
entries that do not have a corresponding name in the namespace. For reference, the syntax
for the various supported data types are presented below
PCHG 0x777788889999BBBB // Integer
\DEV1.STR1 "XYZ" // String
BUF1 (88 99 AA) // Buffer
PKG1 [0x1111 0x2222] // Package
\BF1 0x7980 // BufferField
RCRV 0x0123456789ABCDEF // Field Unit
iASL: Added a custom iASL macro __EXPECT__(iASL-Error-Code). This macro can be used
anywhere in a given ASL file to configure iASL to expect an iASL compiler error code on
the line where this macro was placed. If the error code does not exist, an error is
generated. This is intended to be used for ACPICA's ASL test suite, but can be used by
ASL developers as well.
iASL: table compiler: Implemented IVRS IVHD type 11h parsing. The AMD IVRS table parsing
supported only IVHD type 10h structures. Parsing an IVHD type 11h caused the iasl to
report unknown subtable type. Add necessary structure definition for IVHD type 11h and
apply correct parsing method based on subtable type. Michał Żygowski.
iASL: table compiler: Fixed IVRS table IVHD type 10h reserved field name According to AMD
IOMMU Specification Revision 3.05 the reserved field should be IOMMU Feature Reporting.
Change the name of the field to the correct one. Michał Żygowski.
acpiexec: removed redeclaration of AcpiGbl_DbOpt_NoRegionSupport. Patch based on
suggestions by David Seifert and Benjamin Berg.
iASL: table compiler: removed unused variable (DtCompilerParserResult) causing linking
errors. Patch based on suggestions by David Seifert and Benjamin Berg.
iASL: table compiler: make LexBuffer static to avoid linking errors in newer compilers.
Patch based on suggestions by David Seifert and Benjamin Berg.
iASL: fixed type matching between External and Named objects. External object types can
only be expressed with ACPI object type values that are defined in the ACPI spec. However,
iASL uses ACPI object type values that are local to ACPICA in addition to the values
defined in the ACPI spec. This change implements type matching to map some object type
values specific to ACPICA to ones that are defined in the ACPI spec.
iASL: Droped the type mismatch compiler error that can arise from External declarations to
a warning. This warning can occur when there is a type difference between the external
declaration and the actual object declaration (when compiling multiple files/modules
simultaneously).
iASL: removed an incorrect error message regarding externals. This change removes an
incorrect error that is emitted when a duplicate external declaration does not contain a
type that opens a scope. This is incorrect because the duplicate external with conflicting
types are already caught by iASL and it doesn't make any sense to enforce what this
conflicting type should be.
AcpiXtract: fix AX_IS_TABLE_BLOCK_HEADER macro. This macro needs to be surrounded by
parens. Otherwise, a logical statement that applies a logical not operator to this macros
could result in a computation that applies the operator to the left side of the logical
and but not the right. Reported-by: John Levon <john.levon(a)joyent.com>
Fixed a problem with the local version of sprint(): On 32-bit, the provided sprintf() is
non-functional: with a size of ACPI_UINT32_MAX, String + Size will wrap, meaning End <
Start, and AcpiUtBoundStringOutput() will never output anything as a result. The symptom
seen of this was acpixtract failing to output anything -- with a custom build that
included utprint.c. Signed-off-by: John Levon <john.levon(a)joyent.com>
iASL: Changed the "PlatformCommChannel" ASL keyword to "PCC", as per
the ACPI specification.