Home | History | Annotate | Download | only in compiler
History log of /src/sys/external/bsd/acpica/dist/compiler/aslmessages.h
RevisionDateAuthorComments
 1.1  17-Feb-2011  jruoho branches: 1.1.1;
Initial revision
 1.1.1.27  24-Aug-2025  christos Import 20250807 (previous was 20241212)
 1.1.1.26  24-Feb-2025  christos Import new acpica-2024-12-12; previous one was 2024-08-27
 1.1.1.25  01-Sep-2023  christos branches: 1.1.1.25.6;
Import acpica-20230628 (last was 20221020)
 1.1.1.24  27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.23  18-Dec-2021  christos Import acpica-20211217

17 December 2021. Summary of changes for version 20211217:

This release is available at https://acpica.org/downloads

1) ACPICA kernel-resident subsystem:

Hardware: Do not flush CPU cache when entering S4 and S5. According
to ACPI 6.4, Section 16.2, the CPU cache flushing is required on
entering to S1, S2, and S3, but the ACPICA code flushes the CPU
cache regardless of the sleep state. Blind cache flush on entering
S5 causes problems for TDX.

Avoid subobject buffer overflow when validating RSDP signature.
Since the Signature member is accessed through an ACPI_TABLE_HEADER,
the pointer to it is only to a 4-char array, and so trying to read
past the 4th character, as will be done when it is an RSDP, reads
beyond the bounds of the accessed member. Contributed by jrtc27.

Add support for PCC Opregion special context data. PCC Opregion
added in ACPIC 6.3 requires special context data similar to GPIO
and Generic Serial Bus as it needs to know the internal PCC buffer
and its length as well as the PCC channel index when the opregion
handler is being executed by the OSPM. Adds support for the special
context data needed by PCC Opregion. Submitted by Sudeep Holla

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Completed compiler support for the NHLT ACPI table.

iASL/NHLT table: Fixed a reported problem where a fault would occur
during disassembly of a "Linux-Specific" section if the "Specific
Data" part was not present.

iASL: Added full support (compiler and disassembler) for the AGDI
ACPI table. Contributed by: Ilkka Koskinen .

iASL: Added full support for the TDEL ACPI table.

iASL table compiler: FADT support updates:
1) Allow the 32-bit DSDT address to be zero.
2) Issue error if both the 32-bit and 64-bit DSDT addresses are zero.

iASL: Fix unaligned accesses to local cache allocations. Contributed
by jrtc27.

iASL: Open binary input files in binary mode, not text mode Affects
binary input AML files, as well as binary data table files, for
disassembly.
 1.1.1.22  06-Jul-2021  christos Import acpica-20210604
 1.1.1.21  03-Apr-2021  christos branches: 1.1.1.21.2;
31 March 2021. Summary of changes for version 20210331:

This release is available at https://acpica.org/downloads, and
includes all ACPI 6.4 support

1) ACPICA kernel-resident subsystem:
ACPI 6.4: iASL: deprecate DDBHandleObj keyword
Always create namespace nodes using AcpiNsCreateNode(). ACPICA is
allocating an object using kmalloc(), but then frees it using
kmem_cache_free(<"Acpi-Namespace" kmem_cache>). This is wrong.
Fixed a race condition in generic serial bus operation region
handler. Fixed by Hans de Goede.

2) iASL Compiler/Disassembler and ACPICA tools:

ACPI 6.4: NFIT: add Location Cookie field
ACPI 6.4: HMAT: add new fields/flags
ACPI 6.4: Add new flags in SRAT
ACPI 6.4: add SDEV secure access components
ACPI 6.4: add Csi2Bus resource template
ACPI 6.4: add support for PHAT table
ACPI 6.4: add support for PMTT table
Add disassembly support for the IVRS table. Compilation of the
table is not yet complete. Fixed a potential infinite loop due to
type mismatch. The for-loop is using a UINT8 counter and comparing
the upper limit against a UINT32 AslGbl_ExpectedMessagesIndex
maximum. In the case where AslGbl_ExpectedMessagesIndex is > 255
the counter i will wrap around to zero and the loop will never
exit. I suspect the AslGbl_ExpectedMessagesIndex is never that
high, but fixing this does future proof the code and cleans up
static analysis warnings.Colin King.

iASL/TableCompiler: update it with IORT table E.b revision changes.
From shamiali2008.
iASL/TableCompiler: Add compilation support for the VIOT table.
Signed-off-by: Jean-Philippe Brucker.
iASL/TableCompiler: Add compilation support for CEDT table.
Also, update the CEDT template.
 1.1.1.20  27-Nov-2020  christos branches: 1.1.1.20.2;
13 November 2020. Summary of changes for version 20201113:

This release is available at https://acpica.org/downloads

1) ACPICA kernel-resident subsystem:

Interpreter: fixed a memory leak by using use existing buffer in
_HID repair. There was a memory leak that occurred when a _CID
object is defined as a package containing string objects. When _CID
is checked for any possible repairs, it calls a helper function to
repair _HID (because _CID basically contains multiple _HID entries).
The _HID repair function assumes that string objects are standalone
objects that are not contained inside of any packages. The _HID
repair function replaced the string object with a brand new object
and attempted to delete the old object by decrementing the reference
count of the old object. Strings inside of packages have a reference
count of 2 so the _HID repair function leaves this object in a
dangling state and causes a memory leak. Instead of allocating a
brand new object and removing the old object, use the existing
object when repairing the _HID object.

Added function trace macros to improve namespace debugging. The
namespace repair mechanism does not have function tracing macros.
Add several trace macros to improve debuggability.

Handle "orphan" _REG methods for GPIO OpRegions. Before this change
AcpiEvExecuteRegMethods() had special handling to handle "orphan"
(no matching OpRegion declared) _REG methods for EC nodes. On Intel
Cherry Trail devices there are 2 possible ACPI OpRegions for
accessing GPIOs. The standard GeneralPurposeIo OpRegion and the
Cherry Trail - specific UserDefined 0x9X OpRegions. Having 2
different types of OpRegions leads to potential issues with checks
for OpRegion availability, or in other words checks if _REG has
been called for the OpRegion which the ACPI code wants to use.
Except for the "orphan" EC handling, ACPICA core does not call _REG
on an ACPI node which does not define an OpRegion matching the type
being registered; and the reference design DSDT, from which most
Cherry Trail DSDTs are derived, does not define GeneralPurposeIo,
nor UserDefined(0x93) OpRegions for the GPO2 (UID 3) device, because
no pins were assigned ACPI controlled functions in the reference
design. Together this leads to the perfect storm, at least on the
Cherry Trail based Medion Akayo E1239T. This design does use a GPO2
pin from its ACPI code and has added the Cherry Trail specific
UserDefined(0x93) opregion to its GPO2 ACPI node to access this
pin. But it uses a "has _REG been called" availability check for
the standard GeneralPurposeIo OpRegion. This clearly is a bug in
the DSDT, but this does work under Windows. This issue leads to
the intel vbtn driver reporting the device always being in tablet-mode
at boot, even if it is in laptop mode. Which in turn causes userspace
to ignore touchpad events. So in other words, this issue causes
the touchpad to not work at boot. This change fixes this by extending
the "orphan" _REG method handling to also apply to GPIO address-space
handlers.

2) iASL Compiler/Disassembler and ACPICA tools:

iASL: Added more info to namespace dump file (-ln option). In a
separate section of the dump file (after the main namespace dump),
emit the full pathname for each namespace node, its type, and the
ASL filename and line number where it is declared.

AcpiHelp: Added an option to display/decode iASL exceptions. Option
is: -x [Hex Value] where "Hex Value" is the iASL exception code.
If Hex Value is omitted, all iASL exceptions are displayed.

iASL: Use StringLiteral instead of StringData for some ASL macros.
The use of the stringData rule allows for some "string" oriented
opcodes (Such as ToString, ToHexString, etc.) None of which make
sense with the macros in question. This change modifies the StringData
part of the rule for these macros to a simple string literal - thus
disallowing the use of ToString, ToHexString, etc. The following
ASL operators (macros) are affected: EisaId Fprintf Printf ToUuid
Unicode Note: The MS compiler requires the use of string literals
for these operators also.

iASL: Added a remark for an unknown UUID: ASL_MSG_UUID_NOT_FOUND.
Search the list of "known" UUIDs for the input to the ToUUID macro.

Added 5 new UUIDs to the known UUID table. All related to NVDIMM
and the NFIT table.
 1.1.1.19  25-May-2020  christos branches: 1.1.1.19.2;
30 April 2020. Summary of changes for version 20200430:


1) ACPICA kernel-resident subsystem:

Cleaned up the coding style of a couple of global variables
(AcpiGbl_NextCmdNum and AcpiProtocolLengths) caught by static analyzers.
AcpiProtocolLengths was made static, and the definition of
AcpiGbl_NextCmdNum was moved to acglobal.h.


2) iASL Compiler/Disassembler and ACPICA tools:

iASL DataTable Compiler: Fixed a segfault on errors that aren't directly
associated with a field.

Disassembler: has been made more resilient so that it will continue to
parse AML even if the AML generates ACPI namespace errors. This enables
iASL to disassemble some AML that may have been compiled using older
versions of iASL that no longer compile with newer versions of iASL.

iASL: Fixed the required parameters for _NIH and _NIG. Previously, there
was a mixup where _NIG required one parameter and _NIH required zero
parameters. This change swaps these parameter requirements. Now it is
required that _NIH must be called with one parameter and _NIG requires
zero parameters.

iASL: Allow use of undefined externals as long as they are protected by
an if (CondRefOf (...)) block when compiling multiple definition blocks.

iASL: Fixed the type override behavior of named objects that are declared
as External. External declarations will no longer override the type of
the actual definition if it already exists.

AcpiNames: Added setargv.obj to the MSVC 2017 link sequence to enable
command line wildcard support on Windows. Note: the AcpiNames utility is
essentially redundant with the AcpiExec utility (using the "namespace"
command) and is therefore deprecated. It will be removed in future
releases of ACPICA.

Disassembler: ignore AE_ALREADY_EXISTS status when parsing create*
operators. The disassembler is intended to emit existing ASL code as-is.
Therefore, error messages emitted during disassembly should be ignored or
handled in a way such that the disassembler can continue to parse the
AML. This change ignores AE_ALREADY_EXISTS errors during the deferred Op
parsing for create operators in order to complete parsing ASL termlists.

iASL DataTable Compiler: IVRS table: fix potentially uninitialized
variable warning. Some compilers catch potential uninitialized variables.
This is done by examining branches of if/else statements. This change
replaces an "else if" with an "else" to fix the uninitialized variable
warning.
 1.1.1.18  28-Mar-2020  christos 
 1.1.1.17  14-Dec-2019  christos 
 1.1.1.16  15-Oct-2019  christos 
 1.1.1.15  29-Apr-2019  christos 
 1.1.1.14  05-Jan-2019  christos 13 December 2018. Summary of changes for version 20181213:

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

Examples:
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
https://docs.microsoft.com/en-us/windows-hardware/drivers/acpi/winacpi-
osi.
"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".
 1.1.1.13  18-Aug-2018  christos 
 1.1.1.12  04-May-2018  christos branches: 1.1.1.12.2;
 1.1.1.11  07-Apr-2018  christos 
 1.1.1.10  12-Nov-2017  christos branches: 1.1.1.10.2;
 1.1.1.9  15-Sep-2017  christos 
 1.1.1.8  25-Jan-2017  christos One more time in the right place...
 1.1.1.7  09-Jan-2016  christos branches: 1.1.1.7.2; 1.1.1.7.4;
import new acpica:
 1.1.1.6  18-Aug-2015  christos 
 1.1.1.5  13-Apr-2015  christos 
 1.1.1.4  25-Oct-2014  christos branches: 1.1.1.4.2;
 1.1.1.3  27-Dec-2013  christos import new acpica
 1.1.1.2  28-Jun-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.12; 1.1.1.2.16;
Import ACPICA 20110623.

Selected changes since 20110211 include, among other things, fixes to _PRW
parsing, fix to a regression with the Load() operator, improvements in NULL
package element removal, support for "spurious" global lock interrupts,
execution of orphaned _REG methods under acpiec(4), and smaller iasl(8)
improvements.
 1.1.1.1  17-Feb-2011  jruoho branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8;
Import 20110211.
 1.1.1.25.6.1  02-Aug-2025  perseant Sync with HEAD
 1.1.1.21.2.1  01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.20.2.1  03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.19.2.2  03-Apr-2021  thorpej Sync with HEAD.
 1.1.1.19.2.1  14-Dec-2020  thorpej Sync w/ HEAD.
 1.1.1.12.2.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.1.12.2.1  10-Jun-2019  christos Sync with HEAD
 1.1.1.10.2.4  18-Jan-2019  pgoyette Synch with HEAD
 1.1.1.10.2.3  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.1.10.2.2  21-May-2018  pgoyette Sync with HEAD
 1.1.1.10.2.1  16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.1.1.7.4.1  21-Apr-2017  bouyer Sync with HEAD
 1.1.1.7.2.1  20-Mar-2017  pgoyette Sync with HEAD
 1.1.1.4.2.4  05-Feb-2017  skrll Sync with HEAD
 1.1.1.4.2.3  19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.2.2  22-Sep-2015  skrll Sync with HEAD
 1.1.1.4.2.1  06-Jun-2015  skrll Sync with HEAD
 1.1.1.2.16.1  18-May-2014  rmind sync with head
 1.1.1.2.12.2  03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.12.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.2.1  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.8.2  06-Jun-2011  jruoho Sync with HEAD.
 1.1.1.1.8.1  17-Feb-2011  jruoho file aslmessages.h was added on branch jruoho-x86intr on 2011-06-06 09:08:50 +0000
 1.1.1.1.4.2  05-Mar-2011  rmind sync with head
 1.1.1.1.4.1  17-Feb-2011  rmind file aslmessages.h was added on branch rmind-uvmplock on 2011-03-05 20:54:24 +0000
 1.1.1.1.2.2  17-Feb-2011  bouyer Sync with HEAD
 1.1.1.1.2.1  17-Feb-2011  bouyer file aslmessages.h was added on branch bouyer-quota2 on 2011-02-17 12:00:19 +0000

RSS XML Feed