Home | History | Annotate | Download | only in compiler
History log of /src/sys/external/bsd/acpica/dist/compiler/aslcompiler.h
RevisionDateAuthorComments
 1.24  24-Aug-2025  christos merge our changes into 20250807
 1.23  24-Feb-2025  christos merge conflicts between 2024-08-27 and 2024-12-12
 1.22  13-Sep-2024  christos Merge conflicts between 20230628 and 20240827
 1.21  01-Sep-2023  christos branches: 1.21.6;
merge conflicts between 20230628 and 20221020
 1.20  27-Aug-2022  christos merge conflicts between acpica-20211217 and acpica-20220331
 1.19  06-Jul-2021  christos merge changes for acpica-20210604
 1.18  03-Apr-2021  christos branches: 1.18.2;
Merge local changes with acpica-20210331
 1.17  18-Nov-2020  rin branches: 1.17.2;
Adjust blank line & white space to slightly reduce diff from upstream.
No binary changes.
 1.16  28-Mar-2020  christos branches: 1.16.4;
merge conflicts
 1.15  15-Oct-2019  christos merge conflicts
 1.14  29-Apr-2019  christos merge conflicts
 1.13  05-Jan-2019  christos - merge conflicts
- change default debug level to normal; the evaluation trace is too noisy
 1.12  05-May-2018  christos branches: 1.12.2;
merge acpica 20180427
 1.11  07-Apr-2018  christos Merge conflicts; STA methods and fields are not present anymore.
 1.10  12-Nov-2017  christos branches: 1.10.2;
merge conflicts
 1.9  15-Sep-2017  christos merge conflicts
 1.8  30-Apr-2017  christos merge conflicts
 1.7  25-Jan-2017  christos branches: 1.7.4;
merge conflicts
 1.6  11-Nov-2016  christos branches: 1.6.2;
Adjust to new acpica
 1.5  04-May-2016  christos branches: 1.5.2;
merge new acpica
 1.4  09-Jan-2016  christos merge new acpica
 1.3  18-Aug-2015  christos merge conflicts
 1.2  09-May-2015  christos CID 1256503: Handle memory leak
 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  13-Sep-2024  christos Import acpica-20240827 (previous was acpica-20230628)
 1.1.1.24  01-Sep-2023  christos Import acpica-20230628 (last was 20221020)
 1.1.1.23  27-Aug-2022  christos Import acpica-2022-03-31
 1.1.1.22  06-Jul-2021  christos Import acpica-20210604
 1.1.1.21  03-Apr-2021  christos 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  28-Mar-2020  christos 
 1.1.1.19  15-Oct-2019  christos 
 1.1.1.18  29-Apr-2019  christos 
 1.1.1.17  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.16  04-May-2018  christos 
 1.1.1.15  07-Apr-2018  christos 
 1.1.1.14  12-Nov-2017  christos 
 1.1.1.13  15-Sep-2017  christos 
 1.1.1.12  30-Apr-2017  christos 
 1.1.1.11  25-Jan-2017  christos One more time in the right place...
 1.1.1.10  11-Nov-2016  christos Import acpica-20160930:
 1.1.1.9  04-May-2016  christos 22 April 2016. Summary of changes for version 20160422:

1) ACPICA kernel-resident subsystem:

Fixed a regression in the GAS (generic address structure) arbitrary bit
support in AcpiHwRead/AcpiHwWrite. Problem could cause incorrect behavior
and incorrect return values. Lv Zheng. ACPICA BZ 1270.

ACPI 6.0: Added support for new/renamed resource macros. One new argument
was added to each of these macros, and the original name has been
deprecated. The AML disassembler will always disassemble to the new
names. Support for the new macros was added to iASL, disassembler,
resource manager, and the acpihelp utility. ACPICA BZ 1274.

I2cSerialBus -> I2cSerialBusV2
SpiSerialBus -> SpiSerialBusV2
UartSerialBus -> UartSerialBusV2

ACPI 6.0: Added support for a new integer field that was appended to the
package object returned by the _BIX method. This adds iASL compile-time
and AML runtime error checking. ACPICA BZ 1273.

ACPI 6.1: Added support for a new PCCT subtable, "HW-Reduced Comm
Subspace Type2" (Headers, Disassembler, and data table compiler).

Example Code and Data Size: These are the sizes for the OS-independent
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
debug version of the code includes the debug output trace mechanism and
has a much larger code and data size.

Current Release:
Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total
Debug Version: 201.5K Code, 82.2K Data, 283.7K Total
Previous Release:
Non-Debug Version: 137.1K Code, 51.5K Data, 188.6K Total
Debug Version: 201.0K Code, 82.0K Data, 283.0K Total


2) iASL Compiler/Disassembler and Tools:

iASL: Implemented an ASL grammar extension to allow/enable executable
"module-level code" to be created and executed under the various
operators that create new scopes. This type of AML code is already
supported in all known AML interpreters, and the grammar change will
appear in the next version of the ACPI specification. Simplifies the
conditional runtime creation of named objects under these object types:

Device
PowerResource
Processor
Scope
ThermalZone

iASL: Implemented a new ASL extension, a "For" loop macro to add greater
ease-of-use to the ASL language. The syntax is similar to the
corresponding C operator, and is implemented with the existing AML While
opcode -- thus requiring no changes to existing AML interpreters.

For (Initialize, Predicate, Update) {TermList}

Grammar:
ForTerm :=
For (
Initializer // Nothing | TermArg => ComputationalData
Predicate // Nothing | TermArg => ComputationalData
Update // Nothing | TermArg => ComputationalData
) {TermList}


iASL: The _HID/_ADR detection and validation has been enhanced to search
under conditionals in order to allow these objects to be conditionally
created at runtime.

iASL: Fixed several issues with the constant folding feature. The
improvement allows better detection and resolution of statements that can
be folded at compile time. ACPICA BZ 1266.

iASL/Disassembler: Fixed a couple issues with the Else{If{}...}
conversion to the ASL ElseIf operator where incorrect ASL code could be
generated.

iASL/Disassembler: Fixed a problem with the ASL+ code disassembly where
sometimes an extra (and extraneous) set of parentheses were emitted for
some combinations of operators. Although this did not cause any problems
with recompilation of the disassembled code, it made the code more
difficult to read. David Box. ACPICA BZ 1231.

iASL: Changed to ignore the unreferenced detection for predefined names
of resource descriptor elements, when the resource descriptor is
created/defined within a control method.

iASL: Disassembler: Fix a possible fault with externally declared Buffer
objects.
 1.1.1.8  09-Jan-2016  christos import new acpica:
 1.1.1.7  18-Aug-2015  christos 
 1.1.1.6  13-Apr-2015  christos 
 1.1.1.5  25-Oct-2014  christos branches: 1.1.1.5.2;
 1.1.1.4  27-Dec-2013  christos import new acpica
 1.1.1.3  28-Jun-2011  jruoho branches: 1.1.1.3.2; 1.1.1.3.12; 1.1.1.3.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.2  17-Feb-2011  jruoho branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import 20110211.
 1.1.1.1  17-Feb-2011  jruoho Reimport ACPICA 20100528 to a new location.
 1.1.1.5.2.7  28-Aug-2017  skrll Sync with HEAD
 1.1.1.5.2.6  05-Feb-2017  skrll Sync with HEAD
 1.1.1.5.2.5  05-Dec-2016  skrll Sync with HEAD
 1.1.1.5.2.4  29-May-2016  skrll Sync with HEAD
 1.1.1.5.2.3  19-Mar-2016  skrll Sync with HEAD
 1.1.1.5.2.2  22-Sep-2015  skrll Sync with HEAD
 1.1.1.5.2.1  06-Jun-2015  skrll Sync with HEAD
 1.1.1.3.16.1  18-May-2014  rmind sync with head
 1.1.1.3.12.2  03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.12.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.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.2.8.2  06-Jun-2011  jruoho Sync with HEAD.
 1.1.1.2.8.1  17-Feb-2011  jruoho file aslcompiler.h was added on branch jruoho-x86intr on 2011-06-06 09:08:49 +0000
 1.1.1.2.4.2  05-Mar-2011  rmind sync with head
 1.1.1.2.4.1  17-Feb-2011  rmind file aslcompiler.h was added on branch rmind-uvmplock on 2011-03-05 20:54:23 +0000
 1.1.1.2.2.2  17-Feb-2011  bouyer Sync with HEAD
 1.1.1.2.2.1  17-Feb-2011  bouyer file aslcompiler.h was added on branch bouyer-quota2 on 2011-02-17 12:00:18 +0000
 1.5.2.2  20-Mar-2017  pgoyette Sync with HEAD
 1.5.2.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.6.2.1  21-Apr-2017  bouyer Sync with HEAD
 1.7.4.1  02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.10.2.3  18-Jan-2019  pgoyette Synch with HEAD
 1.10.2.2  21-May-2018  pgoyette Sync with HEAD
 1.10.2.1  16-Apr-2018  pgoyette Sync with HEAD, resolve some conflicts
 1.12.2.3  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.12.2.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.12.2.1  10-Jun-2019  christos Sync with HEAD
 1.16.4.2  03-Apr-2021  thorpej Sync with HEAD.
 1.16.4.1  14-Dec-2020  thorpej Sync w/ HEAD.
 1.17.2.1  03-Apr-2021  thorpej Sync with HEAD.
 1.18.2.1  01-Aug-2021  thorpej Sync with HEAD.
 1.21.6.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed